1D convolution for neural networks, part 1: Sliding dot product
Key Takeaways
This video introduces the sliding dot product for 1D convolutional neural networks
Full Transcript
the power of convolutional neural networks comes from the convolution operator which is a way that features can be pulled out of a signal if it's a two-dimensional signal an image these can be little pieces of the thing you want to find if you're looking for a cat it can be an eye or an ear or a tail what makes convolutional neural networks so robust is they don't care exactly where these are placed in relationship to each other they can be rearranged a little bit like Picasso and the network would still be able to identify them there's two parts to this one is the convolution operator that matches the feature and the other is a pooling operator that gives a little bit of wiggle room to the exact position of where that feature is located so we're going to focus on the convolution piece the pulling of these features out of the signal we can also do convolution on one-dimensional signals for instance audio stock prices anything that can be ordered along a single line often any data that's organized by time fits on a nice one-dimensional line it could also be applied for instance to three dimensional signals say video where you have both the X and y position of a pixel and its position in time because our paper because our images are two-dimensional starting with a low dimensional signal to illustrate the process will be helpful convolution is the process of taking a kernel and doing a sliding dot product with a signal here the signal is the thing that you're trying to classify or to pull the feature out of it might be the image or a snippet of audio or a portion of an electrocardiogram we can visualize this as a lollipop plot where each value is represented sequentially on a line and the height of the lollipop stem is the value of that point points falling right on the axis have a value zero points above the axis have a positive value and points below the axis have a negative value and the length of that lollipop stem shows the magnitude of the value to do convolution we have a signal and a kernel by convention the kernel is much smaller than the signal it's the portion it's the feature that you'd like to pull out of some part of the signal wherever it occurs it's the fingerprint of the feature that we're trying to find the first step of convolution is you take the kernel and you flip it around left to right then you take your flipped kernel and slide it along the signal at each location where your points in your kernel line up with your signal you multiply together the value of any points that line up and then you add all of those together to get the final result so for instance in this location the kernel lines up with these three values of the signal but they're all equal to zero they all sit exactly on the line so even though the kernel has positive values for all those they all get multiplied by zero and added together giving a result of zero so the convolution at that point will be zero and then you slide it one step to the right and do it again this process of multiplying each aligned pair of points together and then adding all of those products together is called taking the dot product and moving our kernel one position at a time and repeating this is a sliding dot product so a convolution is a sliding dot product of a flipped kernel with this signal we can see how this plays out as if we go point by point it's only where both the signal and the kernel are not zero that the result of the convolution is not zero
Original Description
Part of an 9-part series on 1D convolution for neural networks.
Catch the rest at https://e2eml.school/321
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Brandon Rohrer · Brandon Rohrer · 47 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
▶
48
49
50
51
52
53
54
55
56
57
58
59
60
Robot Learning with a Biologically-Inspired Brain (BECCA)
Brandon Rohrer
BECCA talk at AGI 2011
Brandon Rohrer
Robot Learning with a Biologically-Inspired Brain (BECCA), The Sequel
Brandon Rohrer
BECCA listens to The Hobbit
Brandon Rohrer
Learning the building blocks of speech: BECCA extracts a hierarchy of audio features
Brandon Rohrer
BECCA listens for sound effects in The Hobbit
Brandon Rohrer
BECCA finds movie trailers while watching the Big Bang Theory
Brandon Rohrer
Listening for unexpected sounds: BECCA detects anomalies in audio data
Brandon Rohrer
Learning the building blocks of vision: BECCA extracts a spatio-temporal hierarchy of features
Brandon Rohrer
Watching for the unexpected: BECCA detects anomalies in video data
Brandon Rohrer
BECCA finds a stationary target
Brandon Rohrer
BECCA finds a stationary target at 3X speed
Brandon Rohrer
BECCA watches the X-men and Bruce Lee
Brandon Rohrer
BECCA plays Quidditch
Brandon Rohrer
BECCA chases a ball
Brandon Rohrer
BECCA chases a ball, part 2
Brandon Rohrer
Becca chases a ball, part 3
Brandon Rohrer
BECCA creates features from MNIST
Brandon Rohrer
How reinforcement learning works in Becca 7
Brandon Rohrer
Deep Learning Demystified
Brandon Rohrer
How Data Science Works
Brandon Rohrer
How Convolutional Neural Networks work
Brandon Rohrer
How Bayes Theorem works
Brandon Rohrer
How Deep Neural Networks Work
Brandon Rohrer
Recurrent Neural Networks (RNN) and Long Short-Term Memory (LSTM)
Brandon Rohrer
How Support Vector Machines work / How to open a black box
Brandon Rohrer
How autocorrelation works
Brandon Rohrer
Getting closer to human intelligence through robotics
Brandon Rohrer
A minimalist's guide to slicing and indexing pandas DataFrames
Brandon Rohrer
How decision trees work
Brandon Rohrer
Data scientist archetypes
Brandon Rohrer
How to use python's datetime package
Brandon Rohrer
How optimization for machine learning works, part 1
Brandon Rohrer
How optimization for machine learning works, part 2
Brandon Rohrer
How optimization for machine learning works, part 3
Brandon Rohrer
How optimization for machine learning works, part 4
Brandon Rohrer
How convolutional neural networks work, in depth
Brandon Rohrer
How to pick a machine learning model 4: Splitting the data
Brandon Rohrer
How to pick a machine learning model 3: Choosing a loss function
Brandon Rohrer
How to pick a machine learning model 2: Separating signal from noise
Brandon Rohrer
How to pick a machine learning model 1: Choosing between models
Brandon Rohrer
How to pick a machine learning model 5: Navigating assumptions
Brandon Rohrer
What do neural networks learn?
Brandon Rohrer
Interview with iRobot's Director of Data Science Angela Bassa
Brandon Rohrer
How Backpropagation Works
Brandon Rohrer
Evolutionary Powell's method: A discrete optimizer for hyperparameter optimization
Brandon Rohrer
1D convolution for neural networks, part 1: Sliding dot product
Brandon Rohrer
1D convolution for neural networks, part 2: Convolution copies the kernel
Brandon Rohrer
1D convolution for neural networks, part 3: Sliding dot product equations longhand
Brandon Rohrer
1D convolution for neural networks, part 4: Convolution equation
Brandon Rohrer
1D convolution for neural networks, part 5: Backpropagation
Brandon Rohrer
1D convolution for neural networks, part 6: Input gradient
Brandon Rohrer
1D convolution for neural networks, part 7: Weight gradient
Brandon Rohrer
1D convolution for neural networks, part 8: Padding
Brandon Rohrer
1D convolution for neural networks, part 9: Stride
Brandon Rohrer
The Four Grand Challenges of Robots in the Home
Brandon Rohrer
How Convolution Works
Brandon Rohrer
The Softmax neural network layer
Brandon Rohrer
Batch normalization
Brandon Rohrer
Getting ready to learn Python, Mac edition #1: Files and directories
Brandon Rohrer
More on: ML Maths Basics
View skill →Related Reads
📰
📰
📰
📰
Decoding the Link Between Pretraining and Reinforcement Learning
Dev.to · Pneumetron
Learning the Loop — #101 | What Is Machine Learning, Really?
Medium · AI
Learning the Loop — #101 | What Is Machine Learning, Really?
Medium · Deep Learning
The model benchmark is not your production benchmark
Dev.to · hefty
🎓
Tutor Explanation
DeepCamp AI