
56 segments available
The talks at the Deep Learning School on September 24/25, 2016 were amazing. I clipped out individual talks from the full live streams and provided links to each below in case that's useful for people who want to watch specific talks several times (like I do). Please check out the official website (http://www.bayareadlschool.org) and full live streams below. Having read, watched, and presented deep learning material over the past few years, I have to say that this is one of the best collection of introductory deep learning talks I've yet encountered. Here are links to the individual talks and the full live streams for the two days: 1. Foundations of Deep Learning (Hugo Larochelle, Twitter) - https://youtu.be/zij_FTbJHsk 2. Deep Learning for Computer Vision (Andrej Karpathy, OpenAI) - https://youtu.be/u6aEYuemt0M 3. Deep Learning for Natural Language Processing (Richard Socher, Salesforce) - https://youtu.be/oGk1v1jQITw 4. TensorFlow Tutorial (Sherry Moore, Google Brain) - https://youtu.be/Ejec3ID_h0w 5. Foundations of Unsupervised Deep Learning (Ruslan Salakhutdinov, CMU) - https://youtu.be/rK6bchqeaN8 6. Nuts and Bolts of Applying Deep Learning (Andrew Ng) - https://youtu.be/F1ka6a13S9I 7. Deep Reinforcement Learning (John Schulman, OpenAI) - https://youtu.be/PtAIh9KSnjo 8. Theano Tutorial (Pascal Lamblin, MILA) - https://youtu.be/OU8I1oJ9HhI 9. Deep Learning for Speech Recognition (Adam Coates, Baidu) - https://youtu.be/g-sndkf7mCs 10. Torch Tutorial (Alex Wiltschko, Twitter) - https://youtu.be/L1sHcj3qDNc 11. Sequence to Sequence Deep Learning (Quoc Le, Google) - https://youtu.be/G5RY_SUJih4 12. Foundations and Challenges of Deep Learning (Yoshua Bengio) - https://youtu.be/11rsu_WwZTc Full Day Live Streams: Day 1: https://youtu.be/eyovmAtoUx0 Day 2: https://youtu.be/9dXiAecyJrY Go to http://www.bayareadlschool.org for more information on the event, speaker bios, slides, etc. Huge thanks to the organizers (Shubho Sengupta et al) for making this event happen. CONNECT: - If you enjoyed this video, please subscribe to this channel. - AI Podcast: https://lexfridman.com/ai/ - Show your support: https://www.patreon.com/lexfridman - LinkedIn: https://www.linkedin.com/in/lexfridman - Twitter: https://twitter.com/lexfridman - Facebook: https://www.facebook.com/lexfridman - Instagram: https://www.instagram.com/lexfridman - Slack: https://deep-mit-slack.herokuapp.com
Andrej Karpathy introduces the topic of deep learning, specifically in the context of computer vision. He discusses the structure of neural networks, emphasizing the importance of input data organization and how convolutional neural networks (CNNs) leverage the local connectivity of data structures like images and videos.
"yeah so thank you very much for the introduction so today I'll speak about deep learning especially in the context of computer vision so you saw in the previous talk is neural networks so you saw the ..."
Karpathy delves into the historical evolution of neural networks, referencing the pioneering experiments by Hubel and Wiesel in the 1960s that studied the visual cortex of cats. He explains how these experiments inspired early neural network models and the development of architectures that mimic the brain's structure.
"whenever you have this kind of local connectivity structure in your data then you'd like to take advantage of it and convolutional neural networks allow you to do that so before I dive into commercial..."
This segment covers the transition from early neural network models to convolutional neural networks (CNNs) in the 1990s. Karpathy highlights the significance of backpropagation in training these networks and discusses the challenges faced in applying these models to larger images and complex tasks.
"throughout and so this was this looks a bit like a comm net because you have some of its features like say the local connectivity but at the time this was not trained with backpropagation these were s..."
Karpathy reflects on the state of computer vision around 2011, where feature-based approaches were prevalent but often ineffective. He contrasts this with the advancements made post-2012, particularly the impact of a landmark paper that demonstrated the effectiveness of CNNs on larger datasets.
"certainly like smaller visual recognition problems and so in computer vision in roughly 2011 it was much more common to use a kind of these feature based approaches at the time and they didn't work es..."
In this segment, Karpathy discusses the dramatic improvements in image recognition performance since the introduction of CNNs. He presents data from the ImageNet challenge, illustrating how error rates have decreased significantly due to advancements in deep learning techniques.
"this paper from Astrid chef Sookie Ilya sutskever and Geoff Hinton so this is the first time that someone took a convolutional neural network that is very similar to the one that you saw in from 1998 ..."
Karpathy shares insights from his experiments comparing human accuracy to that of convolutional neural networks on the ImageNet dataset. He discusses the challenges humans face in accurately classifying images and how CNNs excel in this domain, highlighting the implications for future developments.
"excited to see that just to put this in context by the way because you're just looking at numbers like three point five seven how good is that that's actually really really good so what something that..."
This segment focuses on the evolution of training methodologies in computer vision. Karpathy explains how the shift from fixed feature extractors to end-to-end training of convolutional neural networks has simplified the process and improved performance across various tasks.
"correctly was about 1.5 percent so if we get below 1.5 percent I would be extremely suspicious on image net that seems wrong so to summarize basically what we've done is before 2012 computer somewhat ..."
Karpathy discusses the concept of transfer learning, emphasizing how features learned from training on ImageNet can be effectively applied to other datasets. He highlights the significance of this finding in the broader context of computer vision and machine learning.
"out to be quite generic and you can apply them in different settings so in other words this transfer learning works extremely well and of course I didn't go into details of convolutional networks yet ..."
In this segment, Karpathy explores the diverse applications of convolutional neural networks across various fields, including medical imaging, self-driving cars, and even artistic endeavors. He illustrates how CNNs have become integral to modern computer vision tasks.
"much much more manageable so now all this power is actually available to you with very few lines of code if you want to just use a convolutional network on images it turns out to be only a few lines o..."
Karpathy concludes by discussing the intriguing parallels between convolutional neural networks and the human visual cortex. He presents research that suggests a mapping between the representations learned by CNNs and those in the brain, hinting at the potential for further advancements in AI.
"like image captioning in the context of reinforcement learning and agent in environment interactions we've also seen a lot of advances of using commnets as the core computational building block so whe..."
In this segment, Karpathy introduces the fundamental concept of convolutional neural networks (CNNs). He outlines the basic structure and function of CNNs, explaining how they transform raw pixel data into class probabilities through a series of operations, setting the stage for a deeper dive into their mechanics.
"doing as well in the visual cortex so that's just some intro I'm now going to dive into convolutional networks and try to explain the briefly how these networks work of course there's an entire class ..."
Karpathy delves into the parameters of convolutional neural networks, explaining how they are adjusted during training to optimize performance. He discusses the significance of dot products and max operations in CNNs, emphasizing the role of these parameters in achieving accurate image classification.
"okay so convolutional neural network is really just a single function it goes from it's a function from the raw pixels of some kind of an image so we take 224 by 224 by 3 image so 3 here is for the co..."
This segment focuses on the convolutional layer as the core computational building block of CNNs. Karpathy explains how these layers process three-dimensional volumes of data, utilizing filters to extract features from images, and discusses the implications of this structure for visual recognition tasks.
"through that search process now more concretely accomplish on your network is made up of a sequence of layers just as in a case of normal neural networks but we have different types of layers that we ..."
Karpathy illustrates the concept of activation maps generated by convolutional layers. He explains how filters convolve over input volumes to produce these maps, which indicate how well specific features are detected in different parts of an image, laying the groundwork for understanding feature extraction in CNNs.
"32 by 32 by 3 image so those three dimensions are the width height and I'll refer to the third dimension as depth we have three channels that's not to be confused with the depth of a network which is ..."
In this segment, Karpathy compares the parameter efficiency of convolutional layers to fully connected layers. He highlights the significant reduction in parameters and computational load achieved through convolutional operations, emphasizing the advantages of CNNs in processing visual data.
"there are 28 by 28 unique positions you can place that filter in and every one of those you're going to get a single number of how well that filter alikes that part of the input so that carves out a s..."
Karpathy discusses the assumptions underlying convolutional networks, including the idea of shared filters across spatial positions and local connectivity. He explains how these assumptions contribute to the efficiency of CNNs while also addressing potential limitations in specific applications, such as face recognition.
"network now since we're doing convolution instead you'll notice that think about a number of parameters that we've introduced with this example convolutional layer so we've used we had 6 filters and e..."
This segment covers the function of pooling layers in convolutional networks. Karpathy explains how pooling layers downsample activation maps, reducing computational complexity while maintaining performance. He discusses the significance of this operation in controlling the capacity of neural networks.
"the second assumptions that we made is that these filters are small locally and so we don't have global connectivity we have this local connectivity but that's okay because we end up stacking up these..."
Karpathy concludes with an overview of fully connected layers in convolutional networks. He describes how these layers transform the output of convolutional layers into class probabilities, emphasizing their role in the final stages of image classification tasks.
"so we use them basically as a way of controlling the capacity of these networks and the last layer that I want to briefly mention of course is the fully connected layer which is exactly as what you're..."
In this segment, Karpathy presents a live demonstration of training a convolutional network using a dataset. He showcases the network's performance and the interactive nature of the training process, allowing viewers to see the practical application of the concepts discussed.
"like so this is common nsj this is a deep learning library for training convolutional neural networks that I've that is implemented in JavaScript I wrote this maybe two years ago at this point so here..."
Karpathy introduces a video that illustrates the activation maps of a convolutional network. He explains how these maps reveal what the network is learning at different layers, including the detection of edges and abstract concepts. This segment highlights the interpretability of neural networks through visualization tools.
"another thing I'd like to show you is this video because it gives you again this like very intuitive visceral feeling of exactly what this is computing is there's a very good video by Jason Kaczynski ..."
This segment covers the evolution of convolutional neural network architectures, starting with AlexNet. Karpathy discusses the parameters, filter sizes, and strides used in various layers, illustrating how these choices impact performance. He sets the stage for understanding the advancements in deep learning architectures over the years.
"in different locations and by looking at the D cons we can see that it would respond more strongly if we had even darker eyes and rosy lips we can also confirm that it cares about the head and shoulde..."
Karpathy outlines the challenges faced in deep learning, including data constraints and computational limitations. He contrasts the advancements in data availability and GPU performance since 1998, emphasizing the importance of infrastructure improvements. The segment also touches on algorithmic developments like dropout and ReLU.
"we'll start off with the Alex net in 2012 so the Alex net just to give you an idea about the sizes of these networks and the images that they process it took to 27 by 220 7 by 3 images and the first l..."
In this segment, Karpathy discusses key innovations in training convolutional neural networks, including the introduction of dropout and rectified linear units (ReLU). He explains how these techniques have improved training speed and performance, highlighting their significance in modern deep learning practices.
"these other three pieces so in particular what we've done with the 1998 network is we've made it bigger so you have more channels you have more layers by bit and the two really new things algorithmica..."
Karpathy reviews the evolution of CNN architectures from AlexNet to VGGNet, detailing the changes in filter sizes and layer configurations. He emphasizes the simplicity and effectiveness of VGGNet's design, showcasing how architectural choices have led to improved performance in image classification tasks.
"improvement so this is Alex net the winner of 2012 in 2013 the winner was the Z F net this was developed by Matthew Siler and Rob progress in 2013 and this was an improvement on top of Alex net archit..."
Karpathy highlights the VGG Net architecture, known for its uniformity and simplicity. He explains how VGG Net utilized consistent 3x3 convolutions and pooling layers to achieve top performance in image classification, reducing error rates significantly.
"matthew Zeiler then went he became the founder of clarify and he worked on this a bit more inside clarify and he managed to push the performance to 11% which was the winning entry at the time but we d..."
In this segment, Karpathy introduces GoogleNet, which features inception modules for improved efficiency. He contrasts its architecture with VGG Net, emphasizing how GoogleNet achieves better performance with fewer parameters, showcasing the evolution of deep learning models.
"performance so they managed to reduce the air down to 7.3% in the vdg net just with a very simple item Oh genius architecture so it's I've also here written out this a D architecture it's just so you ..."
Karpathy explains the introduction of residual networks in 2015, which revolutionized deep learning by allowing for deeper architectures without performance degradation. He discusses how these networks maintain better performance as layers are added, addressing optimization challenges faced by previous models.
"were we're working with here also you can note that most of the and this is true mostly in convolutional networks is that most of the memory is in the early convolutional layers most of the parameters..."
In this segment, Karpathy delves into the mechanics of residual blocks within residual networks. He describes how these blocks facilitate gradient flow during backpropagation, enhancing training efficiency and performance in deep learning models.
"both parameter wise but it looks a bit uglier and VG net is a very beautiful homogeneous architecture but there are some inefficiencies in it okay so that's a 2014 now in 2015 we had a slightly bigger..."
Karpathy discusses the relationship between layer depth and performance in neural networks. He explains how residual networks allow for deeper architectures while maintaining performance, contrasting this with traditional networks where increased depth can lead to worse outcomes.
"what's interesting about this paper is this this plot here where they compare these residual networks and I'll go into details of how they work in a bit and these what they call plane networks which i..."
Karpathy presents a conceptual framework for understanding residual networks as dynamic systems. He explains how residual blocks can be viewed as vector fields that adjust the original input representation, enhancing the model's ability to classify images effectively.
"grows that much bigger in this plane net architecture so in the residual networks that they proposed they found that when you wire them up in a slightly different way you monotonically get a better pe..."
In this segment, Karpathy discusses recent innovations in residual networks, including stochastic depth and shared residual blocks. He highlights how these advancements contribute to the flexibility and efficiency of deep learning architectures.
"is why I always urge people also to implement back rub themselves to get an intuition for how it works what it's computing and so on because if you understand back rub you'll see that addition operati..."
Karpathy concludes by reflecting on the rapid experimentation within the deep learning community. He emphasizes the importance of open-source collaboration in advancing architectures and the potential for future breakthroughs in deep learning.
"networks at least to me as some kinds of dynamical systems where you have this original representation of the image X and then every single residual block is kind of like a vector field that because i..."
Karpathy transitions the discussion from image classification to other tasks in deep learning. He sets the stage for exploring how convolutional neural networks can be adapted for various applications beyond just categorizing images.
"we'll be in 2016 as a result of a lot of this one of the things that has really enabled this rapid experimentation in the community is that somehow we've developed luckily this culture of sharing a lo..."
In this segment, Karpathy transitions from discussing image classification to exploring other tasks in computer vision. He explains how convolutional neural networks can be adapted for various applications, such as image captioning and localization, by modifying the output layer and loss functions while maintaining the core architecture.
"saw convolutional neural networks I explained how they work I explained some of the background context I've given you an idea of what they look like in practice and we went through case studies of the..."
Karpathy elaborates on how different computer vision tasks, such as reinforcement learning and segmentation, require specific adaptations of the convolutional neural network architecture. He provides examples of how to adjust the model for tasks like predicting actions in games or classifying every pixel in an image.
"just to make this slightly more concrete in image classification we apply this compute block we get these features and then if I want to do classification I would basically predict 1,000 numbers that ..."
In this segment, Karpathy explains the process of image segmentation, where each pixel in an image is classified into categories. He discusses the architecture adjustments needed for segmentation tasks, including the use of deconvolutional layers and the challenges associated with backpropagation in this context.
"something like that so you just have a predicted thing a desired thing and you just back drop if you want to do reinforcement learning because you want to play different games then again the setup is ..."
Karpathy introduces autoencoders, explaining their purpose in reconstructing original images through a bottleneck representation. He discusses the differences between standard autoencoders and variational autoencoders, highlighting their roles in generative modeling and the importance of loss functions in training.
"slightly more difficult because you see here I have a decom players mentioned here and I didn't explain the convolutional layers they're related to convolutional layers they do a very similar operatio..."
Karpathy outlines the fundamentals of object detection, using a simple detector as an example. He explains how to predict classes and bounding boxes for detected objects, emphasizing the importance of matching predicted boxes with true boxes to train the model effectively.
"actually like sample images as well if you wanted to do detection things get a little more hairy perhaps a compared to localization or something like that so one of my favorite detectors perhaps to ex..."
In this segment, Karpathy discusses dense image captioning, which combines detection and image description. He explains how this approach allows for the detection of multiple objects and the generation of descriptive captions, showcasing the complexity of visual scene understanding.
"have a detector or if you want to get much more fancy you you could do dense image captioning so in this case this is a combination of detection and image captioning this is a paper with my equal qual..."
Karpathy shares practical advice for applying convolutional neural networks in real-world scenarios. He discusses hardware options, software frameworks, and the importance of using pre-trained models, encouraging practitioners to avoid reinventing the wheel and focus on fine-tuning existing architectures for their specific tasks.
"tasks that people care about most of them consist of just changing this top part you put different loss function a different data set but you'll see that this computational block stays relatively unch..."
In this segment, Karpathy emphasizes the importance of using standard hyperparameters found in research papers. He suggests focusing on regularization techniques like dropout rates and tuning learning rates minimally, as most successful models share similar parameter settings.
"second is how do I choose the parameters and my answer here again would be don't be a hero look into papers look what happens they use for the most part you'll see that all papers use the same hyper p..."
Karpathy explains the necessity of distributed training for large datasets, such as ImageNet. He discusses the common practice of using multiple GPUs for training and the importance of data parallelism to efficiently manage computational resources.
"I would say yeah so compared to when computer version 2011 where you might have hundreds of high parameters so yeah okay and in terms of distributed training so if you want to work at scale because if..."
This segment covers practical considerations for optimizing deep learning training processes. Karpathy highlights potential bottlenecks, such as CPU to disk and CPU to GPU communication, and suggests strategies to mitigate these issues for smoother training.
"with SGD as normal so that's what you'll see most in practice which i think is the best thing to do right now for most normal applications and other kind of considerations that sometimes enter that yo..."
Karpathy encourages viewers to explore additional resources for deep learning, particularly the CS231n course on convolutional neural networks. He mentions the availability of lecture videos, notes, and assignments to deepen understanding.
"this lecture if you wanted to learn much more about convolutional neural networks and a lot of what I've been talking about then I encourage you to check out CS 231 n we have lecture videos available ..."
A question from the audience prompts a discussion on applying convolutional neural networks (CNNs) to genomic sequences. Karpathy suggests using recurrent neural networks (RNNs) or architectures like WaveNet to handle variable-length genomic data effectively.
"so I guess I can take some questions yeah hello hello hi I'm Kyle afar from Luna I'm using a lot of convolutional nets for genomics when the problems that we"
Karpathy addresses a question about determining the number of hidden layers in neural networks. He explains that empirical testing often guides these decisions, with considerations for computational limits and regularization to prevent overfitting.
"for genomics when the problems that we see is that our genomic sequence tends to be arbitrary length so right now we're pattern for a lot of zeros but we're curious as to what your thoughts are on usi..."
In response to a question about pooling layers, Karpathy discusses the trend of reducing their use in modern architectures. He references the evolution of convolutional networks and the rationale behind eliminating pooling layers for more efficient learning.
"basically I think those are the two demo where thank you thanks for a great lecture so my question is that is there a clear mathematical or conceptual understanding when people decide how many hidden ..."
Karpathy explores the application of neural networks in image compression, highlighting recent advancements in generative models. He mentions Google's work on variable-sized codes for images and the potential for super-resolution networks.
"consideration of how much can you fit in so our consideration is usually is you have a GPU it has maybe 16 gigs of ram or 12 gigs of ram or something I want certain batch size and I have these conside..."
Karpathy discusses the challenges of scaling neural networks to handle a large number of classes. He introduces hierarchical softmax as a solution to efficiently manage predictions in scenarios with thousands of classes.
"also it's called striving for simplicity the all convolutional neural network and the point in that paper is look you can actually do stranded convolutions you can throw away pulling layers all togeth..."
In this segment, Karpathy provides insights on the size of datasets needed for fine-tuning neural networks. He shares heuristics for determining the appropriate number of examples based on model parameters, emphasizing that more data generally leads to better performance.
"believe Thomas Mikhailov for example he has some papers on using hierarchical softmax in this context would you could you talk a little bit about the convolutional functions like what what considerati..."
In this segment, Karpathy explores how to handle 3D inputs, such as RGB-D images, in neural networks. He discusses potential methods for integrating depth information and the challenges associated with processing 3D data, emphasizing the need for further research in this area.
"would like to know how do you think the Covenant will work in this rady case like is they just a simple extension of the 2d case oh do we need some extra tweak about in 3d case so you're talking speci..."
Karpathy shares insights on 3D object recognition, discussing the complexities of working with 3D representations like meshes and point clouds. He notes the difficulties posed by rotational degrees of freedom and the need for innovative approaches to improve recognition accuracy.
"question just how do you think the 3d object great condition a 3d object yeah recognition so what is the output that you'd like the oppo is still the class probability but we are not treating the 2d i..."
This segment covers the concept of distributed training, particularly in the context of mobile devices. Karpathy discusses the potential for cellphones to participate in distributed training and the challenges posed by stale gradients and communication overhead.
"so coming back to the distributed training is it possible to do even the classification a distributed way or my questions in future can I imagine my our cellphones do these things together for one inq..."
Karpathy explains the limitations of asynchronous stochastic gradient descent (SGD) in distributed training. He highlights how performance improvements plateau with the number of workers and the issues that arise from using outdated gradients during training.
"a lot is actually a stale gradients problem so when you look at some of the papers that Google has put out about distributed training as you look at the number of workers when you do asynchronous SGD ..."
In this segment, Karpathy discusses the application of convolutional neural networks (CNNs) to scenarios involving multiple inputs, such as comparing images. He explains the common approach of merging information from different inputs and touches on the integration of recurrent neural networks for variable input sequences.
"wondering about applications of convolutional nets to two inputs at a time so let's say you have two pictures of jigsaw puzzles puzzles these are pieces they're trying to figure out if they fit togeth..."
Karpathy addresses the issue of latency in deep learning models, particularly during prediction time. He discusses techniques for optimizing models for embedded devices, including discretization and pruning, and the importance of matching training and test time for optimal performance.
"thanks for the great talk final question regarding the latency for the models that are trained using multiple layers so especially at the prediction time you know as we add more more layers for the fo..."