DLDeep Learning

Deep learning is part of a broader family of machine learning methods based on artificial neural networks with representation learning. Learning can be supervised, semi-supervised or unsupervised

Deep Feed Forward Model:

This is the most modern version of the classic neural network architecture. Pass input through a series of layers into one or more output nodes. This model is great for dealing with csv datasets such as the popular Pima-Indians diabetes dataset, the iris flower dataset, etc… These models are predicated around two basic statistical models, regressions and classifiers. In these models we are trying to predict either a numeric or categorical output. Numeric output/regressions map to a real-number output such as ‘82.4’, whereas categorical output/classifications map to a discrete number output contained in a set of values such as ‘red’. If you are looking to find more inspiration for datasets, check out kaggle

Convolutional Neural Network Model:

The cutting edge architecture for Computer Vision, there are tons of ways you can apply this model. I recommend starting out with the MNIST or CIFAR-10 tutorial and then moving into binary classification models because they are easier to understand. You can plug and play with this code here to a Jupyter notebook and get your first binary image recognition model started. This example is good because it helps show you how to import your own custom datasets, one of the biggest challenges when moving from tutorials to your own projects.

  • If you don’t get the results you desire right away, try increasing the number of epochs, messing with the image sizes you are feeding the model, adding more layers, and if necessary, (this will improve performance better than anything else), add more data!
  • If you are at a more intermediate level, you should have a look at object detection algorithms such as YOLO, SSD, or even R-CNN/fast R-CNN/faster R-CNN. Object detection applications are pretty universal, for a random example: detecting lightsabers in Star Wars movies, or more commonly, faces in a webcam.
  • You can also use these models for autonomous driving applications. Wether you are interfacing with an RC car, the MIT Deep Drive challenge, or a Mario Cart game, you will likely apply a convolutional network to apply the image feedback and then pass it into a series of output decisions such as turn left/right etc. However, once you get past the image processing part, it becomes a more advanced problem since you need to use Reinforcement Learning algorithms to process the decisions that need to be made for autonomous driving.
Recurrent Neural Network Model:
  • Neural Network: Sequence models have many applications such as chatbots, price predictions, text mining, video processing, and many more. I recommend starting out with a char-level RNN to get started because it will provide a good foundation for understanding the LSTM gate. Loading stock price datasets can also be great practice. Once you have worked with text mining RNNs, it will not be too difficult to extend these concepts to chatbots. Video classification algorithms with RNNs are a little difficult for beginners since it requires first passing the images through convolutional layers and then combining this architecture with the LSTM gates.
  • GANs/Auto-encoders: Many applications of GANs are very flashy and exciting, however, I would recommend initially using them for data augmentation with your image recognition datasets. The GANs should be able to produce more images into your dataset and you can see if these images improved the classifier performance and publish your results.