Hacker News Comments on
Become a Self-Driving Car Engineer
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
If I found the right one , it's a bit pricy, seems to encourage doing it in a burst. Looks like it's very connected to the industry, at least in terms of course load. Thanks for the pointer, will look into it some more when I get tired of my current job (getting there slowly but surely!)
⬐ jmkniI thought that was a joke! Awesome though!
Agreed that Udacity's AI for Robotics was a weak course. I highly recommend some of Udacity's recent paid-only courses on robotics:
Self-driving car engineer nanodegree (not the one with "intro" in its name) https://www.udacity.com/course/self-driving-car-engineer-nan...
Robotics software engineer nanodegree https://www.udacity.com/course/robotics-software-engineer--n...
Flying car and autonomous flight engineer nanodegree https://www.udacity.com/course/flying-car-nanodegree--nd787
Just as a sample, this is one of many projects I completed as part of the self-driving car engineer nanodegree. My code controls a car driving on a highway with other cars.
this Udacity MOOC may give you an idea/outline of things to look out for.
"Self-Driving Car Engineer Nanodegree"
I think it's the Self-Driving Car Engineer Nanodegree: https://www.udacity.com/course/self-driving-car-engineer-nan...
TL;DR - read my post's "tag" and take those courses!
As you can see in my "tag" on my post - most of what I have learned came from these courses:
1. AI Class / ML Class (Stanford-sponsored, Fall 2011)
2. Udacity CS373 (2012) - https://www.udacity.com/course/artificial-intelligence-for-r...
3. Udacity Self-Driving Car Engineer Nanodegree (currently taking) - https://www.udacity.com/course/self-driving-car-engineer-nan...
For the first two (AI and ML Class) - these two MOOCs kicked off the founding of Udacity and Coursera (respectively). The classes are also available from each:
Udacity: Intro to AI (What was "AI Class"):
Coursera: Machine Learning (What was "ML Class"):
Now - a few notes: For any of these, you'll want a good understanding of linear algebra (mainly matrices/vectors and the math to manipulate them), stats and probabilities, and to a lessor extent, calculus (basic info on derivatives). Khan Academy or other sources can get you there (I think Coursera and Udacity have courses for these, too - plus there are a ton of other MOOCs plus MITs Open Courseware).
Also - and this is something I haven't noted before - but the terms "Artificial Intelligence" and "Machine Learning" don't necessarily mean the same thing. Based on what I have learned, it seems like artificial intelligence mainly revolves around modern understandings of artificial neural networks and deep learning - and is a subset of machine learning. Machine learning, though, also encompasses standard "algorithmic" learning techniques, like logistic and linear regression.
The reason why neural networks is a subset of ML, is because a trained neural network ultimately implements a form of logistic (categorization, true/false, etc) or linear regression (range) - depending on how the network is set up and trained. The power of a neural network comes from not having to find all of the dependencies (iow, the "function"); instead the network learns them from the data. It ends up being a "black box" algorithm, but it allows the ability to work with datasets that are much larger and more complex than what the algorithmic approaches allow for (that said, the algorithmic approaches are useful, in that they use much less processing power and are easier to understand - no use attempting to drive a tack with a sledgehammer).
With that in mind, the sequence to learn this stuff would probably be:
1. Make sure you understand your basics: Linear Algebra, stats and probabilities, and derivatives
2. Take a course or read a book on basic machine learning techniques (linear regression, logistic regression, gradient descent, etc).
3. Delve into simple artificial neural networks (which may be a part of the machine learning curriculum): understand what feed-forward and back-prop are, how a simple network can learn logic (XOR, AND, etc), how a simple network can answer "yes/no" and/or categorical questions (basic MNIST dataset). Understand how they "learn" the various regression algorithms.
4. Jump into artificial intelligence and deep learning - implement a simple neural network library, learn tensorflow and keras, convolutional networks, and so forth...
Now - regarding self-driving vehicles - they necessarily use all of the above, and more - including more than a bit of "mechanical" techniques: Use OpenCV or another machine vision library to pick out details of the road and other objects - which might then be able to be processed by a deep learning CNN - ex: Have a system that picks out "road sign" object from a camera, then categorizes them to "read" them and use the information to make decisions on how to drive the car (come to a stop, or keep at a set speed). In essence, you've just made a portion of Tesla's vehicle assist system (first project we did in the course I am taking now was to "follow lane lines" - the main ingredient behind "lane assist" technology - used nothing but OpenCV and Python). You'll also likely learn stuff about Kalman filters, pathfinding algos, sensor fusion, SLAM, PID controllers, etc.
I can't really recommend any books to you, given my level of knowledge. I've read more than a few, but most of them would be considered "out of date". One that is still being used in university level courses is this:
Note that it is a textbook, with textbook pricing...
Another one that I have heard is good for learning neural networks with is:
There are tons of other resources online - the problem is separating the wheat from the chaff, because some of the stuff is outdated or even considered non-useful. There are many research papers out there that can be bewildering. I would say if you read them, until you know which is what, take them all with a grain of salt - research papers and web-sites alike. There's also the problem of finding diamonds in the rough (for instance, LeNet was created in the 1990s - but that was also in the middle of an AI winter, and some of the stuff written at the time isn't considered as useful today - but LeNet is a foundational work of today's ML/AI practices).
Now - history: You would do yourself good to understand the history of AI and ML, the debates, the arguments, etc. The base foundational work come from McCulloch and Pitts concept of an artificial neuron, and where that led:
Also - Alan Turing anticipated neural networks of the kind that wasn't seen until much later:
...I don't know if he was aware of McCulloch and Pitts work which came prior, as they were coming at the problem from the physiological side of things; a classic case where inter-disciplinary work might have benefitted all (?).
You might want to also look into the philosophical side of things - theory of mind stuff, and some of the "greats" there (Minsky, Searle, etc); also look into the books written and edited by Douglas Hofstadter:
There's also the "lesser known" or "controversial" historical people:
* Hugo De Garis (CAM-Brain Machine)
* Igor Aleksander
* Donald Michie (MENACE)
...among others. It's interesting - De Garis was a very controversial figure, and most of his work, for whatever it is worth - has kinda been swept under the rug. He built a few computers that were FPGA based hardware neural network machines that used cellular automata a-life to "evolve" neural networks. There were only a handful of these machines made; aesthetically, their designs were as "sexy" as the old Cray computers (seriously).
Donald Michie's MENACE - interestingly enough - was a "learning computer" made of matchboxes and beads. It essentially implemented a simple neural network that learned how to play (and win at) naughts and crosses (TIC-TAC-TOE). All in a physically (by hand) manipulated "machine".
Then there is one guy, who is "reviled" in the old-school AI community on the internet (take a look at some of the old comp.ai newsgroup archives, among others). His nom-de-plume is "Mentifex" and he wrote something called "MIND.Forth" (and translated it to a ton of other languages), that he claimed was a real learning system/program/whatever. His real name is "Arthur T. Murray" - and he is widely considered to be one of the earliest "cranks" on the internet:
Heck - just by posting this I might be summoning him here! Seriously - this guy gets around.
Even so - I'm of the opinion that it might be useful for people to know about him, so they don't go to far down his rabbit-hole; at the same time, I have a small feeling that there might be a gem or two hidden inside his system or elsewhere. Maybe not, but I like to keep a somewhat open mind about these kinds of things, and not just dismiss them out of hand (but I still keep in mind the opinions of those more learned and experienced than me).
⬐ ep103Oh man, thank you! Thank you!
I liked the Udacity Self-driving Car course:
There's a lot of competition in the autonomous driving space: Uber, Delphi, Cruise, Waymo, Ford, Volvo, Zoox, Varden Labs, Auro Robotics, Navya, Nuro.ai, Baidu, Tesla, Faraday Future, Mercedes, Nissan, Toyota, Yutong, and there are others (including some in stealth mode that would rather not be mentioned).
Udacity also has a course just for making a self-driving car, and you get to use a real car.
Excellent talk, thank you. Really puts a lot of things in one place.
Wonder what city councils are going to do to supplement the revenue lost if and when income from parking spot use shrinks due to a combination of smaller fleets and individual cars in the fleet spending less time parked up.
Of the 4 exponentially improving technology clusters mentioned: battery storage, electric vehicles, self-driving hw/sw, solar pv -- I'm trying to imagine if any one of them might not ramp up within the 5 to 10 year time scale Tony is talking about. And I guess it would have to be the software part of the self-driving hardware (sensors + compute) / software combo. And perhaps lithium ore extraction. I don't know enough about the technologies of solar pv to hazard a guess. If battery storage happens we definitely get electric vehicles (along with better laptops, tablets, and phones).
⬐ olivercameronI'm super excited about this curriculum, which is being built by Sebastian Thrun (Stanley creator and Google Self-Driving Car project founder). Would love to answer any questions I can!⬐ Qworg⬐ phanibIs this different than the previous curriculum taught by Sebastian?⬐ farhanhubble⬐ farhanhubbleSelf-driving Cars Nanodegree has not started yet. Which curriculum are you referring to?⬐ QworgThe original "self-driving cars" course on Udacity - the one that Sebastian started with. =)Hi Oliver, Is there a cutoff date for applying the 33% off coupon. I want to join the machine learning nano degree in late September.I was never excited this much for an online course. One of most anticipated nanodegree for me. I hope it's totally worth it. Enrolled this week, already started Slacking with an amazing community. Udacity courses are really good, they did make an impact on my career and to the world. I cannot imagine what would I have been without Udacity. Thank you !⬐ farhanhubbleI'm also excited about this course like never before. Although, Udacity already has courses on machine learning that cover everything from the basics to reinforcement learning and Tensor Flow, this course is much more hands-on and will probably cover a wider range of topics like fusing data from sensors and algorithms for localization and mapping the environment.
I studied computer science but remained interested in electronics, mechanics and signals and system. One of the projects I did was a GPS guided rover. I did all the electronics, programming and mechanics stuff and wrote basic obstacle avoidance, localization and navigation code myself. I enjoyed every part of it. I wanted to make the rover very sophisticated, which retrospectively was a very high goal for a semester-long course. Anyway, I went ahead and bought two books, Kalman Filtering: Theory and Practice Using MATLAB and Principles of Robot Motion, co-authored by Sebastian Thrun. I didn't get the time to read beyond a few chapters of Thrun's book then but it was very well written and included some great stuff like an introductory chapter on topology. Eight years since and it seems finally I have the motivation to read it cover to cover.
Since the course starts later this year there's time to learn Deep Learning and perhaps Gazebo simulator, which we might end up using for simulating of our own self-driving cars.
⬐ programLyriqueIs there a detailed curriculum? I don't see any on the udacity page.⬐ Dawny33Corresponding [Reddit discussion](https://www.reddit.com/r/MachineLearning/comments/4tsi2n/uda...) and [Medium post](https://medium.com/self-driving-cars/udacitys-self-driving-c...)
⬐ Tung_nguyenI'm still not awaken now. Like a dream, now come true Thrun still is one of my heroes