In this article we will learn Deep Learning using MATLAB. The purpose of this article is to show you how to train a Deep Neural Network using MATLAB. It is easy to implement when you understand the concept properly. However, as an instructor, I always find it difficult to make students understand how it actually works. That is why I experimented with several approaches to find the best way to teach Deep Learning. My findings say explanation with animation with practical implementation is the best way to teach. Personally, I think learning without developing the ability to apply is useless. That is why I always emphasize on implementation part. Students can easily memorize things from book and cut a good figure in their exams. But when they are told to apply what they have learned, the real scenario shows up.

My main focus in this article is the practical implementation. That is why, I have touched only the essential theoretical aspects. After reading this article and following the instructions properly, you will have a concrete idea about deep neural network. And you will be able to train a deep neural network using Matlab. To learn properly, following the sequence given below is recommended. If you are already familiar with the concept, then you can directly go to section four and see how to train a deep neural network using Matlab.

Section 1: Video Lecture
Section 2: What is Deep Learning
Section 3: How Deep Learning was Improved
Section 4: Implementing a Deep Neural Network (Matlab Code)
References

The section 1 contains the video lecture. If you prefer watching videos and learn to reading, this section is better for you. In section 2 there is a quick answer to the question  – ‘What is deep learning?’. There are many readers who do not have strong background in machine learning and deep learning. However, they want have an idea about deep learning. For these types of readers, section 2 will work as a the introduction of this article and will help them to understand the implementation part. Deep learning was developed overnight. It took long time to reach to current level. How deep learning has been improved is described in section 3. If you are in rush and want to learn how to train a deep neural network as quickly as possible, you can omit section 3. Section 4 contains the implementation part. Here, I’ve explained how to train a deep neural network to recognize digits using Matlab. If you want, you can copy the Matlab codes from here.

References

[1] D. H. Ackley, G. E. Hinton, and T. J. Sejnowski, \A learning algorithm for

boltzmann machines,” Cognitive Science, vol. 9, pp. 147{169, 1985.

[2] A. Ahmed, K. Yu, W. Xu, Y. Gong, and E. P. Xing, \Training hierarchical

feed-forward visual recognition models using transfer learning from pseudo

tasks,” in Proceedings of the 10th European Conference on Computer Vision

(ECCV’08), pp. 69{82, 2008.

[3] E. L. Allgower and K. Georg, Numerical Continuation Methods. An Intro-

duction. No. 13 in Springer Series in Computational Mathematics, Springer-

Verlag, 1980.

[4] C. Andrieu, N. de Freitas, A. Doucet, and M. Jordan, \An introduction to

MCMC for machine learning,” Machine Learning, vol. 50, pp. 5{43, 2003.

[5] D. Attwell and S. B. Laughlin, \An energy budget for signaling in the grey

matter of the brain,” Journal of Cerebral Blood Flow And Metabolism, vol. 21,

  1. 1133-1145, 2001.

[6] J. A. Bagnell and D. M. Bradley, \Di_erentiable sparse coding,” in Advances

in Neural Information Processing Systems 21 (NIPS’08), (D. Koller, D. Schuurmans,

  1. Bengio, and L. Bottou, eds.), NIPS Foundation, 2009.

[7] J. Baxter, \Learning internal representations,” in Proceedings of the 8th Inter-

national Conference on Computational Learning Theory (COLT’95), pp. 311-

320, Santa Cruz, California: ACM Press, 1995.

[8] J. Baxter, \A Bayesian/information theoretic model of learning via multiple

task sampling,” Machine Learning, vol. 28, pp. 7-40, 1997.