Just some AI problems to learn about neural networks.
The overall philosophy of this bootcamp is to build up pieces manually before I get to abstract them, meaning I will start with understanding then implementing mathematical foundations before adding them to my toolkit.
- micrograd.ipynb
- Manual graph traversal and backpropogation
- Neuron unit
- jax_xor.ipynb
- The first neural network. Solves the xor problem
- Matrix multiplications of MLP
- Manual data loader and training loop: full batching and SGD
- Mean squared error
- jax_mnist.ipynb
- Abstracted data loader
- Abstracted optimizer: optax
- Softmax_cross_entropy loss
- jax_imdb_sentiment.ipynb
- word embeddings
- Sigmoid_binary_cross_entropy loss
- Global Average pooling
- keras_mnist.ipynb
- Keras abstraction
- keras imdb_mlp.ipynb
- Functions api and subclassing
- Pre-trained models
- Validation loss, early stopping
- Dropout layers
- keras_imdb_rnn.ipynb
- Recurrent Neural Networks
- Long Short Term Memory
- keras_imdb_encoder.ipynb
- Multi-head attention
- Encoder block
- keras_english_spanish.ipynb
- Decoder block, full transformer
- Causal and padding masks
- fashion_mnist_cnn.ipynb
- Convolution layers
- Batch normalization
- cifar10_cnn.ipynb
- Data augmentation
- Resnet
- Transfer learning
- pytorch_gpt2.ipynb
- Decoder only transformers
- Pytorch abstractions
- Hugging Face datasets + tokenizers
- Running remotely on HPC
- cifar100_cnn.ipynb
- tensorboard: visualizing metrics
- distributing training
- evoformer.ipynb
- Flax NNX / Jax again
- Einstein Sumnation Notation
- Gated Multi-head Attention
- Axial Attention
- Triangle Attention