/Deep_Learning_Specialization

Source codes of HW assignment in Coursera Deep Learning Specialization

Primary LanguageJupyter Notebook

Deep Learning Specialization on Coursera

course link: https://www.coursera.org/specializations/deep-learning

This is my personal source codes for the homework assignments. During the process of solving these assignments, I had lots of fun. I strongly recommend anyone who is interested in AI to take this specialization.

Lecturer: Andrew Ng, DeepLearning.ai

Below I just briefly describe what I have learned from this specialization.

Course1: Neural Networks and Deep Learning

Firstly starting from single neuron to do logistic regression, and then the lecturer went further into Deep Nerual Network. In the meantime, the professor introduced Computation Graph. I believe it is a very important basic concept since it specified forward path and backward path clearly, and thereby showing how gradients are updated. Finally, the lecturer made comparison between shallow network and deep network, and then gave intuition about why deep network work better.

Course2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

Firstly illustrating the problem of overfitting, and then the lecturer introduced a normalization skill called Dropout. The weights also needed to be initialized properly according to the activation function each neuron adopted. When the course went to the Optimization part, the professor introduced two crucial optimization algorithm, RMSprop and Adam, respectively. Finally, the speeker demoed the usage of Tensorflow. The amazing feature of the open-sourced library is that it will automatically compute each derivatives on the backward path once the architecture of network is specified.

Course3: Structuring Machine Learning Projects

This course provided guidance about how to build machine learning system. Firstly, the lecturer compared three different error statement, ML-Level, Human-Level and Bayes Optimal Error. Next, the efficient way was to build your system quickly, and then iterated. During the process, you must carry Error Analysis. Sometimes the error might come from mismatched training and dev/test set. Finally, the exciting topics included Transfer Learning, Multi-Task Learning and End-to-End Deep Learning.

Course4: Convolutional Neural Networks

This course gave me spectacularly retrospective experience. That was, I time-travaled through each milestones of CNNs, which were Lenet-5, AlexNet, VGG, ResNet and InceptionNet, chronologically. Next, the lecturer introduced YOLO, a efficient algorithm for object detection since it only look once on each grid in the image. Finally, the interesting topics, Face Recognition and Neural Style Transfer, were present.

Course5: Sequence Models

Firstly, the lecturer stated different architectures between RNN, Bidirectional RNN and LSTM. Next, he illustated a magnificent word representation skill called Word Embeddings, which allowed the performance of NLP-related application improved by a large degree. When the journey came to Sequence to Sequence architectures, the professor introduced a very efficient search algorithm called Beam Search. Finally, the interesting topics involved Attention Model and Speech Recognition.