CS231n Winter 2016: Lecture 6: Neural Networks Part 3 / Intro to ConvNets
Вставка
- Опубліковано 28 вер 2024
- Stanford Winter Quarter 2016 class: CS231n: Convolutional Neural Networks for Visual Recognition. Lecture 6.
Get in touch on Twitter @cs231n, or on Reddit /r/cs231n.
That project report being mentioned at 27:13 had been accepted to one of the ICLR workshops on the following year and has over 500 citations up until now. Impressive stuff.
*My takeaways:*
1. Parameter updates: optimizers, such as momentum, Nesterov momentum, AdaGrad, RMSProp, Adam 3:53
2. Learning rate 28:20
3. 2nd order optimizers 30:53
4. Evaluation: model ensembles 36:19
5. Regularization: dropout 38:25
6. Gradient checking 56:55
7. Convolutional Neural Networks 57:35
thanyou
@@ze2411 You’re welcome
1:04:50 "This might be useful in self driving cars". One year later, head of AI at Tesla.
(Car)-(Path)y - It was always in the name.
@@notanape5415 Wow this coincidence is unbelievable.
@15:10, Andrej says that according to recent work, local minimums' are not a problem for large networks. Could anyone point me to these papers? I am interested to read these results.
57:30 Intro to CNN
Just found that the slides at Stanford website is updated with the 2017 slides + videos. Is there any way to get the original 2016 slides? The lectures are as classic as those of Andrew Ng.
does he speaks 1.5x by default 😛
he speaks so fast !!
Muhammad Abu bakr I watch at 1.25x .
best viewed at 0.8 speed:)
poor cat :(
Did cs231n in 2015. great to see the videos released to public now.
Good Job Stanford!
For someone curious like me @ 43:34
(Someone's siri mistakenly tried to recognize.. and said this..)
Siri: "I am not sure what you said"
43:35 xD
What was that person saying?
"I'm not sure what you said." and it was someone's siri apparently.
@@giorgigiglemiani4334 lol
It's getting exponentially difficult
This is helping me quite a lot, thanks!!!
Summary : start from a simple gradient decent : x += - learning_rate * dx , but when we applied this gradient decent in a big dataset , it will take a long time to calculate derivative for each data point (neural unit). So we will use Stochastic Gradient Descent (SGD) to randomly choose a neural unit in a layer instead of whole units. It will reduce the time to calculate derivative.
SGD 's still slow because it jitter on the way of convergence because of random. Then, we have other method to help converge faster: SGD + Momentum , Adagrad , RMSProp , Adam . Each of them will have learning rate. We should find the ideal learning rate for each of data set. For ex: default learning rate of Adam = 0.001 in Keras.
We can use dropout to prevent overfitting.
To prevent overfitting , we have 3 ways: increase dataset , simplify network (dropout , reduce number of layer) , preprocessing data (data augmentation)
Some guy playing dota vs neural network - over million views.
A genius explaining how to build a neural network - 40k views.
People can relate to playing a game much more easily. Understanding how it works - it's hard :)
Intro to convnets is all history, skip to next lecture for convnets
Great job! The end is so inspiring!
In 9:12, the SGD refers to literally SGD (train with ONLY 1 example randomly) or refers to mini-batch? Because in the web lecture notes, it states that term SGD often enough to be used for "mini-batch" actually (not literally SGD using ONLy 1 example).
It refers to mini-batch SGD.
Ok, thanks :)
Pretty hard stuff
43:33 Funny moment :)))
at 44:06, Is he saying that dropout is applied on different neurons in each epoch? Say, I have x -10-10 - y network (x -input, y- output, 10s - hidden layers). In one epoch (that's forward prop + backprop) dropout is applied to,say, 3rd, 5th, 9th neurons of first hidden layer and 2nd, 5th, 8th neurons of second hidden layer, in the second epoch dropout is applied to 5th,6th,10th neurons of first layer and 1st, 7th, 10th neurons of second hidden layer. Does it mean we kind of have as many models as our epoch? Can someone clear this up for me?
Yes, I think youu are right, but I think you are talking about mini batches and not epochs. Epoch = one full pass (fprop+backprop) for each data points in your training set i.e. 1 epoch = several mini bacthes
there is a one issue . We don't suggest normalized data when it is a image. but when we use batch normalization , we normalize data. Is that a problem ?
8:50 noisy signal = how about usage of kalman filter??
What is vanilla update? :)
Funny moment at @20:40
Thank's a lot :)
What happended on 43:38, what's so funny?
(Someone's siri mistakenly tried to recognize.. and said this..)
Siri: "I am not sure what you said"
The best AI course I have ever taken. Thank you, Andrej!!!
33:12 L-BFGS not be confused with LBGT
The big idea of momentum update method is smart! But it is obvious that this updating method is an interim method.