This notebook demonstrates building deep neural network classifiers for handwritten digit classification on the MNIST dataset. Various model architectures and techniques are implemented using TensorFlow and Keras.
- Basic multi-layer perceptron (MLP) with fully connected layers
- Convolutional neural networks (CNN) with convolutional and pooling layers
- Dropout regularization and learning rate decay for improved generalizability
- Data augmentation to expand the training dataset
These models achieve over 97-99% accuracy on the MNIST test dataset, competitive with state-of-the-art results. Through accessible code examples and detailed comments, readers can understand the fundamentals of deep learning and apply these learnings to tackle their machine learning problems.
The goal is to provide a practical introductory notebook covering neural network best practices using TensorFlow and Keras, applicable for those wanting hands-on experience in deep learning for computer vision tasks. Readers should finish with an understanding of how to build, train, and evaluate complex models using the latest frameworks.
I would like to acknowledge that the initial impetus and direction for creating these deep learning models came from what I learned in Mahmood Karimian's excellent Deep Learning course at Rahnema College.
Let me know if you have any other questions!