Course Information
Course Overview
Learn how to train Neural Networks with Python to create autonomous cars without AI frameworks and libraries
Self-driving car experiments go back to 1939. But it took until the 1980’s when universities started to create true, autonomous cars. In Munich, a driverless Mercedes-Benz was going a whopping 130KM/H in 1984!
That is 81 miles per hour. And without crashing! The project received an astronomical funding of 749,000,000 Euros.
These days, you don’t need such budgets for artificial intelligence. All you need is a computer with Python on it! But where to start to build the AI for self-driving cars?
In this course you learn to build Neural Networks and Genetic Algorithms from the ground up. Without frameworks that hide all the interesting stuff in a black box, you are going to build a program that trains self-driving cars.
You will learn and assemble all the required building blocks and will be amazed that in no time cars are learning to drive autonomously. There is only one way to learn AI and that is to just pick a project and start building. That is what you are going to do in this course!
Target audience
Developers who especially benefit from this course, are:
developers who want to use their basic Python skills to program self-driving cars.
developers who want to understand Neural Networks and Genetic Algorithms by building them from the ground up.
Challenges
Artificial Intelligence is a black box to many developers. The problem is that many AI frameworks hide the details you need to understand how all the individual components work. The solution is to build things from the ground up and learn to create and combine genetic operators and what properties you can change to optimize the result. This course starts with an empty script and shows you every step that is needed to create autonomous cars that learn how to drive on tracks. Once you have seen the building blocks of a Genetic Algorithm, you can use them in your future projects!
What can you do after this course?
define what problems can be solved with Genetic Algorithms
build Neural Networks and Genetic Algorithms from the ground up
take any problem that can be solved with genetic algorithms and solve it by re-using the code you created in this course
Topics
AI Introduction: Neural Networks and the Genetic Algorithm
Car mechanics: Creating a window, drawing backgrounds and cars, controlling the car. Understanding track information
Neural Network: Inputs, outputs, sensors, activation, feed forward
Genetic Algorithm: Fitness, Chromosomes, Selection, Cross over and Mutation
Challenges: Slipping cars, Store the car brain, Stay in the middle of the road and Test Drives
Duration
2 hours video time, 6 hours including typing along.
The teacher
This course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.
Course Content
- 7 section(s)
- 27 lecture(s)
- Section 1 Introduction
- Section 2 AI Introduction
- Section 3 Car Mechanics
- Section 4 Neural Network
- Section 5 Genetic Algorithm
- Section 6 Challenges
- Section 7 Conclusion
What You’ll Learn
- Create a Neural Network that translates car sensors to car controls
- Train a Neural Network with a Genetic Algorithm
- Combine Genetic Operators like Select, Cross over and Mutation
- Create a window and draw backgrounds and cars with Pyglet
- Build a car simulation to evolve car brains
- Choose and build a suitable fitness function
Skills covered in this course
Reviews
-
AAndrew Davis
5 Stars
-
MM F
It's a really nice course, but it requires a bit more explanation. Some things are just hand waved. But I will still give it 5 stars because, even though the course could do with a bit more contextual explanation, it's still a really good course. And honestly between way too much talk and keeping it short, I rather keep it short! But just a tiny bit more detail wouldn't hurt. Just small explanations, like why is there no labels etc...
-
JJohn Lukow
The course is good. I found the authors assumed more knowledge than I had about python and did not explain several of the functions and methodologies used. I think the network chapter could use some extra time and / or explanations.
-
TTurki AlBakr
It is great course and this is the second course I have taken with Mr. Leok, however, in this course in particular I face a problem which is the wrong method used with one of the libraries, he used the "width" method which caused my a problem that I was trying to solve for hours. I was able to run the code when I used the method "thickness" instead