deep learning tutorial - university of north carolina at...
TRANSCRIPT
Background machine learning knowledge1. Linear regression (LASSO, Ridge)2. Logistic regression3. Optimization (Gradient Descent, Stochastic mini-batch
gradient descent)
Deep Learning
Deep-learning methods are representation-learning methods with multiple levels of representation, obtained by composing simple but non-linear modules that each transform the representation at one level (starting with the raw input) into a representation at a higher, slightly more abstract level.
LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep learning." Nature 521.7553 (2015): 436-444.
A simple network with 2 layers
X1 Y
X2
w1
w2
Y = f(b + x1w1 + x2w2 )
1b
Input Layer Output Layer
Bias
Bias
Weights
Weights
Setting up Keras
- Python - Quick Tutorial:
http://deeplearning.net/software/theano/tutorial/python.html
- Numpy - Tutorial:
https://docs.scipy.org/doc/numpy-dev/user/quickstart.html
- Matlab, Numpy, R and Julia:
http://hyperpolyglot.org/numerical-analysis
- Theano (needed for keras, Tensorflow is an alternative) - Tutorial and installation: http://deeplearning.net/software/theano/
- Keras- Tutorial and installation: https://keras.io/
Demo with keras
See the tutorial_class.py:
http://www.cs.unc.edu/~tgao/tutorial_class.py
Convolution Layer
Here is a nice animation:
http://cs231n.github.io/convolutional-networks/
A demo for CNN
How convolutional neural networks see the world
VGG16 (OxfordNet)
https://blog.keras.io/how-convolutional-neural-networks-see-the-world.html
State-of-Art result
Classification dataset results
http://rodrigob.github.io/are_we_there_yet/build/classification_datasets_results.html
Recurrent Neural Network
Do not confuse with recursive neural network.
LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep learning." Nature 521.7553 (2015): 436-444.
Recurrent Neural NetworkA popular structure: LSTM (Long Short-Term Memory)
Example in Keras: Text generation
https://github.com/fchollet/keras/blob/master/examples/lstm_text_generation
.py
Kaparthy’s blog: The Unreasonable Effectiveness of Recurrent Neural
Networks
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
Awesome RNN: List of resources, papers about rnn
https://github.com/kjw0612/awesome-rnn
Combine RNN and CNN
LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep learning." Nature 521.7553 (2015): 436-444.
Dropout
Srivastava, Nitish, et al. "Dropout: a simple way to prevent neural networks from overfitting." Journal of Machine Learning Research 15.1 (2014): 1929-1958.
Denoising Auto-Encoder (DAE)
Tan, J., et al. "Unsupervised feature construction and knowledge extraction from genome-wide assays of breast cancer with denoising autoencoders."Pacific Symposium on Biocomputing. Pacific Symposium on Biocomputing. Vol. 20. NIH Public Access, 2014.
Output X
Code H
Corrupted input X
Input X
Stacked Auto-Encoder (SAE)
Min, Seonwoo, Byunghan Lee, and Sungroh Yoon. "Deep Learning in Bioinformatics." arXiv preprint arXiv:1603.06430 (2016).
Stacked Auto-Encoder (SAE)
Min, Seonwoo, Byunghan Lee, and Sungroh Yoon. "Deep Learning in Bioinformatics." arXiv preprint arXiv:1603.06430 (2016).http://cs229.stanford.edu/materials/CS229-DeepLearning.pdf
Batch Normalization
Ioffe, Sergey, and Christian Szegedy. "Batch normalization: Accelerating deep network training by reducing internal covariate shift." arXiv preprint arXiv:1502.03167 (2015).
Residual Network
http://icml.cc/2016/tutorials/icml2016_tutorial_deep_residual_networks_kaiminghe.pdf
Other resource
Tips on Debugging Theano:
http://udibr.github.io/tips-on-working-with-theano.html