1D convolution for neural networks, part 2: Convolution copies the kernel

Brandon Rohrer · Intermediate ·📐 ML Fundamentals ·6y ago

Key Takeaways

This video explains 1D convolution for neural networks, specifically how the kernel is copied and scaled during the convolution process, using mathematical notation and examples to illustrate the concept.

Full Transcript

you can see here where our signal has just sparsely nonzero elements most of them are zero except for a few that each of these nonzero elements results in a copy of the original kernel depending on the sign and on the magnitude of the nonzero element we can change both the size and the direction the size the magnitude and the sign of the kernel in the result but each of the points just takes a copy of the kernel adds it to the convolution and then scales it accordingly this becomes harder to see when the signal becomes dense has nonzero values altogether but you can imagine it as each element of the signal just taking a copy of the kernel and adding it in to the result we can see here even with a different kernel we get the same result by taking it flipping it and doing the sliding dot product with a signal a sparse signal we'll take that kernel and make scaled copies of it you can see the first one is just like the original kernel but smaller in magnitude the second copy is just like the original kernel and similar in magnitude and the third copy is just like the original kernel but flipped in sign we can express this same thing in math let's call our signal X our kernel W and our convolution result Y in this case we will make sure that our result Y is the same length as our signal X by trimming off the ends we'll come back to this and relax this assumption later and then our kernel W is going to have n elements our input and output Rx and ry are going to have m elements and this is what it would look like in a neural network your input is your signal X your result is your output Y and your Colonel W are your internal weights within the layer that you'll learn during the training phase well change the notation up a little bit instead of having R instead of indexing the values of our kernel from 0 to n minus 1 it makes it a little easier to handle if we index it between minus P and P this assumes that we have an odd number of elements in our kernel which is convenient when we go to slide it along it means that we can line up the value of the result with the value of the signal and they don't get sandwiched halfway in between so odd-numbered kernel is helpful and by assuming an odd-numbered kernel we can index it from minus P to P and this just makes some of the notation a little more convenient later

Original Description

Part of an 9-part series on 1D convolution for neural networks. Catch the rest at https://e2eml.school/321
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Brandon Rohrer · Brandon Rohrer · 48 of 60

