Deep Learning Fundamentals - Classic Edition

A newer version of this course is available! Check here for details!

Deep Learning playlist overview & Machine Learning intro

video

expand_more chevron_left

text

expand_more chevron_left

Deep learning and artificial neural networks for beginners

This series covers and explains concepts that are fundamental to deep learning and artificial neural networks for beginners.

In addition to covering these concepts, we also show how to implement some of the concepts in code using Keras, a neural network API written in Python. We will learn about layers in an artificial neural network, activation functions, backpropagation, convolutional neural networks (CNNs), data augmentation, transfer learning and much more!

We'll discuss different terms, understand what they mean, and how they fit in to the overall deep learning framework. In some posts, we'll also discuss how certain topics are implemented in code using Python and Keras.

We have a separate series that specifically focuses on how to use Keras, so be sure to check that one out as well. Many posts in the Keras series assume you already have a basic understanding of the deep learning topics that we'll be discussing here in this series, so keep that in mind.

If you want to follow along with the code implementation we'll do in this series, then at least check out the prerequisites video in the Keras series so you can get everything you need in order to make use of Keras going forward.

Syllabus

Below is the syllabus for parts 1 and 2 of the course. Check back for updates regarding the potential for part 3 to be added in the future.

  • Part 1: Intro to deep learning
    • Section 1: Artificial neural network basics
      • Intro to machine learning
      • Intro to deep Learning
      • Neural network architecture
      • Training neural networks
      • Loss and learning rate
    • Section 2: Data topics for deep learning
      • Data sets for deep learning
      • Predicting with neural networks
      • Over and under fitting data
      • Supervised, unsupervised, and semi-supervised learning
      • Data augmentation
      • One-hot encoding
  • Part 2: Intermediate deep learning topics
    • Section 1: Convolutional Neural Networks (CNNs)
      • What are CNNs?
      • Visualizing convolutional filters
      • Zero padding
      • Max pooling
    • Section 2: Backpropagation
      • Backprop intuition
      • Mathematics of backprop
      • Vanishing and exploding gradient
      • Weight initialization
    • Section 3: Additional deep learning concepts
      • Bias terms in neural networks
      • Learnable parameters
      • Regularization
      • Batches and batch size
      • Fine-tuning and transfer learning
      • Batch normalization

Now that we have an overview of the course, let's jump right into our first topic!

What is machine learning?

In this introduction, I'd like to start with the very basics.

We will ultimately be discussing deep learning, so we need to find out what that even means. To understand deep learning, we must first understand machine learning.

Machine learning is the practice of using algorithms to analyze data, learn from that data, and then make a determination or prediction about new data.

If we think about it, this almost sounds like what we would do with regular code:

  1. Write an algorithm.
  2. The machine executes the algorithm on a particular dataset.
  3. Later, the machine can do the same task with data it has never seen before.

Okay. So how does machine learning contrast from just writing a logical algorithm to instruct a computer on how to do something?

Well, from the definition of machine learning that we just gave, the focus is on the “learn from that data” part of the definition.

Learn from data

With machine learning, rather than manually writing code with a specific set of instructions to accomplish a specific task, the machine is trained using data and algorithms that give it the ability to perform the task without being explicitly being told how to do so.

So this may sound like magic, but we'll see in later posts exactly how this is achieved. Let's look a basic example of how this can be done using machine learning verses traditional programming.

toy robot with a winder on its head and gears for ears (from pixabay)

Machine learning vs. Traditional programming

Example: Analyzing the sentiment of a popular media outlet and classifying that sentiment as positive or negative.

Traditional programming approach

The algorithm may first look for particular words associated with a negative or positive sentiment.

With conditional statements, the algorithm would classify articles as positive or negative based on the words that it knows are positive or negative.

// pseudocode
let positive = [
    "happy", 
    "thankful", 
    "amazing"
];

let negative = [
    "can't", 
    "won't", 
    "sorry", 
    "unfortunately"
];

These are arbitrarily chosen by the programmer. Once we have the list of positive and negative examples, one simple algorithm is to simply count up the occurrences of each type of word in a given article. Then, the article can be classified as positive or negative based on which word count is higher, the positive examples or the negative examples.

Machine learning approach

The algorithm analyzes given media data and learns the features that classify what a negative article looks like versus a positive article.

