Welcome to Convolutional Neural Networks for One Dimensional Data
In this course, we will build some convolutional neural networks from scratch and use them to classify electrocardiogram heartbeats as healthy or irregular.
What will I learn?
By the time you’re done you will know a lot about convolutional neural networks:
- How convolution works
- How to create a convolutional layer for a neural network
- What considerations need to be taken when working with one dimensional ordered data, like the stock market prices, or audio.
- How to modify a convolutional neural network to get good performance
We will also cover some concepts fundamental to neural networks more generally:
- How to use a neural network to perform classification tasks
- How a softmax layer works and how to implement it
- How a batch normalization layer works and how to implement it
- How to create a neural network layer out of any differentiable function you like
What do I need to know before I take this course?
You will get the most out of this course if you’re familiar with the concepts behind neural networks, and behind convolutional neural networks in particular. The video tutorials in Course 193 can get you up to speed quickly.
In this course we code up all of the concepts in Python, although if you choose to skim the course you can still pick up the important concepts without knowing how to code.
We will also be making use of differential calculus several times as we implement different layers and make them backpropagation ready. If calculus is not something you’re comfortable in yet, you can still gloss over these parts and get a good sense of what’s going on.
We will be working with the Cottonwood machine learning framework. If you want to run the examples on your own computer or code up your own solutions, you will need to download and install it.
To best understand Cottonwood and how it implements neural networks, you can step through the 310 Course series (Course 312, Course 313, and Course 314). In those courses we create Cottonwood from scratch and walk through it line by line. It dives deep into the concepts behind and implementation of backpropagation and dense neural network layers. However, if you’d like to jump right into convolutional neural networks please do! You can always go back and dig deeper later as your curiosity drives you.
How does the course work?
The course is broken up into sections, each of which consists of several lectures or lessons. Most of these are in a video format and require nothing more than watching or reading along. By the time the course is complete, I expect there will be about three hours of material.
You can choose the level of depth at which you engage the material. Here are a few options:
- The Skim. (1 hour) You can skip through the lessons and cherry pick the parts that you are curious about or that catch your eye.
- The Walkthrough. (3 hours) A natural way to engage with material is to step through each of the videos and posts from beginning to end. This will give a complete once over for the entire collection of concepts, code, and explanation.
- The Deep Dive. (10 hours) To take your engagement to the next level, you can stop after each lesson and write down at least three questions. Any variety is helpful - What does that mean? How does that work? Why do we do it that way? What if we tried this instead? How could I use that to solve the problem I'm working on? - Generating questions as you go pulls your mind into a much deeper engagement with the materials. It also sets you off on curiosity-driven tangents, small and not so small, that immeasurably deepen your learning experience.
- The Explore. (up to you) Finally, once you are ready you can use this course as a jumping off point and start making changes to the code yourself. You can try out different architectures, different sequences of layers. You can make different design decisions, try out different hyperparameter combinations. You can extend CNNs to new data sets. Throughout the course we will call out opportunities for making modifications and running experiments of your own. Cottonwood was designed to facilitate experimentation, to let your curiosity run wild. There is no better way to get a down-to-the-roots understanding of how these concepts work.
The concepts here run pretty deep. One strategy is to make several passes through the course at different depths. A Skim, followed by a Walkthrough, and then some quality time in an Explore is a sequence that guarantees you will get the most out of the material.
After your first time through, you’ll get a completion certificate. Feel free to reference this in your resume and call out the list of concepts that we covered. If any of your potential employers asks me about it, I’ll verify that you engaged with material on all of these concepts.
I’m really happy you’ve decided to take a close look at the course. I hope to see you in the comments sections.