Build a 2D convolutional neural network, part 10: Connecting layers
Key Takeaways
Implementing a 2D convolutional neural network in Python to classify handwritten digits from the MNIST data set using Python and extending it to CIFAR-10 data set
Full Transcript
so we've taken all these individual lego blocks now we've added them into structure but you can think of them as just free floating in space they're not connected yet it doesn't know which comes first and which output to connect to which input of which other block to do that we connect them so we go to our classifier we can go through and individually connect the output of each to the input of the next all the way through what is convenient to do in neural networks often there's a long train of elements where the output of one is connected to the input of the next and so we have a convenience function here connect sequence where we pass it a list of names of blocks to connect in a sequence so we connect our training data to our convolution to our bias to our activation function to the next convolution the next bias the next activation function to our pooling our flatten our linear and our bias and our logistic function and then to the prediction and then to the loss function you can see in the structure diagram how there is a line starting at the training data tracing all the way through to the loss function there are a few connections now that haven't yet been accounted for so on these we have to go through and make these individually by default the connect sequence function assumes that the zeroth port on the tail of that connection and the zeroth port on the block at the head of that connection are what's being connected each block can have as many connection ports as we want and we just have to specify when we're connecting what the index of the port is that we're connecting so for instance if we're connecting our training data to our one hot block our zeroth port on the training data is already occupied it's already connected to the convolution block so we want to use port one on the training data block so we specify i port tail so on the connection this is the tail of the connection the head of the connection is going to our one hot block it'll still go to the zeroth port so we can let it default to zero now when we want to connect our one hot block to our loss function the input port on the loss function the zeroth port there is already occupied so we want to specify i port head equals one the head of that connection is on the loss block and we want it to be port one similarly when we're connecting our prediction block so our copy of our logistic results to our hard max our zeroth port on the prediction block is already occupied so on the tail of that connection we want to make sure and use port one so we specify i port tail equals one with these three remaining connections we've completed our structure diagram as we see it here so now we have built our graph we've built our model
Original Description
Get the full course experience at https://e2eml.school/322
Put all the pieces together implementing a two dimensional convolutional neural network in Python to classify handwritten digits from the MNIST data set.
The remainder of the course dives into the implementation in detail and shows how to extend this example to the more challenging CIFAR-10 data set.
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Brandon Rohrer · Brandon Rohrer · 0 of 60
← Previous
Next →
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
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: Modern CV Models
View skill →Related Reads
📰
📰
📰
📰
Help Choosing Neural Network Architecture for Matrix Classification
Reddit r/deeplearning
How to Choose the Best Deep Learning Model for Medical Imaging
Medium · Deep Learning
Another Way to Read Neural Geometry
Medium · Data Science
Another Way to Read Neural Geometry
Medium · Deep Learning
🎓
Tutor Explanation
DeepCamp AI