1 Robot Learning with a Biologically-Inspired Brain (BECCA)
Robot Learning with a Biologically-Inspired Brain (BECCA)
Brandon Rohrer
2 BECCA talk at AGI 2011
BECCA talk at AGI 2011
Brandon Rohrer
3 Robot Learning with a Biologically-Inspired Brain (BECCA), The Sequel
Robot Learning with a Biologically-Inspired Brain (BECCA), The Sequel
Brandon Rohrer
4 BECCA listens to The Hobbit
BECCA listens to The Hobbit
Brandon Rohrer
5 Learning the building blocks of speech: BECCA extracts a hierarchy of audio features
Learning the building blocks of speech: BECCA extracts a hierarchy of audio features
Brandon Rohrer
6 BECCA listens for sound effects in The Hobbit
BECCA listens for sound effects in The Hobbit
Brandon Rohrer
7 BECCA finds movie trailers while watching the Big Bang Theory
BECCA finds movie trailers while watching the Big Bang Theory
Brandon Rohrer
8 Listening for unexpected sounds: BECCA detects anomalies in audio data
Listening for unexpected sounds: BECCA detects anomalies in audio data
Brandon Rohrer
9 Learning the building blocks of vision: BECCA extracts a spatio-temporal hierarchy of features
Learning the building blocks of vision: BECCA extracts a spatio-temporal hierarchy of features
Brandon Rohrer
10 Watching for the unexpected: BECCA detects anomalies in video data
Watching for the unexpected: BECCA detects anomalies in video data
Brandon Rohrer
11 BECCA finds a stationary target
BECCA finds a stationary target
Brandon Rohrer
12 BECCA finds a stationary target at 3X speed
BECCA finds a stationary target at 3X speed
Brandon Rohrer
13 BECCA watches the X-men and Bruce Lee
BECCA watches the X-men and Bruce Lee
Brandon Rohrer
14 BECCA plays Quidditch
BECCA plays Quidditch
Brandon Rohrer
15 BECCA chases a ball
BECCA chases a ball
Brandon Rohrer
16 BECCA chases a ball, part 2
BECCA chases a ball, part 2
Brandon Rohrer
17 Becca chases a ball, part 3
Becca chases a ball, part 3
Brandon Rohrer
18 BECCA creates features from MNIST
BECCA creates features from MNIST
Brandon Rohrer
19 How reinforcement learning works in Becca 7
How reinforcement learning works in Becca 7
Brandon Rohrer
20 Deep Learning Demystified
Deep Learning Demystified
Brandon Rohrer
21 How Data Science Works
How Data Science Works
Brandon Rohrer
22 How Convolutional Neural Networks work
How Convolutional Neural Networks work
Brandon Rohrer
23 How Bayes Theorem works
How Bayes Theorem works
Brandon Rohrer
24 How Deep Neural Networks Work
How Deep Neural Networks Work
Brandon Rohrer
25 Recurrent Neural Networks (RNN) and Long Short-Term Memory (LSTM)
Recurrent Neural Networks (RNN) and Long Short-Term Memory (LSTM)
Brandon Rohrer
26 How Support Vector Machines work / How to open a black box
How Support Vector Machines work / How to open a black box
Brandon Rohrer
27 How autocorrelation works
How autocorrelation works
Brandon Rohrer
28 Getting closer to human intelligence through robotics
Getting closer to human intelligence through robotics
Brandon Rohrer
29 A minimalist's guide to slicing and indexing pandas DataFrames
A minimalist's guide to slicing and indexing pandas DataFrames
Brandon Rohrer
30 How decision trees work
How decision trees work
Brandon Rohrer
31 Data scientist archetypes
Data scientist archetypes
Brandon Rohrer
32 How to use python's datetime package
How to use python's datetime package
Brandon Rohrer
33 How optimization for machine learning works, part 1
How optimization for machine learning works, part 1
Brandon Rohrer
34 How optimization for machine learning works, part 2
How optimization for machine learning works, part 2
Brandon Rohrer
35 How optimization for machine learning works, part 3
How optimization for machine learning works, part 3
Brandon Rohrer
36 How optimization for machine learning works, part 4
How optimization for machine learning works, part 4
Brandon Rohrer
37 How convolutional neural networks work, in depth
How convolutional neural networks work, in depth
Brandon Rohrer
38 How to pick a machine learning model 4: Splitting the data
How to pick a machine learning model 4: Splitting the data
Brandon Rohrer
39 How to pick a machine learning model 3: Choosing a loss function
How to pick a machine learning model 3: Choosing a loss function
Brandon Rohrer
40 How to pick a machine learning model 2: Separating signal from noise
How to pick a machine learning model 2: Separating signal from noise
Brandon Rohrer
41 How to pick a machine learning model 1: Choosing between models
How to pick a machine learning model 1: Choosing between models
Brandon Rohrer
42 How to pick a machine learning model 5: Navigating assumptions
How to pick a machine learning model 5: Navigating assumptions
Brandon Rohrer
43 What do neural networks learn?
What do neural networks learn?
Brandon Rohrer
44 Interview with iRobot's Director of Data Science Angela Bassa
Interview with iRobot's Director of Data Science Angela Bassa
Brandon Rohrer
45 How Backpropagation Works
How Backpropagation Works
Brandon Rohrer
46 Evolutionary Powell's method: A discrete optimizer for hyperparameter optimization
Evolutionary Powell's method: A discrete optimizer for hyperparameter optimization
Brandon Rohrer
47 1D convolution for neural networks, part 1: Sliding dot product
1D convolution for neural networks, part 1: Sliding dot product
Brandon Rohrer
1D convolution for neural networks, part 2: Convolution copies the kernel
1D convolution for neural networks, part 2: Convolution copies the kernel
Brandon Rohrer
49 1D convolution for neural networks, part 3: Sliding dot product equations longhand
1D convolution for neural networks, part 3: Sliding dot product equations longhand
Brandon Rohrer
50 1D convolution for neural networks, part 4: Convolution equation
1D convolution for neural networks, part 4: Convolution equation
Brandon Rohrer
51 1D convolution for neural networks, part 5: Backpropagation
1D convolution for neural networks, part 5: Backpropagation
Brandon Rohrer
52 1D convolution for neural networks, part 6: Input gradient
1D convolution for neural networks, part 6: Input gradient
Brandon Rohrer
53 1D convolution for neural networks, part 7: Weight gradient
1D convolution for neural networks, part 7: Weight gradient
Brandon Rohrer
54 1D convolution for neural networks, part 8: Padding
1D convolution for neural networks, part 8: Padding
Brandon Rohrer
55 1D convolution for neural networks, part 9: Stride
1D convolution for neural networks, part 9: Stride
Brandon Rohrer
56 The Four Grand Challenges of Robots in the Home
The Four Grand Challenges of Robots in the Home
Brandon Rohrer
57 How Convolution Works
How Convolution Works
Brandon Rohrer
58 The Softmax neural network layer
The Softmax neural network layer
Brandon Rohrer
59 Batch normalization
Batch normalization
Brandon Rohrer
60 Getting ready to learn Python, Mac edition #1: Files and directories
Getting ready to learn Python, Mac edition #1: Files and directories
Brandon Rohrer

This video explains how 1D convolution works in neural networks, including how the kernel is copied and scaled during the convolution process. It uses mathematical notation and examples to illustrate the concept, making it easier to understand and implement convolutional neural networks.

Key Takeaways
  1. Understand the concept of 1D convolution and how it is used in neural networks
  2. Learn how to mathematically represent the convolution process using notation
  3. Implement convolutional neural networks using the learned notation and concepts
  4. Apply the concepts to signal processing tasks and train neural networks using convolutional layers
💡 The kernel is copied and scaled during the convolution process, allowing the neural network to learn and represent complex patterns in the input signal.

Related Reads

📰
In the last stage of my breast Cancer ANALYSIS , I also experimented with different evaluation…
Learn to evaluate machine learning models for breast cancer analysis using accuracy metrics and experiment with different evaluation methods
Medium · Machine Learning
📰
Teaching a Spiking Network to Hear
Learn to adapt gradient descent for spiking networks by introducing a threshold switch, enabling the training of neural networks to process auditory data
Medium · Machine Learning
📰
Teaching a Spiking Network to Hear
Learn how to teach a spiking network to hear by adapting gradient descent for threshold spikes
Medium · Data Science
📰
The Python Script I Built to Turn Messy Business Data Into a Machine That Worked for Me
Learn how to build a Python script that turns messy business data into a machine that works for you using Python libraries, automation, APIs, AI, and Excel
Medium · Python
Up next
Quant Interview Question #quant
quantprof
Watch →