Deep Learning Tutorials
Welcome to our deep-learning tutorials page. If you are just getting started with deep learning and Deeplearning4j, these tutorials will help clarify some of the concepts you will need to build neural networks. Image recognition, text processing and classification examples are provided here. Some of the examples include a written introduction along with code, while others include a screencast with voice over of the code being written. Enjoy!
Basic Neural Networks
MNIST for Beginners
MNIST is the “Hello World” of machine learning. With this tutorial, you can train on MNIST with a single-layer neural network.
View the tutorial
Just show me the code
MNIST for Experts
By applying a more complex algorithm, Lenet, to MNIST, you can achieve 99 percent accuracy. Lenet is a deep convolutional network.
Word2Vec Tutorial
Word2vec is a popular natural-language processing algorithm capable of creating neural word embeddings, which in turn can be fed into deeper neural networks.
View the tutorial
Just show me the code
Linear Classifier Tutorial
This tutorial shows you how a multilayer perceptron can be used as a linear classifier.
Video lecture by instructor Tom Hanlon on Machine Learning. Tom provides an overview of how to build a simple neural net in this introductory tutorial. This screencast shows how to build a Linear Classifier using Deeplearning4j.
XOR Tutorial
XOR is a digital logic gate that implements an exclusive or. XOR means that a true output, or an output of 1, results if one, and only one, of the inputs to the gate is true.
DataVec + Spark Tutorial
This tutorial shows how to use Skymind’s DataVec to ingest Comma Separated Values from a text file, convert the fields to numeric using a DataVec Transform Process in Spark, and save the modified data. Transforming non-numeric data to numeric data is a key preliminary step to using a Neural Network to analyze the data.
Image Pipeline Tutorial
Image Ingestion and Labelling
This tutorial is a series of videos and code examples that show a complete data pipeline.
The first example demonstrates using some of DataVec’s tools to read a directory of images and generate a label for the image using ParentPathLabelGenerator. Once the data is read and labelled the image data is scaled so that the pixel values fall between 0 and 1, instead of 0 and 255.
Adding in a Neural Network
This tutorial builds on the Image Ingestion and Labelling tutorial by taking the DataVec image pipeline and adding a Neural Network to train on the images. Topics covered include MultiLayerNetwork, DataSetIterator, Training the network, monitoring scores as the model trains.
Saving and Loading a Trained Network
Once you have a trained your network you may want to save the trained network for use in building an application. This tutorial demonstrates what is needed to save the trained model, and to load the trained model.
Testing the Trained Network against user selected images
Once your network is trained and tested it is time to deploy the network in an application. This tutorial demonstrates Loading a training model, and adding a simple interface of a filechooser to allow the user to get the models opinion on what digit the image passed in might be. In the video I test a simple Feed Forward Neural Network that has been trained on the MNist dataset of handwritten digits, against an image of the digit 3 found in a google search.
Beginners Guide to Recurrent Networks and LSTM’s
Recurrent nets are a type of artificial neural network designed to recognize patterns in sequences of data, such as text, genomes, handwriting, the spoken word, or numerical times series data emanating from sensors, stock markets and government agencies.
Long Short-Term Memory Units provide a mechanism to allow a nueral net to learn from experience to classify, process and predict time series events.
Using Recurrent Networks in DL4J
A more in depth discussion of RNN’s including configuring your code to use RNN’s in DL4J
Building a Web Application using VGG-16 for image classification
An overview of loading VGG-16, testing and deploying as a web application
IBM: Using Deeplearning4j for anomaly detection
Deeplearning4j integrated with MyRobotLab real time object recognition
More Machine Learning Tutorials
For people just getting started with deep learning, the following tutorials and videos provide an easy entrance to the fundamental ideas of deep neural networks:
- Deep Reinforcement Learning
- Deep Convolutional Networks
- Recurrent Networks and LSTMs
- Multilayer Perceptron (MLPs) for Classification
- Generative Adversarial Networks (GANs)
- Symbolic Reasoning & Deep Learning
- Using Graph Data with Deep Learning
- AI vs. Machine Learning vs. Deep Learning
- Markov Chain Monte Carlo & Machine Learning
- Restricted Boltzmann Machines
- Eigenvectors, PCA, Covariance and Entropy
- Glossary of Deep-Learning and Neural-Net Terms
- Word2vec and Natural-Language Processing
- Deeplearning4j Examples via Quickstart
- Neural Networks Demystified (A seven-video series)
- Inference: Machine Learning Model Server