Deep Learning Full Course 2026 [FREE] | Complete Deep Learning Tutorial For Beginners | Simplilearn
Chapters23
Defines deep learning as learning with neural networks that derive insights from data and improve with training, setting the stage for core concepts.
A thorough, friendly tour of deep learning fundamentals with hands-on PyTorch and TensorFlow basics, plus practical model-building patterns and training intuitions.
Summary
Simplilearn’s Deep Learning Full Course 2026, hosted by a narrator from Simplilearn, takes you from the big-picture why of deep learning to the nuts-and-bolts of building and training neural nets. The video weaves historical context (from perceptrons to transformers) with practical guidance on when to use CNNs, RNNs, and linear/dense layers. It showcases core concepts like forward propagation, backpropagation, gradient descent, and loss functions (mean squared error, cross entropy, and their classification variants). You’ll see hands-on demonstrations across TensorFlow (with Keras and Caris) and PyTorch, including how to compose models, pick activations (ReLU, sigmoid, softmax), and navigate the nuances of training with GPUs. The course emphasizes unstructured data advantages—images, text, audio, and video—and how deep nets enable tasks such as image classification (MNIST, Fashion-MNIST) and language processing. The instructor repeatedly contrasts machine learning with deep learning, highlighting feature engineering differences and the data-hungry nature of deep nets. You’ll also get practical tips on debugging training (vanishing/exploding gradients, overfitting) and techniques like dropout, regularization, early stopping, and learning-rate schedules. Expect a blend of theory, step-by-step coding demos, and strategic advice for choosing architectures and tooling in real-world scenarios. By the end, you’ll understand the DL lifecycle from data prep to model training, evaluation, and deployment considerations, plus the trade-offs between TensorFlow/Keras vs PyTorch ecosystems.
Key Takeaways
- Deep learning excels at unstructured data (images, text, audio) by using deep neural nets instead of hand-crafted features.
- AlexNet (2012) popularized convolutions for image tasks, triggering the surge of CNN-based computer vision models.
- Gradient descent (with an optimizer like Adam) is the workhorse of neural net training, guided by a loss function.
- Cross-entropy loss (sparse categorical cross entropy) is standard for multiclass classification, while MAE/MSE suit regression.
- Dropout is a practical regularization technique to combat overfitting by randomly deactivating neurons during training.
- Softmax is typically used in the final layer for multiclass classification to produce normalized probabilities.
- TensorFlow with Keras (and Caris) and PyTorch are the two dominant DL ecosystems, each with strengths in prototyping vs research.
Who Is This For?
Essential viewing for engineers and data scientists who want a practical, hands-on introduction to modern deep learning using both TensorFlow/Keras and PyTorch. It’s especially valuable for those bridging from traditional ML to neural nets and for learners preparing for real-world DL projects.
Notable Quotes
"Today, deep learning is powering some of the most exciting technologies around us from face recognition and self-driving cars to voice assistance, image generation, medical diagnosis, recommendation systems, and modern AI chatboards."
—Opening framing statement about the scope and impact of deep learning.
"The perceptron is the building block of neural networks and the idea it embodies—weighted sums of inputs followed by an activation—forms the basis for all deeper architectures."
—Foundation of neural networks discussed in the intro to neurons.
"Cross-entropy loss is used for classification because it penalizes confident wrong answers more heavily, guiding the model toward better probabilistic predictions."
—Key rationale for choosing cross-entropy in classification tasks.
"Adam is by far the most widely used optimizer for training deep nets, offering adaptive learning rates and momentum to stabilize training."
—Optimizer discussion and rationale for DL practice.
Questions This Video Answers
- How does gradient descent work in training a neural network?
- What’s the difference between TensorFlow and PyTorch for deep learning beginners?
- Why is softmax commonly used in the final layer of a neural network for classification?
- How do dropout and early stopping help prevent overfitting in neural networks?
- What role do CNNs play in image recognition tasks like MNIST or Fashion-MNIST?
Deep LearningTensorFlowKerasCarisPyTorchConvolutional Neural NetworksRecurrent Neural NetworksImage ClassificationMNISTFashion-MNIST
Full Transcript
Hey everyone, welcome to this deep learning course by SimplyLearn. Today, deep learning is powering some of the most exciting technologies around us from face recognition and self-driving cars to voice assistance, image generation, medical diagnosis, recommendation systems, and modern AI chatboards. But deep learning is not just about big models or complex algorithms. At its core, it's about building neural networks that can learn from data and improve its training and make intelligent predictions. And that is exactly what we'll be learning in this course. We will start by understanding what deep learning is, how it differs from traditional machine learning, and why neural networks are so important in today's AI world.
Then we'll be breaking down the core building blocks of neural networks which is neuron layers, weights, biases, activation functions and how data flows from input to output. We'll also explore the perception activation functions like sigmoid relu and softmax and how neural networks are trained using forward propagation, loss functions, backward propagation, gradient descents and weight updates. After that, we'll move into hands-on modeling building with TensorFlow, Keras and also PyTorch where you will learn how to create, train, and test deep learning models step by step. We'll also apply deep learning to image classification using data site like MNIST and fashion and understand how models recognize digits and clothing items from images.
Along the way, we'll also cover optimization techniques like SGD, momentum, adaptive learning rate and also atom optimizer along with methods like dropout and batch normalization to reduce overfitting. By the end of this course, you'll understand how deep learning models are built, trained, and optimized and used for real world AI task. So, let's get started and understand how neural networks actually learn from data. If you're interested in mastering the future of technology, the professional certificate course in generative AI and machine learning is a perfect opportunity for you. Offered in collaboration with E and ICT Academy, IIT Kpur, this 11 month live and interactive program provides hands-on expertise in cuttingedge areas like generative AI, machine learning and tools such as chat, GPT, DAL, E2 and also hugging face.
You'll gain practical experience through 15 plus projects, integrated labs, and also live master classes delivered by esteemed IIT Kpur faculty. Alongside earning a prestigious certificate from IIT Kpur, you'll receive official Microsoft badges for Azure AI courses and career support through Simply Learn's job assistant program. Hurry up and enroll now. Find the course in the description box below and in the pin comment. Before we begin, here's a quick quiz. Which layer receives the raw input data in a neural network? Is it hidden layer, input layer, output layer, or is it dropout layer? Comment your answer below.
Start with our introduction. So what we're hoping to cover here are just the uh some of the background mostly just background information about deep learning. So some of the um achievements that have really happened in recent times. um and we're talking, you know, less than 10 years old and some of these achievements that are uh have brought deep learning to the forefront and made it a really popular uh um field. Um so we'll understand some of the applications and also some of the challenges of deep learning. It's not deep learning is not perfect. It has some drawbacks and some challenges that make it um difficult at times.
So we'll talk about that. Um and then we'll talk about some of the frameworks. Kind of already mentioned uh PyTorch and TensorFlow as the two main ones. Just talk about that a little bit. Um and then talk about what are the main steps of any deep learning project that uh we would want to follow. I think what you're going to see there is they mostly mimic the same kind of steps we were doing in machine learning. things like uh data preparation um then kind of building a model, training it, um evaluating it on test data.
Those kind of steps are mostly the same. It's just the details of those are going to be drastically different. You know, that training process is going to be more involved, I think, with with deep learning. Um building the model is a little more hands-on with deep learning as well because you're literally going to be architecting and constructing a neural network. It's much different than just instantiating a um a model from scikitlearn which is pretty easy to do. Um there's going to be more hands-on work involved in in building these deep learning uh networks that are going to be our models.
Um so we'll talk about that process. Okay. All right. Let me skip that for the moment. All right. So let's start with just AI in general. So the reason to start here is just to see where deep learning kind of fits into the rest of the stuff that we've studied so far such as machine learning and um historically uh where has deep learning fit in um where we have AI as this pretty broad umbrella um that is um basically involving machines so computers um trying to perform tasks that normally only humans would have to do.
Um, and what we just got finished studying was machine learning, right? So, machine learning is primarily having the machine learn from data how to make a decision, right? How to complete some task, whether that's prediction or maybe like an unsupervised case, um, doing things like compression, dimensionality reduction or finding patterns and clusters. It's learning from data how to do that, right? That's machine learning broadly. Um where deep learning fits in is really a subset of machine learning because we're still learning from data. Uh we still are doing that. It's just we're using a specific tool to do that which is going to be a neural network.
Um, so that's why in this diagram you see deep learning as kind of a circle embedded inside of the machine learning circle because it's it is kind of a sub uh field of machine learning. You're still learning from data. You're just doing it in a very particular way. Um, so it's kind of like a specialization. That's why I said earlier not everybody studies deep learning because you can get pretty far without deep learning. you still have this whole field of machine learning and you can you can still do a lot with that. Um but this is certainly kind of a specialization is drilling down into working with neural nets in particular as your model.
Um it turns out that working with neural nets is really powerful for many reasons. Um, and what we're going to see is that deep learning really unlocks, uh, working with specific types of data that we have not worked with so far. And, you know, we already have a sense of that. Things like images, things like text, we really haven't worked with too much or at all. Um, but deep learning really unlocks the ability to do that. Um, so you can see that here. All right. So, so this is this is where so we're studying deep learning.
We're going to be in this course. This is where it kind of fits in. It's just a subset of machine learning because at the end of the day, we're still learning from data. It's just going to be using a particular type of model, which is a neural net. And more so than just a basic neural net, it's often going to be what we will um term as a deep neural net, meaning it will be a pretty complex model that has uh a lot of layers to it um as we will see. But it is just a subset of machine learning.
Okay. So, historically, how has this evolved to get to that point? Um, well, we had originally the the very first model of a neuron was proposed in 1943 um by McCulla and Pitts. So, they produced a paper kind of um proposing a potential model of the of the brain and the neurons in the brain uh in 1943. So obviously a long time ago. Um and at the same time some other things going on. We had the touring test which you may have heard of. Basically um testing the intelligent ability of a machine. Um and so we had that going on as well.
Obviously other things going on from the 40s to 50, but the big one that's relevant to deep learning is the very first proposed model of the neuron that was as old as 1943. It was more of an idea then obviously they didn't have computing power to do anything with that. Um it was more just the idea the concept was kind of as old as that of just modeling an actual neuron. Um it wasn't until the 50s that we see the actual um term artificial intelligence being adopted. Um as well as the very first very basic neur uh neural network model the perceptron uh that was invented in 1957.
At the same time we have some programming languages being invented uh to take advantage of machines. um not Python yet obviously but um you know some older languages that end up inspiring the uh generation of Python later on but still some some uh highle languages uh that are invented but this perceptron is really relevant actually we're going to study perceptron in the next lesson as kind of the first um model the first basic neural network model that uh um will propel you know uh deeper and deeper networks uh built off of the idea of kind of a perceptron.
So we'll talk about perceptron quite a bit are perceptron still being used today. Um, perceptron itself is probably not used too much but the idea of the perceptron is very present in so many network. It think of it like the building block of any neural network um was founded on the perceptron idea. So the the perceptron itself like just a single neuron. So so we're going to learn about this but the perceptron is basically the model of a single neuron. um a single neuron not quite used too much uh it's very basic but it forms the building block for nearly all neural networks uh that are around today.
So I would say yeah I would say it's it's inspired pretty much any neural network is inspired by the perceptron. So it's a very very important uh idea and concept and we're going to spend some time talking about it and studying it. uh as kind of our foundation for neural nets and then we'll build on that by kind of stacking uh stacking multiple neural multiple perceptrons essentially together uh till we get a larger and larger network. Yeah. So the thing is the idea has been around a long time uh but there hasn't been the you know computing power to really take advantage of it until recently and when I say recently probably last 15 20 years um hasn't been right there hasn't been the computing power available to really unlock the capabilities of these and make make uh larger and larger networks that can solve harder and harder problems.
So we don't see that uh we don't see that until you know recent first job was a key punch operator. I think it's the uh don't know what key punch is. I think it's the um like the binary uh the bit uh cards that uh fed the original kind of computers or older computers and you had to literally punch out the also this time in the '60s was the original chatbot Eliza um 1966. Now it's nothing like generative AI right this is this chatbot is all rules driven so nothing data driven nothing like that certainly no neural net nothing that we see today with these transformerbased models and GPTs and such but it is a chatbot in the sense of you can input text and then it can respond with text basically it's all rule driven though so it had to be pre-programmed uh how to respond to things but that was you know the first kind of AI chatbot Okay.
So then we see kind of a uh lull in the uh 70s to 70 to 80. Um interest in AI dropped significantly. Um funding from from government sources was insufficient. So there's kind of a lull period here. Now that's not to say that um there wasn't anything going on. you know, there's still statistical research going on and and advancements in the machine learning community, but nothing really relevant to um neural networks uh at this period. Um but still, you know, some of the some of the developments in the in the statistics community are still relevant during this time uh to machine learning, just not necessarily deep learning.
But there's a rebound of that in the 80s. Um, and you may be able to guess why. Maybe due to geopolitical things going on in the 80s like the Cold War. Um, we see a revival in uh research and dedication to AI. Um, we also start to see some communities uh develop um that are uh dedicated to the advancement of AI. So the Stanford hosts the inaugural uh conference the AAI um which is kind of the uh inspiration for some of the conferences we see today like Nurips and and things like that. So in the 80s there's kind of a revival um and then there's a kind of a um interesting period of time in the late uh late 90s so kind of early I would say even early 90s to early 2000s in this period um we see a significant investment in AI from the big players like like Facebooks and Netflixes of the world and Google, of course, Twitter.
Um, they started investing in AI quite a bit. Um, 1997, we have the IBM Deep Blue, if you've ever heard of that, um, beat the, uh, world chess champion. Um, so that was a really cool kind of AI achievement. But this is this period's called out here in particular because AI, it's particular deep learning, had not advanced that far even by this point. However, there are some significant investments in this period that lead us to kind of where we are today. Um, I would say two of them that are not necessarily listed here but will be coming up are where it says companies like Facebook, Twitter and Netflix and Google not mentioned but should be there.
They really start investing in AI. I want to call out Facebook and Google in particular because they build the frameworks that we use today. So Facebook invented PyTorch around this time and Google invented TensorFlow around this time. They did those independently. Now they are mostly open sourced so anybody can use them but they were in-house tools to work with neural nets. Everybody wanted to work with neural nets. They had their own in-house tools uh like PyTorch and TensorFlow to kind of build and manage neural nets at the time. And this all started right around this period 2006 or so.
Um you know not that long ago relative to uh history only about 20 years. Um not that long ago and we see kind of those foundational uh libraries being developed and obviously there's been a lot of advancements since then. So in uh the period after that um this is kind of where the deep learning golden age is like really the 2010s onward um 2012 is called out here. We're going to talk about there's a really big event in 2012 that happens which is the Alex net uh convolutional net is is uh is published and studied.
It's a really big computer vision model. Um uh so um a lot of really amazing achievements from from this period really 2010s onward in deep learning and it kind of coincides with um hardware being more available um neural nets being more readily available with those frameworks being more mature and developed like PyTorch and TensorFlow um more people have access to them they're open source so more people can work with them and and really get their hands on it, including the research community. So, there's a reason it kind of blows up in the 2010s onward and even even today.
Uh it's so I'll tell you why. It's because um a lot of generative AI is powered by the transformer and the transformer was not developed really until 2017. So, that's less than 10 years ago. Um, but the really the computing power and data availability to work with something like a transformer has not caught up until really like the last five or so years. So that's why it's so recent. The model that they're all built off of is less than 10 years old. Um, the transformer um, but it's more te like just other things like hardware and data availability.
We've caught up to that. uh um and and now we can have these really massive language models that power generative AI uh because compute power is relatively easy to to manage and um data is pretty easy to get your hands on too but even but that's what I'm saying the model is not that old that powers it um so what are some of our motivations for deep learning um so there's a number of topics that we're going to study. You know, they're all listed here. We're going to start with the perceptron. Um we're going to to talk about these topics later on that have to do with like uh the back propagation really having to deal with how to train a neural net.
Um so we'll talk about how how they get trained. We'll talk about the earliest model of a neuron which is going to be the perceptron. So we'll certainly cover that. Um then we can stack perceptrons together in what what is known as a multi-layer perceptron. That's kind of the next level. Um that's kind of like a miniature deep neural net. It's it's not very deep, but it does have multiple layers to it. Um and then we have the kind of in more recent times these very advanced networks like these that we're going to study. um convolutions mainly being used for images and recurrent neural networks mainly being used for text.
So we're talking about the motivation one of the motivations one of the primary motivations for talking about deep learning is really this this idea that um deep learning is going to unlock our ability to work with text data and our ability to work with image data. There are so many problems out there that work with this kind of data which in the community is known as unstructured data. Right? So, so far we've really only done problems with structured data. And structured meaning that it's basically a matrix that has rows and columns with really well-defined features, right?
That are rows and columns like our like our housing data that has square footage and bedrooms and bathrooms. That's all very well structured. Text is not structured at all. It can be variable length. You can have paragraphs. You can have whole documents. It's unstructured. Um images, same thing. They can be many different resolutions. They have a little bit more structure to them in the sense that they are matrices somewhat, right? They have um rows and columns of pixels, but still they're considered unstructured data. Um and and uh so neural nets and deep learning will unlock the ability to work with those.
There's so many problems that work with images like object detection, image recognition, um you know, and that extends to so many applications. And then working with text, obviously generative AI, working with text or even doing things like sentiment analysis or language translation, a lot of things work with text. So we need these advanced neural nets to be able to deal with that kind of data. Um the the models that we've studied so far just are not capable of working with that data very effectively at all like logistic regressions or decision trees or even things like an XG boost.
They're going to struggle on that unstructured data. They're not really going to be able to process it. Neural net on the other hand is going to be able to. That's one of our motivations for studying it. is it unlocks this whole set of applications for us that we couldn't do otherwise namely working with text and image data. So some particular tasks there that we were that we are going to study. So things like image recognition. Um now the very basic example that I probably have said before but you know something like being able to predict if an image is a cat or a dog or if an image is um a cat, dog, a giraffe or a wolf or whatever it is, right?
So image recognition tasks and that really extends into so many applications like object detection. Um so working with images really huge deal. We're going to devote a lot of time to it. Um but we really need neural nets to be able to do that effectively as we are going to find out. Um things with language like understanding and processing human language. We have these transformers that do this. so effectively but it wasn't always that way and it was nearly impossible to do um with basic uh models just nearly impossible to understand language at the level that we see today.
If you think about the the amount of language understanding it takes to have these um things like GPT and CLA and stuff, it's just immense and they're but they're really huge neural networks that are doing that and they're learning against so much data, but we really need deep learning for that. Um and other applications, things like speech recognition, you know, we haven't talked about it, but another type of unstructured data is um audio, right? So audio data being able to do things like recognition of audio translation into text that's a really hard problem basically impossible without neural nets uh to be able to recognize speech and audio.
Same thing with video. I know it's not listed here but video certainly unstructured. We need uh neural nets to be able to process those um as well. So basically any type of unstructured data we're going to use neural nets to be able to process them. Um a lot of things like um Alexa devices for instance have been powered by RNN neural networks to uh basically recognize your commands your voice commands. Um, that's all neural network powered, right? To be able to recognize a voice command, translate that into some text and then use that text for uh creating uh tasks or doing things or or generating new text to be able to respond.
So this speech recognition part is all um neural net driven namely RNN's recurrent neural nets um and and in modern times RNN/transformers we see transformers kind of taking over this space as well a lot of language stuff is being taken over by transformers but traditionally they've been RNN's so um let me give you some breakthroughs. So for example, you know, we talked about this period of 2010s. One of the uh breakthroughs in deep learning was in 2012 the Alex Net paper which I encourage you to go look up and and read a little bit about.
Um so so the Alex net is a type of convolutional neural net and it introduced really the convolution as a preeminent operation on image data to be able to classify images into different categories. Um so it it this network architecture using convolutions um blew away the competition in the imageet challenge which was a um basically taking a bunch of images. So you can see here like the training data has 1.2 million images testing data has more has 1.5 million images. Your goal is to categorize those images into 1,000 different categories. So, so think of it as like 1,000 different animals, not just cat or dog, but a thousand different uh animals.
And um the best methods at the time um things like basic neural nets or maybe even like an XG boost were blown away by this convolutional net um by more than 10% which is astronomical amount in in research um of this at this kind of level. So this was a huge breakthrough and what we see from there on is convolutions becoming kind of the default um building block of anything working with images. So like object detection, it's all going to use convolutions and it was all inspired by this Alex Snap paper. Um and it was for the first time really like people realizing like hey these neural nets can really work on unstructured data very effectively.
Um because the methodologies to work on these images prior to this was to basically try to generate a bunch of structured features which was not very effective. going from like an image into a flattened vector and trying to generate features out of that to pass through like an XG boost um was the strategy, but it got surpassed immensely by this convolutional net and then we see just an explosion of computer vision progress with people using uh people using uh convolutions. So, one of the things we're going to study in this course is convolutions. They're really important for computer vision.
If you're ever going to do anything with images, uh any kind of neural nets processing images is going to use convolutions in some fashion, right, in the architecture. So, uh we'll devote some time to studying convolutions for sure. But this is a huge breakthrough at the time. And again, 2012, that's really not that long ago. It's it seems it's hard to believe that this was 2012. Um and you know that is kind of a long time somewhat but really not really not really in historical terms. So you know we'll talk about some more breakthroughs. That's just one of them.
Uh however there are challenges uh that were encountered along the way. Um obviously like a lack of research funding was a big challenge. Um probably bigger like bigger than that definitely are these next two which are data and hardware. These are the two things that stalled deep learning progress for a long time. Hardware mostly because neural nets and their structure. This is something we're going to learn about benefit immensely from advanced GPU hardware. Um it's primarily because the computations that a neural net does benefit a lot from the parallel parallelization that a GPU can provide at the hardware level.
Um and so only until recently have we had a lot of advancements in hardware such that GPUs are readily available. wasn't always that case and also it wasn't always the case that that the code the Python code could take advantage of a GPU but it it can today pretty easily um with our frameworks like PyTorch and TensorFlow they they make it easy to take advantage of the GPU hardware and so that's why we've seen an explosion in the last 1015 years because GPUs are more readily available and can be taken advantage of by the code um same thing with data data is more readily available, right?
So there's a lot more of it, a lot more it's it's cheaper to store it, a lot easier to collect it. So it wasn't always that case. And what the cases with neural nets is you need a lot of data to train a neural net more than what we've used so far for the structure data problems um that we've dealt with. Um, so the the the expensive nature of storing data and getting access to it was also prohibitive to a lot of progress in deep learning, but that's that's been kind of fixed, right? It's now a lot cheaper than ever.
And consequently, we've seen a big explosion, right? Last 10-15 years. Let's talk about deep learning then uh a little more in particular. So we just covered the fact that um deep learning focusing on using um neural nets and often what are going to be deep neural nets which are going to be neural nets with uh a lot of layers or a lot of um complex structure to it um to be able to uh learn from data. So learning from data is machine learning, right? But using neural nets to do that is deep learning. Um so that's where we're at is using neural nets in particular, moving away from just basic machine learning into more specialization here with neural nets.
So um what's nice about neural nets is that it can work with structured data but as I've said it can unlock the ability to work with unstructured data from many different domains such as imagery, audio, video, text um to make predictions uh usually um and the um uh this has unlocked a lot of progress in domains like computer vision so object detection, self-driving cars, those kind of things NLP which is dealing with language so language tasks like sentiment analysis translation text generation um even working with audio data like speech recognition a lot of progress in those fields um and deep learning is going to be able to surpass a lot of the machine learning techniques that we've seen because they have a very uncanny ability to learn complex patterns um One of the things that is um that gives that the ability is how complex the model is.
But the other thing is it's going to use a lot of data. So it's going to have a lot of examples to go off of. It needs that in order to extract those complex patterns amongst imagery, text, audio, video, right? It's going to require a lot of data. So that's something we'll see when we start doing examples. Okay. So just to compare the two. Um so we're talking about deep learning and machine learning and remember deep learning really being a subset of machine learning. Um machine learning is a little bit more broad. Um where we have you know unsupervised learning supervised a lot of the problems in deep learning are still supervised meaning that there's still a label like if you have an image there's still a label of what that image is.
Is it a cat? Is it a dog? Is it a giraffe? Right? or one of those thousand categories like an imageet uh challenge. So there's still a supervised nature to a lot of these deep learning problems. It's just the model that we're using is now a deep neural net, right? Instead of a decision tree, instead of a random forest. And also the data is inherently different, right? It's going to be imagery, it's going to be text, potentially audio, video. So, we're moving away from structured data and really focusing on unstructured use cases with things like images and text.
Um, one of the things that's true that we've seen so far is especially with machine learning course we just finished, we saw that it's really important to get those features right. You know, we have to do some data prep to get our features correct, get rid of any null values. um maybe even engineer some features like scaling it or adding two features together. Um it's really important to do that. What we're going to see with deep learning is it's not that important to do that. It's not that important to do feature engineering at all because then the network's going to be so powerful at picking up on patterns from the original data like the original images.
um we're not going to need to do a lot of manual feature engineering with with deep learning. So that's going to be one kind of advantage here is not a lot of manual uh feature engineering and that's actually the the imageet uh challenge we just talked about with Alexet uh convolutional net winning that challenge that was the thing everybody was doing was trying to do a lot of manual feature engineering so that they could use like a a classical machine learning model like a XG boost um But doing that wasn't as effective as just a really good neural net that can just extract patterns from the raw data very effectively um using something like convolution.
Okay. So deep learning as I've said really excels in those kind of tasks like image recognition, NLP, speech uh recognition. Um so we've talked about that. Uh it NLP remember is short for natural language processing. You'll probably hear me use that word NLP, especially when we get to later on and we're studying things like transformers and RNN's. Those are just language tasks, right? So, think of text, working with text, text generation, sentiment analysis, uh speech or language translation, I should say. Um so, processing natural language, which is really text, right? For for our use cases.
Um deep learning often requires really large data sets. So much more data than you see in a machine learning technique. Um and also more computational resources. So this is think GPU. Most deep learning is going to benefit from using a GPU whereas machine learning doesn't really use that at all. Like if you do a decision tree, an SVM, a logistic regression, you're not using a GPU at all. You don't need to. you it will still be pretty effective um without that and uh whereas deep learning a lot of models will take forever. Just to give you some context like the um GPTs of the world these transformers that are you know neural network based um they train on data that's about the size if you took all of the text from Wikipedia and more.
So all the text from Wikipedia um plus maybe all the text that would be in an encyclopedia collection. Think of a data set that big as a prototypical training data set for something like a GPT and think of thousands of GPUs working together. Even in that case, it can still take days to train a model. days, not minutes, not hours, days because the models are so big and there's so much data being processed to train it. Um that is uh how much time it takes to train those kind of models. So there's substantial amount of resources um which is why there's so many uh news articles written about you know Nvidia and partnering with these uh generative AI companies like OpenAI and Microsoft etc.
Um so a lot of resources are are needed now for the networks we're going to build in the in the program not so much. We'll we'll still explore using a GPU and we're actually going to practice using a GPU. Um we will have access to free GPUs in collab. So that's really nice. Or even the simply learn lab environment has free access GPUs. Um so we will practice using it and it will benefit us for things like image recognition working with imagery or RNN's or transformers even um they'll benefit us. But just as a rule of thumb, deep learning requires more data, more resources to to train computational resources.
If you have a Windows machine, sure, um you can use the Nvidia GPUs. If you have a Mac, um like a MacBook, um even like one of the M1, M2, M3, M4 series, those have built-in GPU capabilities that uh we can take advantage of. So, I'll share those resources with us when we get to building our models. But even if you have like one of those M1, M2, M3, M4 Max with the the silicon chips, they can use their internal GPU to train models. Um, and I've done that before and it's really nice. It speeds up the training a lot.
Um, we can also use Collab. So, Collab offers free GPU access, uh, which is nice. Um, so we can use that too and we will. So we'll practice that uh as when we get to it. And then finally, deep learning. You know, we're going to be using neural nets that uh are potentially very deep in the sense that they have a lot of layers. So we haven't studied what a layer is yet. That's okay. Just think of a really complex model with a lot going on with it. that's going to be um you know way more complex than something like a decision tree or SVM or random forest even.
So that's what we're talking about here. To train deep learning, we uh often will use GPUs uh because they're going to be really effective. Most traditional machine learning methods that are not deep learning can get away with just using a CPU because they have very simple algorithms that are that are training that do not require using the um underlying GPU resource that can really speed up uh uh deep learning. So I wanted to take us through some of the successes that have been recent, some of the foundational kind of moments. Um and there's been growth in a lot of areas.
So working with audio, computer vision, even reinforcement learning that has been um powered by deep learning. Um most reinforcement learning algorithms prior to deep learning were based on what are called kind of tabular methods um where they were uh keeping track of um uh rewards and and uh data in in a more structured format. uh but deep learning has since made a lot of progress in simplifying that and and uh making it much more powerful and and even in reinforcement learning. We'll talk about one of those uh cool moments there. Um so back to the Alex net, you know, we talked about this in 2012.
This was the champion in the renowned uh imageet challenge. Um this is where again they used convolutions to really uh power um learning imagery and being able to classify images. Um and this this was so groundbreaking that uh a lot of moments in deep learning over the years have been referred to as kind of a imageet moment or Alexet moment um because how big of a breakthrough this really was. in 2012 um these this convolutional model was kind of created. Now we'll study this architecture later on of what this actually means, what these uh layers are doing, what is a convolution.
Um we'll study all of that when we get into computer vision. But this was a huge breakthrough in working with image data. Then in 2013 we have a really important breakthrough of working with text known as uh the first kind of word embedding model which is really really important for where we are today because word embeddings play a really critical role in working with text. Uh because these are um models that map text into numerical vectors which is really critical for um working with language modeling. And every transformer really has a word embedding at the very front of it to take raw text or tokens and essentially um make those into a mathematical vector so the neural net can work with it.
The very first uh model there that was a big breakthrough. This is 2013 um was a model called wordtovec uh which uh you may have heard of. This was uh used for uh pre-processing text essentially to to map it from raw word or tokens into uh vectors. So really really critical for any kind of language model to do this. And so this this has been around for a little bit longer than the language models but this is a really important breakthrough for them for for generative AI. So every gener like GPT cloud every everybody has a word embedding model that's at the very front of their uh transformer-based u text generation model.
So this is this is a huge breakthrough. Um then we have the very first kind of uh language models known as sequence to sequence. Now this is not using a transformer. So this is using RNN's to try to do NLP tasks like a language translation from uh German to English or French to English or or English to French whatever it is. Um and they tried to to make uh NLP so doing things like translation, language generation, sentiment analysis. Um they tried to make it a lot better and it did. So at the time RNN's were kind of the best language models around and this is 2014 but they quickly get surpassed by transformers not too long after that and that's where we are today.
Everything is kind of transformer-based but at the time RNN's were kind of the best uh for language. We will study RNN's uh later on in this course. recurrent neural nets, RNN's, which are just a flavor of deep learning that uses a a special architecture. So, here it is again, just some different variations. There's a lot of different variations on the RNN architecture um that attempts to predict um again what word should be next in the sequence using the RNN. We do that very well today with transformers rather than RNN's but at the time these were the best around.
Okay. Right around the same time in the image generation uh field we have GANs as a big breakthrough. So what what are GANs? They are uh generative adversarial networks. Um these are models that generate images fake images. Um, and they do it through a competing uh adversarial networks that um, one is a generator that builds images. The other is a discriminator that's supposed to predict if that image is real or fake. And they kind of boost each other up so that the generator by the time the training is done is so effective at generating fake images, they kind of mirror real images.
This actually led to the explosion in deep fakes. So, deep fakes became a real issue. There's still issues today, but the the first issue, the first time it was an issue was really when GANs were uh prominent. They were developed in 2014. So, again, not too long ago. Um, most models that generate images today are actually not GANs. They're what are known as diffusion. So like Dolly and in and the Google banana models that you can um put in some text and generate an image. Um they're not GANs but GANs were the earliest kind of image generation models that were out there and really effective and some of them are still used today for sure but majority of image generation models are are what is known as diffusion which we will study later on when we get into generative AI but this was a huge breakthrough in using neural nets to generate images right that idea of generating images through neural nets this was a big breakthrough through here 2014.
Okay. And then on the reinforcement learning front, um we have the Alph Go developed by Google and its Deep Mind team. First, uh kind of machine program to defeat a professional Go player. So, if you've never heard of it, Go is a board game that is thought to be more complex than chess because the board is a lot bigger. Um it has more complex rules to it. um and more uh more state in terms of the the the way that the pieces can be placed on the board. There's a lot more variability in in the pieces uh in their positions on the board.
So, it's thought to be a more complex game and it was mastered by reinforcement learning using deep learning. So this is the first time where deep learning really um benefits a reinforcement learning model so much that it's able to beat uh go professional go players. Um this was a huge breakthrough 2016 about 10 years ago. Um huge breakthrough especially in reinforcement learning. This is where deep you know deep learning being able to be used in RL big deal. It wasn't always that way. Okay. And now to the big one which is 2017. This is what I alluded to earlier with transformers.
So this is where um the very first transformer was created. We're going to study transformers later on in the course, but transformers changed everything when it came to language tasks. So I said RNN's were used prior to transformers around 2014 to do a lot of language tasks. Transformers come along a few years later and really revolutionize everything. And all of the generative models today like Chad GBT, like Gemini, like Claude, they're all based on Transformers. They are just massive extensions of the Transformer idea. Um, these large language models, these LLMs are all based on the Transformer idea.
This was a huge breakthrough. I remember myself um I had just gotten into data science, machine learning in the industry right around here like 2016 and I remember reading this paper at the time. Uh and how important it was. It was just a huge breakthrough. Uh the attention all attention is all you need. Highly encourage you to go and read that if you can. Um it's it's amazing. Now, it might not make sense yet. By the time we get to transformers, our lesson on transformers later on in this course, probably make more sense, but um really fascinating breakthrough.
This is 2017, not that long ago, right? Really not that long ago. And not too long after this, we see the explosion in generative AI, right? Especially for text. So, those are just to name a few. Obviously, there's been other advancements over the years, but those are some of the biggest. Um, and uh what we've seen is uh um deep learning has really come a long way. There's so many cool algorithms. There's uh there's also been an explosion in in implementation uh um because we have these um frameworks readily available that are open source that anybody can use.
So more it's it's more and more people have access to these libraries and are able to develop their own algorithm in the community. So the research community has benefited a lot and we've seen because of that an explosion in AI tools and uh AI models because of the ease of use of these deep learning um frameworks and and all the advancements that have come over the years. So, a lot of cool uh libraries, a lot of efficient algorithms out there and we're going to study those like we're going to study TensorFlow, we're going to study PyTorch so we can build our own networks.
But the community has benefited greatly and has been part of the reason there's been an explosion recently is because of how easy it is to get access to those libraries and start building your own neural nets and trying things out really easy. Okay. So that brings us to uh an important question which is why should we study deep learning? I said before that you know it's an advanced topic. Not everybody studies it. It's a bit of a specialization within machine learning and a lot of people just get through data science and machine learning and kind of stop there.
So what reason do we have as learners to actually study deep learning? Going to talk about that. Um, one of the key reasons is that deep learning, as I said before, unlocks problems across many different domains that were that are difficult but are necessary in those domains. So, I'll give you one example is healthcare. There's so many image related examples in healthcare that are really vital that neural nets help with significantly. So think about analyzing images and image data of the body or of um the brain of um potential diseases. Those can be more readily analyzed with deep learning.
Um and so healthcare's seen a lot of advancements in analyzing that kind of data with with deep learning, autonomous vehicles of course, robotics, um even like fraud detection, there's a lot of advanced methodology there or even like time series forecasting has benefited from uh neural nets. So there's so many advanced use cases that neural nets can benefit um because it can work with text, because it can work with image data. Um it just unlocks a lot of possibilities. Um so so that's one reason is it just gives us many more problems we could potentially solve in in different domains.
It's worth studying it there. Another thing is we have so much more access, right? So, um, GPUs are more readily available. Um, cloud environments have GPUs readily available. We're going to see that in collab like we are going to be able to work with GPUs in collab for free. But certainly like if you're paying for it on a on a cloud provider like GCP, AWS, Azure, they all have GPUs that are relatively cheap. Um, considering that we're actually using, you know, advanced hardware there. Um so because of that it is because it's so readily available um we have a better chance at utilizing deep learning more than ever because GPUs are so so much uh easy to get your hands on than ever before.
Um, so it's not to say it's perfect. Like, you know, we were joking earlier about the in Nvidia um 5090. You know, there are some physical hardware elements that are expensive um and not easy to get your hands on, but like cloud resources for GPUs um are readily available pretty easily. We're going to see that with Collab in particular. Um, another thing is, uh, you know, GPUs. I I forgot to mention this, but let me go back to the slide actually is, um, one of the things that Nvidia really powered was this uh, CUDA framework.
This is something that I mentioned a little bit earlier. This allows the Python library to interact with the GPU and be able to offload operations to it instead of having to keep everything on the CPU which is much slower for the neural net operations that that it's doing and its layers. Um and so in uh there was kind of this um framework to interact Python with the hardware this CUDA um library and um because of that uh the libraries that manage neural nets like PyTorch and TensorFlow have integrated the CUDA framework and have the ability to easily manipulate operations on the GPU um which makes working with uh neural net so much easier.
here. So you can take advantage of a GPU. That's just a long way of saying you can take advantage of GPU really really easy with the modern framework. So with PyTorch with TensorFlow they can interact with the GPU so easily because of things like the CUDA framework um makes it so much easier. So the the CUDA is we don't ever see it. it's abstracted away with the framework like PyTorch or TensorFlow and we're going to see that we are going to build models in PyTorch and TensorFlow that will take advantage of the GPU. So we're going to see this directly how easy it is to truly take advantage of that hardware and it's going to speed up our operations a lot.
It's it's going to make it so much faster to to do that processing. Okay, so we just said GPUs uh play a critical role um and they're more readily available than ever. So that's another reason to kind of learn deep learning is we have access to these resources. Um and it's it's really because the GPU can do parallel math operations so efficiently, way more than a CPU. Um so they they really we're going to see the effects of this you know when we do especially working with um computer vision and convolutional networks working with a GPU then becomes almost necessary.
It'll speed up operations so much like if we didn't use it we'd be sitting there for minutes maybe hour waiting for the model to train but if we use a GPU it'll take seconds it'll really speed it up a lot. Okay. One of the other reasons we we've kind of hinted at this is just a low barrier to entry. So, so this is just to say why not learn it if you're going to learn machine learning. There's so many problems that use neural networks and why not learn deep learning because it's never been easier to do.
Um there's hardware available with GPUs more than ever. We talked about that. There's user really extremely user-friendly frameworks like TensorFlow and PyTorch to help us build neural networks and they're open source. So they're easily we can pip install it, get it into our environment and start building neural nets and training them really really easy and we already have all the fundamentals we need to really understand model building, model training, um model evaluation. we have all that fundamentals from working with uh Python, working with uh machine learning that we've already done, data science. So, it's pretty easy to get into at this point.
So, why not, right? It it's just going to help us uh expand our the breadth of our skills and problems that we can solve. And like I said, opensourcing these like TensorFlow and PyTorch was a big deal. It made it so much more accessible for the community to build their own neural nets. Prior to that, it was really limited to these big companies. You had to be in one of them in order to really start building neural nets. But now, anybody can because these are free and open source like TensorFlow and PyTorch. Okay. So, another key reason and you may be wondering this especially because of generative AI um taking over uh a lot of development these days but still there's a need for trained deep learning experts and practitioners.
So many um companies still work with deep learning models and need deep learning expertise um to be able to like tweak the training, set up the training, set up the model, um make the adjustments if the training doesn't go well, really understand the model. Even if you're using generative AI, you still need to have an understanding of how the modeling works and how it functions in order to effectively use it. So there's still a need for deep learning expertise regardless of AI and generative AI. So it's a good opportunity. It's a it's a good skill to have.
Um, I can say this like beyond just having data science and machine learning experience going through this program, I think having the deep learning experience is just another really um beneficial thing to have if you're trying to get into the industry. It it really unlocks more potential for you, I think. And again, not everybody studies it. So, you're getting a uh kind of uh um advancement above the competition potentially by learning deep learning. Any questions about any of that? Hopefully, that makes sense to us. We feel motivated to learn deep learning. Again, it's an advanced subject.
Not going to be the easiest subject. There's going to be challenges along the way. Um by no means is it easy, but I think it's worthwhile. And there's still a lot of problems. You know, one of the things that we didn't mention on there that I think is important to call out is so much of generative AI is deep learning based. So, it's worth having the expertise in deep learning in general to be able to apply those skills to generative AI and really understand the the kind of models there like a transformer, right? you if you understand how it works effectively, you can better work with it.
All right, let's talk about some applications. So, um there's many, as I said before, there's many different uh fields that really benefit from uh deep learning and working with neural nets. Um, so here's some of them, just a few, you know, um, NLP being a huge one in terms of processing text, being able to understand human language, that's a big one. Uh, self-driving cars, using computer vision for object detection. That's something we'll talk about and study. Um, not only like detection of objects, but classification of them. So, think of like, okay, here is an image and inside of it, there's a pedestrian over here.
There's a there's a a sign like a a stop sign. There's a tree over here. There's another car over here. Um, here's the road uh um divider. Um, so so many objects that are that you can detect in the environment and really classify what they are. And that's all powered by deep learning. Um, same thing with audio processing, transforming speech to text. That's how we talked about earlier. That's how things like Alexa and those voice assistants really work. It's translation of audio into text. Um, and then uh manipulating images as well. So generative AI with images.
So much of generative AI is all deep learning based transformers um diffusion models that uh generate images, GANs, all of these generate and manipulate images. They're all based on deep learning. So much of generative AI is deep learning based. Okay. Now there are some limitations. Uh, one of the things to realize about deep learning, we've talked about it a lot so far, is a significant amount of data is usually required. Meaning that deep learning may not be the best for tasks that have um little amounts of data. And so, what is little? Um, usually we're going to be dealing with uh in the tens of thousands, if not more.
That's like a that's on the very low end of maybe images or text examples in order to train a moderately sized neural net. Um maybe even on the smaller end of a neural net. The bigger the neural net that we have, the more complex of a model we have, the more data we need. Um, so this is this is like for the problems we've dealt with so far, throwing a neural net at it would likely be overkill and would not be effective. So it's not like we can just throw a neural net at our housing data and expect it to predict the price very effectively.
It doesn't work like that. We would need a lot more data for that to be effective. Um, and we would probably need to tweak the neural net uh a good amount to get an effective model there. Um, the neural neural nets have a tendency to overfit. So they they need a lot of data to avoid that overfitting. They need a lot of examples. Um, and that can be sometimes difficult to come by. um the amount of data that's required to be collected. Generative AI like GBT requires so much data. That's why they're using people's chats to continuously build a data set so that it can keep training it.
Um so much data is required there to train a really effective model especially one that big. Um just requires a huge data set. Um let me give you an example. So consider you know a model that's we've we've used this example before right just differentiating or classifying cats and dogs. So this image is a cat this image is a dog and etc. Um, in order to to do this effectively, we would need many different images of cats and dogs. And and likely those images would have to be of different size cats and dogs, different breeds, um, from different angles, potentially from different lighting and brightness of the image.
Um, many different variations on those. And they would also have to be labeled, right? So it's it's still a supervised learning problem. Um so you know gathering that data set may be an expensive endeavor may not be trivial. So um that is kind of a a cost burden of doing deep learning is the data. It's going to be a lot. Um you may need a really massive data set and that can be difficult to acquire in some instances not all but in some cases that may be difficult to acquire. So it's just a it is not a limitation so much as it is a caution that if you're going to use deep learning you generally need a lot of data and so you have to be prepared to collect a lot and process a lot in order to um have an effective model.
The other thing is hardware. We've talked about this. Now, it it's again not necessarily a huge limitation because we do have access to GPUs, but you may need to pay for it. Um, and you may need advanced hardware. The more complex your model is, the more you're going to benefit from, you know, uh, a more complex hardware like a GPU. um it is more readily available than ever, but it doesn't mean that it's always going to be free and always going to be easy to uh acquire. So there may be some work there to use that or to acquire that hardware um for a really complex model.
Now that being said, we are going to work with free GPUs for the examples we will do, but the examples we will do will be relatively uh moderately complex examples. They won't be um you know massive models that would require a much more significant hardware investment to to be able to run. So I used the example before um something like a Chad GBT is going to be using thousands of GPUs. That's a significant investment. If you're just using one for free from like Collab to do simple examples, that's one thing. But for a really big network, um you're going to want to use a significant amount of GPU resources um which may be costly, right?
So it's just something to be aware of. Okay. So one of the other limitations I mentioned earlier is that deep learning because there's um it's such a complex neural network it can be susceptible to overfitting. Um in fact they are very susceptible to overfitting can easily overfit especially if there's not a lot of training data. Um and that's just the nature of the neural net. it it's so complex of a model that it can effectively memorize the training data very easily if you don't have guardrails in place. And that's one of the things we're going to study in that lesson on optimization of the training process.
How to avoid overfitting. There's certainly things we can do and we're going to study to prevent a neural net from overfitting, but they are very prone to it naturally very prone to it because of their complexity. Right? Remember, remember we talked about overfitting. The more complex a model is, the more likely it is to overfit. The more basic a model is, the more likely it is to underfit. So, neural nets fall in that category of being really complex. So, they are very prone to overfitting. So, something we have to kind of uh be on the lookout for.
We'll study some techniques to help us uh overcome overfitting or prevent it. All right, another one that is very underrated and a lot of people don't think about when it comes to deep learning is the explanability of deep learning is very very limited. So when we studied machine learning and we did things like logistic regression or a decision tree that was super explainable because we like in logistic regression you get coefficients on every feature right you get those betas so we know exactly which features are important because they're going to have higher coefficients right and same thing with like a decision tree you get an actual tree structure so you know that you know the path that leads to a prediction and so they're really readily explainable.
The issue with neural networks is they're often a black box and and what that means is you put data into it, you get a result out, but it's almost impossible to explain every little thing that happened that led to that prediction. Very difficult to explain with neural nets because they're such a complex model. they don't have a very natural way of um having like a single coefficient. Most um to to give you some context, most modern neural nets like like uh uh GPT um that's generating text is going to have in the billions, tens of billions, hundreds of billions if not trillion weights.
Uh which are, you know, think of those betas. It's going to have like a trillion of those betas. So it's impossible to say what a single contribution to the prediction is. Um now this is an active area of research um in the research community is people are trying to figure out good ways to um break down how a neural net's making a prediction. But it's still is near is pretty much not possible relative to other machine learning techniques. um they're just they're really complex models. You put something in, you get something out. It's hard to say what happens in between.
You know the architecture, but it's hard to say what exactly contributes to that final result. It's hard to hard to trace that back. Um so, uh deep learning can be very difficult for explanability. And and this actually has an effect in like regulated environments. Let's say you're in the finance industry and you're making um like loan decisions based on a model. Um you probably don't want to use a a neural net because it's going to be hard to explain how you predicted your like uh loan or not loan decision. Um you you probably want to use something that is more explainable like logistic regression or a decision tree which would those you can directly see the contribution of their features, right?
um leading to a prediction whereas a neural net you're not going to be able to see that. It's just too complex of a model. Okay, so that's another kind of drawback of deep learning. Now there on the opposite end of that, there are cases that we don't care about the explanability at all. So you think about like a self-driving car, we don't care the explanation of why this is a stop sign, why this is a pedestrian, why this object. We just want it to do that really fast. It needs to be real time. It needs to be really fast.
We don't care about an explanation in that case, right? We just need it to make an accur accurate prediction. So there are certainly cases where we don't care about that. But in a lot of like regulated industries, you may care about that. Uh if you're if you're using a model to make some type of decision, um you may care about the explanability of it, in which case neural nets are not ideal for that. All right, let's talk about the well before we do this before we talk about the frameworks any questions about uh some of those limitations.
So recapping those a lot of data is needed a lot of hardware resources are needed typically especially for complex networks and then uh there's a real lack of explanability which could be prohibitive in certain situations not every situation but certain uh modeling scenarios. Let's talk about some of the uh the frameworks then that we will use. So these are going to be uh basically our libraries and tools to um help us develop neural networks. Um basically they um they allow us to design neural networks. They allow us to train them. They allow us to debug them like how they're working or what kind of uh evaluation we're doing, if they're producing any uh any bad results.
Um and also for deployment. Now, we won't really focus on deployment uh too much. That's not that's going to be out of the scope for us a bit. We're going to focus on um how to design and kind of train them. But these Python frameworks will allow us to build and train and evaluate uh neural network neural networks. Um and this is huge like like I said earlier, it wasn't always this case, right? You really had to be part of these large corporations that were doing this like a Facebook or a Google in order to have access to the tools to build neural networks.
and now they're readily available like PyTorch and TensorFlow. So the main the main uh frameworks that we're going to study are uh PyTorch and TensorFlow. Now Caris is on this screen because what we're going to learn is Caris is really um embedded into TensorFlow. It was actually developed by Google, the same people who made TensorFlow. It's really just a part of it. It's it's an interface to core TensorFlow. So when we hear the word caris, we should really be thinking TensorFlow. It's the same thing. Um it's actually technically built on top of TensorFlow and allows us to interface with TensorFlow.
Um but so so these these were built by Google and then um PyTorch was built by Facebook now Meta. Um but at the time Facebook um and they are open source now so they're widely available and of course we will learn how to use them to build neural nets and uh uh train them. Um they're both widely used. So both widely used community. Um, most people ha just have developed a preference for one or the other just based on either what they originally learned to begin with or um what they just naturally like. Um, but the the truth is there's uh a lot of models out there like um even like an open-source GPT that exists or Llama, they're developed in both frameworks.
They have a version that's developed in PyTorch. They have a version that's developed in TensorFlow and it's they do the same things. They mostly just have syntax differences. That's the only only thing about it is they primarily just have syntax differences. Um but again, it's worth our time to study both because both are so widely used. Um and honestly, both are still maintained even though they're open source. Both of these companies still maintain uh groups of developers that are maintaining these libraries. So there's still people within Google who actively manage TensorFlow and there's still a group within within Meta now that's actively managing PyTorch.
Um and they they do work on it all the time, but it's also open source. So contributions can come from anywhere really, but there's dedicated kind of people within each of these uh companies that are still maintaining these frameworks because they're so critical, right? They're so critical to doing deep learning um and doing neural networks. So we're going to study them uh pretty deeply. So caris, let me talk about caris. it is um going to be a a interface in Python to the TensorFlow library. So TensorFlow itself, so TensorFlow was created first and then Caris came along a couple years later um to interact with TensorFlow.
TensorFlow is kind of the underlying library that Caris is built on top of and it just it's much much much more user friendly to manipulate and manage neural networks. So most people gravitate towards using the caris library within TensorFlow um to building if they're going to use TensorFlow, they're going to be using caris as as the interface to tensorflow. So it's just built on top of that um by the same Google group who made TensorFlow. Um and it's it's the advantage of it rather than using the original TensorFlow is so much easier to get started with and build neural nets and so much easier to manage them.
It's a really nice interface of TensorFlow. So when we build models in TensorFlow, we're really going to be using caris, okay, as that um kind of library on top of uh TensorFlow um to to build uh to build neural nets. So we will study that. Um is there an advantage of using caris directly? Yeah, that's what it is. It's it's a really userfriendly interface. So it's designed to make uh building TensorFlow models so much easier because the truth of it is like core the original TensorFlow is kind of ugly. It's kind of ugly and like messy to deal with.
So um people when they're building TensorFlow models gravitate towards using caris as the interface to tensorflow because like core tensorflow is really messy. Um TensorFlow is as we'll learn later is is basically a graph library for building like a tensor graph to to uh mimic a neural network a graph of uh computation. But Caris makes it so much easier to to work with TensorFlow. So most people gravitate towards caris than just usually you won't ever use the original TensorFlow unless you're maybe doing specific research that would require it. You're mostly always going to use caris to build your models and train them.
So that's what we'll do. Okay. So underlying caris is TensorFlow which came first. um from Google. Uh it's you know obviously within Python it's open source now um and this was the original library they built inhouse to to manipulate and manage neural networks. Um you know caris came along as the interface to tensorflow uh to make working with TensorFlow so much easier. Um so that's something that we'll see and actually TensorFlow has some really cool tools uh uh as part of it that we will uh work with later on. They have tools for like visualizing the training process which is really nice.
Um so we'll work with those. Okay. So on the other end of it is PyTorch that uh that Facebook developed now Meta um who still maintains it but it you know has been open sourced. um same kind of thing they were trying to work with neural networks and needed an in-house uh you know in-house library to do that and so they developed PyTorch at the time um you know and since it has been open source to the community um and it's it's very similar to TensorFlow honestly has the same kind of features uh as TensorFlow So um it's just a different syntax um and uh so that we're going to work with both as I said we're going to work with PyTorch and with TensorFlow um in order to build models and and uh train them.
So as I said in the community it's kind of a 50-50 split on which one people have a preference for. I personally um like PyTorch. I I I actually learned TensorFlow first. Um but found myself liking PyTorch a little bit more. Um but it's preference honestly. It's preference. And I've seen um it it really just depends on which what you like better. And then often times like where you're working also determines you know maybe everybody has a standard for okay we're all going to use TensorFlow or oh we're all going to use PyTorch. um you see things like that but um honestly if you know one of them you will be well verssed in the other and and we are going to work with both so we'll get exposure to both just syntax differences really um between the two so what I wanted to do was wrap up this introduction so we've covered a lot in the introduction but I wanted to wrap up specifically with um the life cycle of a deep learning project which I think we're going to see mostly overlaps with the same steps we were doing for machine learning.
Um it's just there's going to be more um you know there's going to be more details that are that are involved here when we do training when we do uh model building. Um but mostly the life cycle this is honestly this is the same as machine learning from a high level right it's mostly the same we have some type of data collection and data prep phase which is kind of what this is um so so this is like our data prep that we do for machine learning we're used to doing that um first usually now prior to that there may be some planning that has to be done uh to collect data.
And in deep learning, that may actually be a significant amount of work to um go out and gather a bunch of images or process a bunch of images or text data um you know and label it appropriately. That may actually be non-trivial, but uh you know all the examples we will do will assume we already have that data. Um but other than that it's mostly the same steps in term at a high level of like once we have our data prepped we go ahead and and um train we build and train our model. Um obviously the details of doing this with a neural net are going to be much different than with a basic model like logistic regression or something.
Um but once we train the model we then evaluate right we evaluate it on some test data. um evaluate and see how it performs and that and the reason there's an arrow backwards is based on that evaluation we may need to make make some tweaks. So you know at each one of these it could be very iterative um in the training like if we're not if we're underfitting we may need to go back and revise our data. We may need to revise our model even. Um so it can certainly be iterative. Um and then after you have a model you're very satisfied with in the evaluation phase, that's where you can get into kind of um deployment of it and then like monitoring it and m maintaining it.
These two things we're not going to be focused on too much because again it's going to be a little bit out of scope for us. Um we're mostly going to focus our attention on these two phases training and evaluating of neural nets. Okay. But let's talk a little bit more about these steps. So the planning uh as I said this is where um the primarily whenever you're doing deep learning this third bullet is is really um critical. So I would lean on this bullet as really critical as so planning really meaning what resources are we going to need in terms of data what kind of data are we going to need like images text you know what are we working with here not only data but hardware like can we get access to like are we going to need a GPU um can we get access to that um for especially for deep learning that's going to be really critical to know your resources ahead of um and be able to have those available especially the hardware um like a GPU.
So usually there's some thought put into that from a planning perspective um in terms of the resources. Uh then there's the actual collection. So depending on the problem, this could be very different, right? We may be physically taking a bunch of images. We may be downloading a bunch of images or or grabbing them from some database. Um we may have IoT sensors that we're collecting sensor data from or like our self-driving car is taking a bunch of imagery sensor data. Um so that could be different. um audio, you know, audio or video, we could be collecting for examples.
We need to collect that and we also need to label it, right? We need to have adequate labels. Um and like think of the cat and dog images, right? We need to take every single image and provide a label with it. Um if it's a cat or it's a dog and we also need to gather those images, right, in the first place. So there's going to be data prep that goes on here, no different than before. Okay. Then we're going to talk about the training phase. So one of the things about the training phase is that's not really shown here but is definitely a prerequisite is we first need to build obviously we need to build I would say build slasharchitect architect uh the model right the neural net neural net so obviously we need to do that and that will feed into the rest of the training process Now I um we'll talk about this later.
I'm not too concerned about these steps. These are just the steps of the training that we're going to learn. Um so this this will really go backward and iterate through these steps. But training of a neural net is very unique. It basically involves sending a bunch of data through the network, figuring out what your error is, and then going back and updating the network. That's essentially what all these steps do. And then you iterate through that on your data over and over and over again until your network uh learns how to effectively make predictions. Um so it's a very iterative process which is what makes it take a long time.
You're going to iterate through all of your data and you're going to do that on a number of steps which could be thousands of times that you're doing that. Um, and it's really the same thing over and over again of again sending data through computing how far off you are in the error using that amount of error to go back and update all your your model. Um, this process is where that gradient descent is going to come into play. So we kind of touched on this in the recommendations with that matrix factorization learning. Um we are going to study this in detail quite a quite a bit more here in neural nets because that's really what's going to power neural net training is um gradient descent.
So again these things I don't expect us to know right now. Just giving you a preview of the training is a lot more involved. Um there's there's a significant amount of computation involved here in like sending data through generating predictions, computing error, updating all of our weights in our network, which could be billions and billions and billions of weights. So this this back propagation step could be significantly computationally intense um in the gradient descent and you're doing this many many many times in iteration uh across all your data. So it is significant the amount of resources that are spent in training a neural net.
All right, so there's that's the training and again we're going to have a lot more to say about these in future lessons. So let's put these terms on hold until we learn more about neural nets. I'll we'll cover what forward propagation means, what loss means, what back propagation means. We're going to study all of those. So a lot more to come on those, but for now just think of the training phase as we have to iterate through having our network learn and adjust, learn and adjust, learn and adjust over and over and over again until it learns effectively.
Um so as I said the model is goes through iterative uh performance um evaluation essentially in terms of how much error it's generating and so we keep an eye on that and continue to train it over the course of the training phase which may be lots of iterations and you can go backwards at this point. So based on the training, you may go back and adjust your model. You may go back and adjust your uh parameter like your hyperparameters of the training which is going to be a few. You may go back and adjust your data which is what this slide's saying is that we may have to go back and collect more data.
We may have to double check our labels. Um there could be a lot of reasons that we need to go back and make adjustments. It could be we changed the architecture as well like we actually changed the model itself the neural net. Um so going back to this diagram there's a lot of iteration that happens. So you know based on the training we may go back and alter our data we may alter our model based on the evaluation we may go back and um alter our training hyperparameters a lot that we you know may be modifying during the course of the training.
So the training is going to be more intense I think in neural nets than what we've seen to this point with usually what we've seen to this point is we just run a fit and everything happens for us right especially with scikitlearn right we just run dot fit and boom we have a model that's trained like a logistic regression or uh decision tree right dot fit and it's done this is not going to be as simple there's going to be a little there's going to be more setup more moving parts involved olved um more computationally intense for sure to do to do the training.
Okay, but either way we slice it, there's still going to be an evaluation phase, meaning that you know even if we train, we still need to compute metrics to see if our model has performed well enough on the training data and on this testing data. So from a supervised learning perspective, that step will basically be the same as what we've seen before. Once we've trained the model, we're going to apply it to a hold out test set of data um and decide whether or not the model's performing well. Is it overfitting? Is it underfitting? We can tell that on a test data just like we did with machine learning.
That will not change. So what we're going to do is still have training data and a chunk of data that's probably smaller but still test data that we will train the neural net on this and then apply it on this to evaluate. Right? So we're still going to do that even we did that in machine learning. We're still going to do that here in deep learning. Um and the idea there is to make any adjustments um that we may need based on the performance we're seeing. This is what we just said. So still an evaluation phase that's more or less the same.
Obviously just a different model this time. It's a neural net. Okay. Then if everything checks out there, we can deploy it. And there's many different ways to do that. Not going to get into them in this course. But uh suffice to say that once we have done the evaluation, it's kind of ready to go and we would do a lot of um kind of packaging up and infrastructure and things to kind of host the model. Um many different ways to do that, but uh the goal here is to be able to actually use it to make predictions in in some some way, right?
So maybe we're using it in like an object detection inside of a self-driving car or something. Um, and of course once you have that model out there, you're going to keep monitoring it and maybe make adjustments as you see the predictions coming in. So one of the goals that of even building the model in the first place is of course we're going to apply that to new data that has never been seen before and that's where things can go off the rails. So you really got to monitor the performance as you are predicting on new data, right?
And see how it's performing. So um you may want to retrain it, make adjustments, maybe in the extreme maybe you have to go back and uh change the model up um but you should be keeping an eye on the performance if you are using that model on new data. So uh just to wrap up here on this introduction lesson. So that's everything we've covered so far is just background information about neural nets. So we have not talked about what a neural net is technically from like a math perspective. We haven't covered…
Transcript truncated. Watch the full video for the complete content.
More from Simplilearn
Get daily recaps from
Simplilearn
AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.

![CBAP Full Course 2026 [FREE] | CBAP Certification Tutorial For Beginners | CBAP Course | Simplilearn thumbnail](https://rewiz.app/images?url=https://i.ytimg.com/vi/yZsDPAqJAAA/maxresdefault.jpg)

![CBAP Full Course 2026 [FREE] | CBAP Certification Tutorial For Beginners | CBAP Course | Simplilearn thumbnail](https://rewiz.app/images?url=https://i.ytimg.com/vi/6M5oKNBBsIM/maxresdefault.jpg)
