readme.md 10.9 KB
Newer Older
V
Varuna Jayasiri 已提交
1
[![Twitter](https://img.shields.io/twitter/follow/labmlai?style=social)](https://twitter.com/labmlai)
V
Varuna Jayasiri 已提交
2

A
Aarsh Chaube 已提交
3
# [labml.ai Deep Learning Paper Implementations](https://nn.labml.ai/index.html)
V
readme  
Varuna Jayasiri 已提交
4

V
Varuna Jayasiri 已提交
5 6 7
This is a collection of simple PyTorch implementations of
neural networks and related algorithms.
These implementations are documented with explanations,
V
Varuna Jayasiri 已提交
8

V
urls  
Varuna Jayasiri 已提交
9
[The website](https://nn.labml.ai/index.html)
V
Varuna Jayasiri 已提交
10 11 12
renders these as side-by-side formatted notes.
We believe these would help you understand these algorithms better.

V
light  
Varuna Jayasiri 已提交
13
![Screenshot](https://nn.labml.ai/dqn-light.png)
V
Varuna Jayasiri 已提交
14

V
Varuna Jayasiri 已提交
15 16
We are actively maintaining this repo and adding new 
implementations almost weekly.
V
Varuna Jayasiri 已提交
17
[![Twitter](https://img.shields.io/twitter/follow/labmlai?style=social)](https://twitter.com/labmlai) for updates.
V
Varuna Jayasiri 已提交
18

V
Varuna Jayasiri 已提交
19
## Paper Implementations
V
readme  
Varuna Jayasiri 已提交
20

V
urls  
Varuna Jayasiri 已提交
21
#### ✨ [Transformers](https://nn.labml.ai/transformers/index.html)
V
readme  
Varuna Jayasiri 已提交
22

V
links  
Varuna Jayasiri 已提交
23 24
* [Multi-headed attention](https://nn.labml.ai/transformers/mha.html)
* [Transformer building blocks](https://nn.labml.ai/transformers/models.html) 
V
Varuna Jayasiri 已提交
25 26
* [Transformer XL](https://nn.labml.ai/transformers/xl/index.html)
    * [Relative multi-headed attention](https://nn.labml.ai/transformers/xl/relative_mha.html)
V
Varuna Jayasiri 已提交
27
* [Rotary Positional Embeddings](https://nn.labml.ai/transformers/rope/index.html)
V
Varuna Jayasiri 已提交
28
* [Attention with Linear Biases (ALiBi)](https://nn.labml.ai/transformers/alibi/index.html)
V
links  
Varuna Jayasiri 已提交
29
* [RETRO](https://nn.labml.ai/transformers/retro/index.html)
V
Varuna Jayasiri 已提交
30
* [Compressive Transformer](https://nn.labml.ai/transformers/compressive/index.html)
V
urls  
Varuna Jayasiri 已提交
31 32 33 34 35
* [GPT Architecture](https://nn.labml.ai/transformers/gpt/index.html)
* [GLU Variants](https://nn.labml.ai/transformers/glu_variants/simple.html)
* [kNN-LM: Generalization through Memorization](https://nn.labml.ai/transformers/knn)
* [Feedback Transformer](https://nn.labml.ai/transformers/feedback/index.html)
* [Switch Transformer](https://nn.labml.ai/transformers/switch/index.html)
V
readme  
Varuna Jayasiri 已提交
36
* [Fast Weights Transformer](https://nn.labml.ai/transformers/fast_weights/index.html)
V
Varuna Jayasiri 已提交
37
* [FNet](https://nn.labml.ai/transformers/fnet/index.html)
V
Varuna Jayasiri 已提交
38
* [Attention Free Transformer](https://nn.labml.ai/transformers/aft/index.html)
V
Varuna Jayasiri 已提交
39
* [Masked Language Model](https://nn.labml.ai/transformers/mlm/index.html)
V
Varuna Jayasiri 已提交
40
* [MLP-Mixer: An all-MLP Architecture for Vision](https://nn.labml.ai/transformers/mlp_mixer/index.html)
V
Varuna Jayasiri 已提交
41
* [Pay Attention to MLPs (gMLP)](https://nn.labml.ai/transformers/gmlp/index.html)
V
vit  
Varuna Jayasiri 已提交
42
* [Vision Transformer (ViT)](https://nn.labml.ai/transformers/vit/index.html)
V
Varuna Jayasiri 已提交
43
* [Primer EZ](https://nn.labml.ai/transformers/primer_ez/index.html)
V
url fix  
Varuna Jayasiri 已提交
44
* [Hourglass](https://nn.labml.ai/transformers/hour_glass/index.html)
V
Varuna Jayasiri 已提交
45

V
urls  
Varuna Jayasiri 已提交
46
#### ✨ [Recurrent Highway Networks](https://nn.labml.ai/recurrent_highway_networks/index.html)
V
readme  
Varuna Jayasiri 已提交
47

V
urls  
Varuna Jayasiri 已提交
48
#### ✨ [LSTM](https://nn.labml.ai/lstm/index.html)
V
readme  
Varuna Jayasiri 已提交
49

V
urls  
Varuna Jayasiri 已提交
50
#### ✨ [HyperNetworks - HyperLSTM](https://nn.labml.ai/hypernetworks/hyper_lstm.html)
V
Varuna Jayasiri 已提交
51

V
readme  
Varuna Jayasiri 已提交
52 53
#### ✨ [ResNet](https://nn.labml.ai/resnet/index.html)

V
Varuna Jayasiri 已提交
54 55
#### ✨ [ConvMixer](https://nn.labml.ai/conv_mixer/index.html)

V
urls  
Varuna Jayasiri 已提交
56
#### ✨ [Capsule Networks](https://nn.labml.ai/capsule_networks/index.html)
V
readme  
Varuna Jayasiri 已提交
57

V
urls  
Varuna Jayasiri 已提交
58
#### ✨ [Generative Adversarial Networks](https://nn.labml.ai/gan/index.html)
V
readme  
Varuna Jayasiri 已提交
59 60 61 62
* [Original GAN](https://nn.labml.ai/gan/original/index.html)
* [GAN with deep convolutional network](https://nn.labml.ai/gan/dcgan/index.html)
* [Cycle GAN](https://nn.labml.ai/gan/cycle_gan/index.html)
* [Wasserstein GAN](https://nn.labml.ai/gan/wasserstein/index.html)
V
Varuna Jayasiri 已提交
63
* [Wasserstein GAN with Gradient Penalty](https://nn.labml.ai/gan/wasserstein/gradient_penalty/index.html)
V
Varuna Jayasiri 已提交
64
* [StyleGAN 2](https://nn.labml.ai/gan/stylegan/index.html)
V
readme  
Varuna Jayasiri 已提交
65

66 67 68 69 70
#### ✨ [Diffusion models](https://nn.labml.ai/diffusion/index.html)

* [Denoising Diffusion Probabilistic Models (DDPM)](https://nn.labml.ai/diffusion/ddpm/index.html)


V
urls  
Varuna Jayasiri 已提交
71
#### ✨ [Sketch RNN](https://nn.labml.ai/sketch_rnn/index.html)
V
Varuna Jayasiri 已提交
72

V
Varuna Jayasiri 已提交
73 74 75
#### ✨ Graph Neural Networks

* [Graph Attention Networks (GAT)](https://nn.labml.ai/graphs/gat/index.html)
V
Varuna Jayasiri 已提交
76
* [Graph Attention Networks v2 (GATv2)](https://nn.labml.ai/graphs/gatv2/index.html)
V
Varuna Jayasiri 已提交
77

V
links  
Varuna Jayasiri 已提交
78 79 80 81 82 83
#### ✨ [Counterfactual Regret Minimization (CFR)](https://nn.labml.ai/cfr/index.html)

Solving games with incomplete information such as poker with CFR.

* [Kuhn Poker](https://nn.labml.ai/cfr/kuhn/index.html)

V
urls  
Varuna Jayasiri 已提交
84 85 86 87 88 89
#### ✨ [Reinforcement Learning](https://nn.labml.ai/rl/index.html)
* [Proximal Policy Optimization](https://nn.labml.ai/rl/ppo/index.html) with
 [Generalized Advantage Estimation](https://nn.labml.ai/rl/ppo/gae.html)
* [Deep Q Networks](https://nn.labml.ai/rl/dqn/index.html) with
 with [Dueling Network](https://nn.labml.ai/rl/dqn/model.html),
 [Prioritized Replay](https://nn.labml.ai/rl/dqn/replay_buffer.html)
V
readme  
Varuna Jayasiri 已提交
90
 and Double Q Network.
V
Varuna Jayasiri 已提交
91

V
urls  
Varuna Jayasiri 已提交
92 93 94 95 96 97 98
#### ✨ [Optimizers](https://nn.labml.ai/optimizers/index.html)
* [Adam](https://nn.labml.ai/optimizers/adam.html)
* [AMSGrad](https://nn.labml.ai/optimizers/amsgrad.html)
* [Adam Optimizer with warmup](https://nn.labml.ai/optimizers/adam_warmup.html)
* [Noam Optimizer](https://nn.labml.ai/optimizers/noam.html)
* [Rectified Adam Optimizer](https://nn.labml.ai/optimizers/radam.html)
* [AdaBelief Optimizer](https://nn.labml.ai/optimizers/ada_belief.html)
V
Varuna Jayasiri 已提交
99

V
links  
Varuna Jayasiri 已提交
100 101
#### ✨ [Normalization Layers](https://nn.labml.ai/normalization/index.html)
* [Batch Normalization](https://nn.labml.ai/normalization/batch_norm/index.html)
V
Varuna Jayasiri 已提交
102
* [Layer Normalization](https://nn.labml.ai/normalization/layer_norm/index.html)
V
Varuna Jayasiri 已提交
103 104
* [Instance Normalization](https://nn.labml.ai/normalization/instance_norm/index.html)
* [Group Normalization](https://nn.labml.ai/normalization/group_norm/index.html)
V
links  
Varuna Jayasiri 已提交
105
* [Weight Standardization](https://nn.labml.ai/normalization/weight_standardization/index.html)
V
Varuna Jayasiri 已提交
106
* [Batch-Channel Normalization](https://nn.labml.ai/normalization/batch_channel_norm/index.html)
V
Varuna Jayasiri 已提交
107
* [DeepNorm](https://nn.labml.ai/normalization/deep_norm/index.html)
V
links  
Varuna Jayasiri 已提交
108

V
Varuna Jayasiri 已提交
109 110
#### ✨ [Distillation](https://nn.labml.ai/distillation/index.html)

V
Varuna Jayasiri 已提交
111 112 113 114
#### ✨ [Adaptive Computation](https://nn.labml.ai/adaptive_computation/index.html)

* [PonderNet](https://nn.labml.ai/adaptive_computation/ponder_net/index.html)

115 116 117 118
#### ✨ [Uncertainty](https://nn.labml.ai/uncertainty/index.html)

* [Evidential Deep Learning to Quantify Classification Uncertainty](https://nn.labml.ai/uncertainty/evidence/index.html)

V
Varuna Jayasiri 已提交
119 120 121 122 123
#### ✨ [Activations](https://nn.labml.ai/activations/index.html)

* [Fuzzy Tiling Activations](https://nn.labml.ai/activations/fta/index.html)


V
Varuna Jayasiri 已提交
124 125
## Highlighted Research Paper PDFs

V
Varuna Jayasiri 已提交
126
* [FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2205.14135.pdf)
V
Varuna Jayasiri 已提交
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
* [Autoregressive Search Engines: Generating Substrings as Document Identifiers](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2204.10628.pdf)
* [Training Compute-Optimal Large Language Models](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2203.15556.pdf)
* [ZeRO: Memory Optimizations Toward Training Trillion Parameter Models](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/1910.02054.pdf)
* [PaLM: Scaling Language Modeling with Pathways](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2204.02311.pdf)
* [Hierarchical Text-Conditional Image Generation with CLIP Latents](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/dall-e-2.pdf)
* [STaR: Self-Taught Reasoner Bootstrapping Reasoning With Reasoning](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2203.14465.pdf)
* [Improving language models by retrieving from trillions of tokens](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2112.04426.pdf)
* [NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2003.08934.pdf)
* [Attention Is All You Need](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/1706.03762.pdf)
* [Denoising Diffusion Probabilistic Models](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2006.11239.pdf)
* [Primer: Searching for Efficient Transformers for Language Modeling](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2109.08668.pdf)
* [On First-Order Meta-Learning Algorithms](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/1803.02999.pdf)
* [Learning Transferable Visual Models From Natural Language Supervision](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2103.00020.pdf)
* [The Sensory Neuron as a Transformer: Permutation-Invariant Neural Networks for Reinforcement Learning](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/2109.02869.pdf)
* [Meta-Gradient Reinforcement Learning](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/1805.09801.pdf)
* [ETA Prediction with Graph Neural Networks in Google Maps](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/google_maps_eta.pdf)
* [PonderNet: Learning to Ponder](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/ponder_net.pdf)
* [Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/muzero.pdf)
* [GANs N’ Roses: Stable, Controllable, Diverse Image to Image Translation (works for videos too!)](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/gans_n_roses.pdf)
* [An Image is Worth 16X16 Word: Transformers for Image Recognition at Scale](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/vit.pdf)
* [Deep Residual Learning for Image Recognition](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/resnet.pdf)
* [Distilling the Knowledge in a Neural Network](https://github.com/labmlai/annotated_deep_learning_paper_implementations/blob/master/papers/distillation.pdf)

V
readme  
Varuna Jayasiri 已提交
150 151 152
### Installation

```bash
V
Varuna Jayasiri 已提交
153
pip install labml-nn
V
readme  
Varuna Jayasiri 已提交
154 155
```

V
Varuna Jayasiri 已提交
156
### Citing
V
readme  
Varuna Jayasiri 已提交
157

V
Varuna Jayasiri 已提交
158
If you use this for academic research, please cite it using the following BibTeX entry.
V
readme  
Varuna Jayasiri 已提交
159 160 161 162

```bibtex
@misc{labml,
 author = {Varuna Jayasiri, Nipun Wijerathne},
V
Varuna Jayasiri 已提交
163
 title = {labml.ai Annotated Paper Implementations},
V
readme  
Varuna Jayasiri 已提交
164
 year = {2020},
V
Varuna Jayasiri 已提交
165
 url = {https://nn.labml.ai/},
V
readme  
Varuna Jayasiri 已提交
166
}
V
Varuna Jayasiri 已提交
167
```
V
links  
Varuna Jayasiri 已提交
168 169 170 171 172 173 174 175 176 177

### Other Projects

#### [🚀 Trending Research Papers](https://papers.labml.ai/)

This shows the most popular research papers on social media. It also aggregates links to useful resources like paper explanations videos and discussions.


#### [🧪 labml.ai/labml](https://github.com/labmlai/labml)

J
Jeroen Van Goey 已提交
178
This is a library that let's you monitor deep learning model training and hardware usage from your mobile phone. It also comes with a bunch of other tools to help write deep learning code efficiently.
V
links  
Varuna Jayasiri 已提交
179