With what it has learned, the algorithm can then classify new articles as positive or negative. As a machine learning programmer in this case, you won't be explicitly specifying the words for the algorithm to recognize. Instead, the algorithm will “learn” that certain words are positive or negative based on labels given to each article it examines.

// pseudocode
let articles = [
    {
        label: "positive",
        data: "The lizard movie was great! I really liked..."
    },
    {
        label: "positive",
        data: "Awesome lizards! The color green is my fav..."
    },
    {
        label: "negative",
        data: "Total disaster! I never liked..."
    },
    {
        label: "negative",
        data: "Worst movie of all time!..."
    }
];

Next stop: Deep learning

Now that we know generally what machine learning is, the next topic that we want to cover is deep learning. Deep learning is a tool or technique that can be used to implement machine learning. We'll be covering deep learning in detail as our next topic so stay tuned for that. I hope you found this article helpful!

quiz

expand_more chevron_left
deeplizard logo DEEPLIZARD Message notifications

Quiz Results

resources

expand_more chevron_left
In this video, we introduce what this Deep Learning playlist will cover, and we also explain the concept of machine learning and how it contrasts with traditional programming. 🕒🦎 VIDEO SECTIONS 🦎🕒 00:00 Welcome to DEEPLIZARD - Go to deeplizard.com for learning resources 00:30 Help deeplizard add video timestamps - See example in the description 03:58 Collective Intelligence and the DEEPLIZARD HIVEMIND 💥🦎 DEEPLIZARD COMMUNITY RESOURCES 🦎💥 👋 Hey, we're Chris and Mandy, the creators of deeplizard! 👀 CHECK OUT OUR VLOG: 🔗 https://youtube.com/deeplizardvlog 💪 CHECK OUT OUR FITNESS CHANNEL: 🔗 https://www.youtube.com/channel/UCdCxHNCexDrAx78VfAuyKiA 🧠 Use code DEEPLIZARD at checkout to receive 15% off your first Neurohacker order: 🔗 https://neurohacker.com/shop?rfsn=6488344.d171c6 ❤️🦎 Special thanks to the following polymaths of the deeplizard hivemind: Mano Prime 👀 Follow deeplizard: Our vlog: https://youtube.com/deeplizardvlog Fitness: https://www.youtube.com/channel/UCdCxHNCexDrAx78VfAuyKiA Facebook: https://facebook.com/deeplizard Instagram: https://instagram.com/deeplizard Twitter: https://twitter.com/deeplizard Patreon: https://patreon.com/deeplizard YouTube: https://youtube.com/deeplizard 🎓 Deep Learning with deeplizard: AI Art for Beginners - https://deeplizard.com/course/sdcpailzrd Deep Learning Dictionary - https://deeplizard.com/course/ddcpailzrd Deep Learning Fundamentals - https://deeplizard.com/course/dlcpailzrd Learn TensorFlow - https://deeplizard.com/course/tfcpailzrd Learn PyTorch - https://deeplizard.com/course/ptcpailzrd Natural Language Processing - https://deeplizard.com/course/txtcpailzrd Reinforcement Learning - https://deeplizard.com/course/rlcpailzrd Generative Adversarial Networks - https://deeplizard.com/course/gacpailzrd Stable Diffusion Masterclass - https://deeplizard.com/course/dicpailzrd 🎓 Other Courses: DL Fundamentals Classic - https://deeplizard.com/learn/video/gZmobeGL0Yg Deep Learning Deployment - https://deeplizard.com/learn/video/SI1hVGvbbZ4 Data Science - https://deeplizard.com/learn/video/d11chG7Z-xk Trading - https://deeplizard.com/learn/video/ZpfCK_uHL9Y 🛒 Check out products deeplizard recommends on Amazon: 🔗 https://amazon.com/shop/deeplizard 📕 Get a FREE 30-day Audible trial and 2 FREE audio books using deeplizard's link: 🔗 https://amzn.to/2yoqWRn 🎵 deeplizard uses music by Kevin MacLeod 🔗 https://youtube.com/channel/UCSZXFhRIx6b0dFX3xS8L1yQ ❤️ Please use the knowledge gained from deeplizard content for good, not evil.

updates

expand_more chevron_left
deeplizard logo DEEPLIZARD Message notifications

Update history for this page

Did you know you that deeplizard content is regularly updated and maintained?

  • Updated
  • Maintained

Spot something that needs to be updated? Don't hesitate to let us know. We'll fix it!


All relevant updates for the content on this page are listed below.