Here's what I love about your lectures: You give the intuition and logic behind the architectures and this helps a lot as opposed to the stone tablet thrown down from the heavens approach. Not only is this important for learning but it also stimulates intuition for the next set of innovations!
totally true, I just learned about CNN yesterday and prof talked for one hour and a half but I don't understand anything at all, partly because of me being tired, but this MIT lecture make it so easy for me to grasp all these concepts
This entire series on Deep Learning is a great pleasure to listen to and brainstorm about. There are limitless possibilities for AI applications, and I'm highly inspired for some of them.
This free course on TH-cam is WAY better then a $2k course I took online from Carnegie Mellon University on CV...These MIT lectures are far more in-depth and provide much better examples...
DL MIT classes are great overall, but there are three small errors in this lecture, please correct if you can: - as mentioned in the comments before, fully connected networks do keep spacial relationships, they actually have a much more rigid spatial relationship retention than CNNS - CNNs can be seen as a fully connected network with weight sharing and the great advantage is to force the network to give the same feature for the same input anywhere in the image (this makes the network spatially equivariant, or sometimes wrongly referenced as spatially invariant). Of course CNNs require less compute also. - Pooling (while it effectively reducing image size) has the main objective of spatially invariance, meaning that we can shift the image and get the same feature at some latent level (up to a point).
love from india as I'm not able to study at MIT but this series helps me a lot and I hope lots of people but if you can add the labs lecture that how we can build this practically so it would be a great honor
theres 2 formulas. Gradient wrt the weight/filter and the gradient wrt to the input. The gradient wrt to the weight is just the outer gradient convolved with the input. The gradient wrt to the input is more complex, its an operation similar to convolution but a bit different. This operation is done between weight and outer gradient.
Thank you for sharing this wonderfully put together course for the general public's benefit. I would love to get some insight as to what goes in the lab work the student's go through as an adjunct to the course lectures. Will that be possible in the future.
Thanks Alex for sharing these lectures online. A quick comment about fully connected layer causing loss of spatial information @14:40. I don't think fully connected layers result in spatial information loss. All your network has to do is identify that certain indices in the flattened vector correspond to specific locations in the spatial map. We can lose some translation/spatial invariance but not necessary spatial information loss.
Sir, I am fond of deep- learning. And these lectures are amazing. Sir may you please share something you do in lab. I get really curious about that. It will become amazing if those algorithms can be used directly in directly in form of code.
The math at 32:13, a double sum, is incorrect. Firstly, the filter is indexed with i,j starting at 1, so the input and output matrices are also probably indexed from 1. This means that the first output has p = 1, but since this is added to i, so we start with the row index of x being 2. Basically, we have to add p-1, rather than p, and q-1 rather than q. Secondly, The stride is meant to be 2, so we start our filter at double where it would be in the output. So instead of (p-1), we need to add 2(p-1). In conclusion, the subscript of x should be i + 2(p-1), j + 2(q-1) ; unless it shouldn't and I made a mistake 💀 Otherwise, loving the lectures 👍
Thank you, Max, for these amazing lessons ftom you & Ava. Could you please share a little more how I can learn more about the vision system example you used in the lectures which helps the visually impaired run the trail?
It is time we have to go further to sense, smell and feel. For this we need to look deep into life. The future exists in mimicking life. Knowing life beyond the mind and going inward.
I am in awe. You have delivered these concepts so beautifully that I didn't need to look up into other resources. I have recently made a switch to this field and you happened to be my biggest motivator to pursue it further. Thank you.
Hi, After CNN performed, and pixels are flatten then can we add VAE with GAN to create the same probability distribution of input flattened array and as well some alternative derivativea Or distribution, like cycle gan, road to map. Am I connecting it correct or again watch the videos, Thank you for the videos
Hello Alexaander im big fan your explanation ,im doing data science and machine learning course from University of Maryland College by upgrad ,thanks for posting videos in TH-cam it will help many students who want learn ai and ml ,thanks
hello, I'm giving a course at my university on Brazil about Machine Learning, and i would like to ask to use some of your slides and translate your material for the next leasson which is about CNN
HI Alexander Amini: Vivid Comprehensible Learner Sensitive presentation! Thanks! The AI sector currently the EXCLUSIVE domain of a MIGHTY minority Elite In comparison to billions of individuals - undoubtedly Future USERS?!! Mobile accessible to the fisherman- The English Teacher -Engineers - Ballet dancer - diverse clientele in ALL levels of Humanity- MIT And these AI Start Ups urgently expedite these kind of MIT classes to ensure Literacy in AI USE!!!! PLEASE ASAP 15.12.2023
### Defining a network Layer ### # n_output_nodes: number of output nodes # input_shape: shape of the input # x: input to the layer class OurDenseLayer(tf.keras.layers.Layer): def __init__(self, n_output_nodes): super(OurDenseLayer, self).__init__() self.n_output_nodes = n_output_nodes
def build(self, input_shape): d = int(input_shape[-1]) # Define and initialize parameters: a weight matrix W and bias b # Note that parameter initialization is random! self.W = self.add_weight("weight", shape=[d, self.n_output_nodes]) # note the dimensionality self.b = self.add_weight("bias", shape=[1, self.n_output_nodes]) # note the dimensionality
def call(self, x): '''TODO: define the operation for z (hint: use tf.matmul)''' z =tf.matmul([x,self.n_output_nodes]) '''TODO: define the operation for out (hint: use tf.sigmoid)''' y = tf.sigmoid(z+self.b) return y # Since layer parameters are initialized randomly, we will set a random seed for reproducibility tf.random.set_seed(1) layer = OurDenseLayer(3) layer.build((1,2)) x_input = tf.constant([[1,2.]], shape=(1,2)) y = layer.call(x_input) # test the output! print(y.numpy()) mdl.lab1.test_custom_dense_layer_output(y) hello can anyone help me with this pls
you try to figure out how to program the human mind, but you can't until you are able to create that spark of consciousness, that divine particle that makes a brain a brain.
the spark is what the drive is, but the drive changes according to the input. but it is exhaustible, it is the human body that dies. that's your second problem hahaha And now tell me if the program that runs in a person is created by genes or by that spark. I would describe it as a synopsis.
in reinforcement learning there is a concept called "multi-agent environment" which is when multiple agents which each have their own neural network or "AI" as it is known interact with each other directly.
We are so lucky to be alive at a time when we can attend these types of lectures for free
Yeah! What an age for self-education, MITx to Wikipedia to ArXiv!
Here's what I love about your lectures: You give the intuition and logic behind the architectures and this helps a lot as opposed to the stone tablet thrown down from the heavens approach. Not only is this important for learning but it also stimulates intuition for the next set of innovations!
totally true, I just learned about CNN yesterday and prof talked for one hour and a half but I don't understand anything at all, partly because of me being tired, but this MIT lecture make it so easy for me to grasp all these concepts
This entire series on Deep Learning is a great pleasure to listen to and brainstorm about.
There are limitless possibilities for AI applications, and I'm highly inspired for some of them.
This free course on TH-cam is WAY better then a $2k course I took online from Carnegie Mellon University on CV...These MIT lectures are far more in-depth and provide much better examples...
DL MIT classes are great overall, but there are three small errors in this lecture, please correct if you can:
- as mentioned in the comments before, fully connected networks do keep spacial relationships, they actually have a much more rigid spatial relationship retention than CNNS
- CNNs can be seen as a fully connected network with weight sharing and the great advantage is to force the network to give the same feature for the same input anywhere in the image (this makes the network spatially equivariant, or sometimes wrongly referenced as spatially invariant). Of course CNNs require less compute also.
- Pooling (while it effectively reducing image size) has the main objective of spatially invariance, meaning that we can shift the image and get the same feature at some latent level (up to a point).
I'm self-studying deep learning without going through any school so I need sharers like you . thank you very much!
Such a brilliant session! I am totally in the awe of this course, and loved the way Dr. Alex dissects the concepts in simplified way!
Thank you!
love from india as I'm not able to study at MIT but this series helps me a lot and I hope lots of people but if you can add the labs lecture that how we can build this practically so it would be a great honor
the videos, slides and explanation keep getting better.
7:00
I hope to explain backpropagation in the conv layer
theres 2 formulas. Gradient wrt the weight/filter and the gradient wrt to the input. The gradient wrt to the weight is just the outer gradient convolved with the input. The gradient wrt to the input is more complex, its an operation similar to convolution but a bit different. This operation is done between weight and outer gradient.
@jongxina you have the greatest user name on the internet
7:38
Thank you for sharing this wonderfully put together course for the general public's benefit. I would love to get some insight as to what goes in the lab work the student's go through as an adjunct to the course lectures. Will that be possible in the future.
we are waiting Thanks Alex Amini
Alexander Amini has splendid presentation skills
12:00
Thanks Alex for sharing these lectures online.
A quick comment about fully connected layer causing loss of spatial information @14:40.
I don't think fully connected layers result in spatial information loss. All your network has to do is identify that certain indices in the flattened vector correspond to specific locations in the spatial map. We can lose some translation/spatial invariance but not necessary spatial information loss.
Min 41:17. Why we look for 1024 layers as a "result" before the output?
Thanks Alex Amini and MIT )
🥰😊
So the random box instance is an n^2 algorithm and the pictures parameters by all means is just the color density and location plotted
great lectures, are the lab portions of the course going to be available?
Sir, I am fond of deep- learning. And these lectures are amazing. Sir may you please share something you do in lab. I get really curious about that. It will become amazing if those algorithms can be used directly in directly in form of code.
Thank you very much for sharing!
Thanks for sharing!
Hello Alexander,
Please make a dedicated video on "Reinforcement Learning with Human Feedback"
Great. Thanks for sharing
we are waiting excitingly 😀
The math at 32:13, a double sum, is incorrect.
Firstly, the filter is indexed with i,j starting at 1, so the input and output matrices are also probably indexed from 1. This means that the first output has p = 1, but since this is added to i, so we start with the row index of x being 2. Basically, we have to add p-1, rather than p, and q-1 rather than q.
Secondly, The stride is meant to be 2, so we start our filter at double where it would be in the output. So instead of (p-1), we need to add 2(p-1).
In conclusion, the subscript of x should be i + 2(p-1), j + 2(q-1) ; unless it shouldn't and I made a mistake 💀
Otherwise, loving the lectures 👍
I can just say many thanks!
I’ve been taking courses online campus about such topics but all make no sense for me, now i understand it, many thanks!
Thank you, Max, for these amazing lessons ftom you & Ava. Could you please share a little more how I can learn more about the vision system example you used in the lectures which helps the visually impaired run the trail?
Thanks a lot.
Now i have learned the whole CNN working. Great explanation
It's unbelievable that you're doing this for free. Thanks a lot Sir. Your explanation is very clear and in an easy manner. Thanks again Sir.
What an insightful lecture! Appreaciations prof. Alexander
Thank you so much! I hope to see the 2024 version as soon as possible (I will brush it again
Damet garm professor Amini. What a pleasure to take these sessions.
Hello Alex! It’s great to join your class here 👍
Where can I find the Tensor Flow labs to practice?
It is time we have to go further to sense, smell and feel. For this we need to look deep into life. The future exists in mimicking life. Knowing life beyond the mind and going inward.
Greatly thankful to your efforts for making this great lectures free and so easily accessible, thank you Alexander Amini
Wonderful diction
Where do I find the labs for the practice?
The Convolutional Neural Network, one of my Passion and with MIT is an ART
Thank you so much Alex. So much learning from you. God Bless you. 😊😊
I really appreciate you posting this material!! Thank you 🙏
42:00
Should we understand them as a sw developer ? do we need all these theoretical stuff?
Thank you so much for this lecture!
Does converting audio to mel spectrograms and classify with image classification models is right approach?
Awesome!
Great Lecture, but last week Ava said this year's CV lecture will be about Vision Image Transformer!
alex, i wanna ask you last lecture was sequencing in the website there's code lab related to that lecture can i walk through or you gonna assigning
Are NNs not always fully connected? I just assumed they were from the math, unless a given weight is zero.
Great Lecture. Thank you very much!
excellent.
It calls for knowing the root of consciousness and creativity in life
Thanks sir for this wonderful explanation.
This presentation is really well put together.
Thank you :)
I am in awe. You have delivered these concepts so beautifully that I didn't need to look up into other resources. I have recently made a switch to this field and you happened to be my biggest motivator to pursue it further. Thank you.
29:00
Waiting The Third Lesson~
😍
The best tutorial of CNN on earth.
Thank you for uploading this video ❤
thanks a lot
Great lecture and amazing teaching but I am having difficulty to grasp the code of lab. Is there any resources or anything better solution for it?
Can we get access to software labs with some hands on learning? I know codes are available but something else where we can learn from scratch.
Wow !! Really awesome lecture Alex sir . Nice explanation with perfect slides
Great Instructor but it will be more impactful if u would use white board or blackboard in this case and explain the convolution using some drawings
Thank you Dr
Hi, After CNN performed, and pixels are flatten then can we add VAE with GAN to create the same probability distribution of input flattened array and as well some alternative derivativea Or distribution, like cycle gan, road to map.
Am I connecting it correct or again watch the videos,
Thank you for the videos
Wow, it's ridiculous, the more it goes, the better - I love every single minute of this course - A huge thank you!
wow, how i wish i could ever be in MIT
im waiting
Hello Alexaander im big fan your explanation ,im doing data science and machine learning course from University of Maryland College by upgrad ,thanks for posting videos in TH-cam it will help many students who want learn ai and ml ,thanks
Super 👍
hello, I'm giving a course at my university on Brazil about Machine Learning, and i would like to ask to use some of your slides and translate your material for the next leasson which is about CNN
I was very impressed when I heard that the transformer model was created by a Vietnamese person
HI Alexander Amini: Vivid Comprehensible Learner Sensitive presentation! Thanks! The AI sector currently the EXCLUSIVE domain of a MIGHTY minority Elite
In comparison to billions of individuals - undoubtedly
Future USERS?!! Mobile accessible to the fisherman-
The English Teacher -Engineers - Ballet dancer - diverse clientele in ALL levels of Humanity- MIT
And these AI Start Ups urgently expedite these kind of MIT classes to ensure Literacy in AI USE!!!!
PLEASE ASAP 15.12.2023
Thank you to the author. Does anybody get from this video how all this works with shift/rotation/scale of the image?
### Defining a network Layer ###
# n_output_nodes: number of output nodes
# input_shape: shape of the input
# x: input to the layer
class OurDenseLayer(tf.keras.layers.Layer):
def __init__(self, n_output_nodes):
super(OurDenseLayer, self).__init__()
self.n_output_nodes = n_output_nodes
def build(self, input_shape):
d = int(input_shape[-1])
# Define and initialize parameters: a weight matrix W and bias b
# Note that parameter initialization is random!
self.W = self.add_weight("weight", shape=[d, self.n_output_nodes]) # note the dimensionality
self.b = self.add_weight("bias", shape=[1, self.n_output_nodes]) # note the dimensionality
def call(self, x):
'''TODO: define the operation for z (hint: use tf.matmul)'''
z =tf.matmul([x,self.n_output_nodes])
'''TODO: define the operation for out (hint: use tf.sigmoid)'''
y = tf.sigmoid(z+self.b)
return y
# Since layer parameters are initialized randomly, we will set a random seed for reproducibility
tf.random.set_seed(1)
layer = OurDenseLayer(3)
layer.build((1,2))
x_input = tf.constant([[1,2.]], shape=(1,2))
y = layer.call(x_input)
# test the output!
print(y.numpy())
mdl.lab1.test_custom_dense_layer_output(y)
hello can anyone help me with this pls
I get so excited about the use cases and various possibilities of using CNNs. Excellent presentation. A master class in simplifying a complex subject.
"How to drive and steer this car into... the future"😄
you try to figure out how to program the human mind, but you can't until you are able to create that spark of consciousness, that divine particle that makes a brain a brain.
why is lena still used in these lectures?
the raw data comes from the universe where we live.
I think I was the only one waiting 😅
Lamin Sesay@laminsesay82992 videa
you asked me if we can stay in touch, my answer is, everyone can find me.
Don't use dark theme for code: many chars are badly visible.
❤
the spark is what the drive is, but the drive changes according to the input. but it is exhaustible, it is the human body that dies. that's your second problem hahaha
And now tell me if the program that runs in a person is created by genes or by that spark. I would describe it as a synopsis.
if I were to describe to you how I perceive the world, you would turn the brown thing into a textile.
I wonder if the 2 AIs can argue each other. haha and there could be a problem if you have 100 AI. 😂
in reinforcement learning there is a concept called "multi-agent environment" which is when multiple agents which each have their own neural network or "AI" as it is known interact with each other directly.
Spider net
you're still only describing how the human eye works and what it sees turning into sex. 😂
All man yone
2 videos blady chicken hahah
thank you!
40:00