Sigrid Keydana, Trivadis
02/06/2018
This is part 2, please see part 1 first :-)
How ever deep we make our network, if we just chain layers of matrix multiplication one after another, all we get is a linear combination of the inputs.
How can we solve non-linear problems with neural networks?
sigmoid <- function(x) 1/(1 + exp(-x))
x <- seq(-10,10, by = 0.01)
plot(x, sigmoid(x), type = "l", xlab = "", ylab = "")
relu <- function(x){
x[x<0] <- 0
x
}
x <- seq(-10,10, by = 0.01)
plot(x, relu(x), type = "l", xlab = "", ylab = "")
x <- seq(-10,10, by = 0.01)
plot(x, tanh(x), type = "l", xlab = "", ylab = "")
LeNet: First successful application of convolutional neural networks by Yann LeCun, Yoshua Bengio et al.
| Source: [24] |
In classification, the required output is a probability for each class.
| Source: [24] |
In localization, the network needs to identify the position of an object in an image.
| Source: [25] |
In object detection (a.k.a. image recognition), the network has to classify and localize multiple objects in an image.
| Source: [26] |
In segmentation, the network needs to predict a class value for each input pixel.
| Source: [27] |
Semantic segmentation segments by class, instance segmentation by class instance.
| Source: [28] |
How do we handle sequences?
When Peter came home from work, dinner again wasn't ready. What the heck had Alicia been doing all day?
Frustrated, ___ opened another bottle of beer.
| Sources: [29], [31] |
The basic RNN at every step combines new input and existing state.
| Source: [29] |
Sometimes we also need to forget!
The LSTM (Long Short Term Memory) architecture adds an additional state layer, the cell state:
| Source: [29] |
The LSTM cell state is protected by three gates, the forget, input, and output gates:
| Source: [29] |
In translation, we have two sets of sequential data, one on the source and one on the target side!
Enter: sequence-to-sequence models
| Source: [30] |
| Source: [32] |
Demo:
In PyTorch, computation graphs are dynamic.Thus:
Demo:
Thanks a lot for your attention!!
[1] https://cacm.acm.org/news/221108-artificial-intelligence-pioneer-says-we-need-to-start-over
[2] Wikipedia
[3] https://crude2refined.wordpress.com/2015/08/14/my-inns-big-data-conference-review-part-1/
[4] MIT 6.S094 Deep Learning for Self-Driving Cars Lecture Slides
[5] Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation
[6] Esteva et al. Dermatologist-level classification of skin cancer with deep neural networks
[7] Wikipedia. AlphaGo versus Lee Sedol
[8] Yoshihara et al. Leveraging temporal properties of news events for stock market prediction
[18] https://ajolicoeur.wordpress.com/cats/
[20] https://deepmind.com/research/alphago/alphago-china/
[21] https://deepmind.com/blog/alphago-zero-learning-scratch/a/a>
[22] http://ruder.io/optimizing-gradient-descent/
[23] https://colah.github.io/posts/2015-08-Backprop/
[24] Stanford CS231n Convolutional Neural Networks Lecture Notes
[25] Erhan et al. Scalable Object Detection using Deep Neural Networks
[26] ImageNet Large Scale Visual Recognition Challenge 2014 (ILSVRC2014)
[27] Long et al. Fully Convolutional Networks for Semantic Segmentation
[28] Silberman et al. Instance Segmentation of Indoor Scenes using a Coverage Loss
[29] Chris Olah. Understanding LSTM Networks
[30] Tensorflow seq2seq tutorial
[31] Goodfellow et al. 2016, Deep Learning
[32] TensorFlow Documentation: Graphs and Sessions
[33] LeCun et al., Gradient-based learning applied to document recognition.