1D convolution for neural networks, part 9: Stride
Key Takeaways
This video covers 1D convolution for neural networks, focusing on the concept of stride and its effects on output size and computation speed. The speaker discusses how stride can be used to reduce the volume of data and speed up computations, particularly in convolutional neural networks.
Full Transcript
there's nothing that says that you have to pad there's nothing that says that your output has to be the same size as your input another option is just to start calculating convolutions once your signal completely is overlapped by your kernel and those convolutions are all valid they don't rely on any data that's outside the range of your signal ever that's a nice very safe way to make sure you get valid convolutions all throughout you don't have to make any guesses about what data to invent and the only drawback then is your output is a little shorter than your input so it in effect reduces the volume of data that you have if you're looking at a time series signal it'll chop off the beginning and end portion if you're looking at an image it'll chop off a border around the image but you're guaranteed that what you're left with is all signal and no edge artifacts another element that you can play with when doing convolution is the stride so by default convolution has a stride of 1 which means each time you shift your kernel over by just one position before calculating the next convolution value this is safe it's complete it's dense sometimes this computation is a bottleneck in whatever it is you're trying to do and you'd like to speed it up also sometimes the signal that you've sampled you've sampled much more densely than you need to and it's okay to just revisit it periodically you don't have to check it every single millisecond in that case you can skip so instead of sliding your kernel over one position you can slide it over two or three or four positions each time or even more and just calculate the convolution periodically this skip is called a stride so if you're visiting every single position that's a stride of 1 if you're skipping a position needs time that's a stride of 2 etc and the stride that you choose is based on what you know about your data how densely you expect that information that you care about to be represented and also how you plan to use the result in the case of convolutional neural networks often the input signal is much more dense than can be usefully handled by the network downstream so some type of resolution reduction happens usually this happens using pooling which we'll talk about a little bit later but another way that you can do this is by introducing a stride so that you're only calculating in the two-dimensional case you're only calculating 1/4 of the total number of convolutions by reducing your resolution by a factor of 2 in both directions and you get a reduction in resolution and a speed-up in your computation time
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 · 55 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
47
48
49
50
51
52
53
54
▶
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 Pipelines
View skill →Related Reads
📰
📰
📰
📰
Making fundamentals and advanced concepts very clear
Reddit r/learnprogramming
The N+1 Query Problem in Java: Why Loading One Record Triggers 100 Queries
Medium · Programming
Never Regress: Putting a Model in Your Query Optimizer Without Letting It Wreck the Plan
Dev.to · AI Explore
The PRNG draw-tape: eager versus lazy
Dev.to · Ernesto Herrera Salinas
🎓
Tutor Explanation
DeepCamp AI