
End to End Learning for Self-Driving Cars [pdf] - rdabane
http://images.nvidia.com/content/tegra/automotive/images/2016/solutions/pdf/end-to-end-dl-using-px.pdf
======
euyyn
One problem with training a neural network end-to-end this way is that the
system is susceptible to unpredictable glitches: The same principle that lets
people trick a NN into [thinking a panda is a
vulture]([https://codewords.recurse.com/issues/five/why-do-neural-
netw...](https://codewords.recurse.com/issues/five/why-do-neural-networks-
think-a-panda-is-a-vulture)) can happen randomly just by differing
lighting/shadow conditions, sun glare, or who knows.

One can always train the network with more and more scenarios, but how do you
know when to stop? How good is good enough in this regard?

~~~
rawnlq
For the "thinking a panda is a vulture" problem, don't humans fail in similar
ways? The analogous examples for us are camouflage, optical illusions, logical
fallacies, etc.

It doesn't really have to be perfect as long as it doesn't fail in common
scenarios.

~~~
rdabane
It should never fail since any failure could potentially create a fatal
scenario. People usually accept fatalities because of human error but they
won't accept death because of algorithmic failure.

~~~
Consultant32452
I suspect that it won't take long for people to come to terms with it in the
same way we now "accept" industrial accidents. "Accept" in this case simply
means that the industry in question is allowed to continue doing business.

------
ilyaeck
With just 72 hours of training data, this is an extremely impressive result,
scientifically speaking. However, in terms of quality control/best practices
in automotive, it's simply unacceptable to trust human lives with a monolithic
black-box system. The reason to have modular building blocks in a production
system is not necessarily better performance, but the must-have ability to
test, troubleshoot, debug, fix and replace things by reducing the degrees of
freedom - it's the ABC of engineering even in much less sensitive industries.
So while N2N is going to be very useful for rapid prototyping, and perhaps
setting the performance bar for other method, I doubt it will ever be used in
production.

~~~
EugeneOZ
Can be used as additional system for taking decisions.

~~~
ksml
This is a great point. Reminds me of how airplanes have redundant flight
computers and compare the outputs of the computers to determine if one might
be faulty. [https://en.wikipedia.org/wiki/Fly-by-
wire#Redundancy](https://en.wikipedia.org/wiki/Fly-by-wire#Redundancy) The
output of different self driving models could be compared to handle more
difficult driving situations -- I never thought of that.

~~~
iamaaditya
This reminds me of ensemble. Most machine learning techniques benefit in
accuracy and precision by ensembling different methods. More different the
methods are (variance) better improvement you get.

------
euyyn
Another obvious problem with having the neural network map from vision to
steering is that you can't make it take decisions based on what it hasn't seen
yet, but will see. E.g. changing lanes because to reach your destination
you'll have to make a right turn. The authors note that E2E learning makes for
a better smaller system, on account of being free from human-imposed concepts.
That's fine if that's your only goal. But I think it's essential for
autonomous cars to be able to reason in terms of those human concepts.

~~~
argonaut
This doesn't describe the (very basic prototype) system in the paper, but
there is no theoretical reason there cannot be a recurrent net that plans
ahead (obviously developing such a system is extremely difficult)

~~~
euyyn
What would you give it as an input, though? Real-time screen captures of
Google Maps in navigation mode?

------
birdmanjeremy
This is really interesting, but I'd want autonomous cars to be better than
humans at driving, not to emulate them.

~~~
elihu
I've read that one of the problems with Google's self-driving cars has been
that other cars tend to run into them because the self-driving cars drive
extremely conservatively and violate other driver's expectations of how a
typical California driver is expected to behave.

I think this sort of thing is something developers are going to have to find
ways of dealing with; a car can be technically driving in a safe, legal way
but if it's too different from how a human would drive, they are going to be a
safety hazard.

Of course, standard driving behavior varies dramatically from place to place.
For instance, in the United States, everyone is expected to get out of the way
of whichever car has the right-of-way in that situation. In Indonesia, the car
that has the right-of-way is expected to slow down, stop, or move over to
accommodate other cars that do things like pull out in front of them in an
intersection or pass on a two-lane road with oncoming traffic. A self-driving
car in Jakarta would need to be trained very differently than a self-driving
car in Seattle or Paris. Not just because the traffic laws are different, but
because drivers have very different expectations about what is normal
behavior.

~~~
blazespin
Self driving cars must do significantly better safety wise otherwise the
adoption will be hampered.

Plus, the whole point here I think is to save lives. Google self driving cars
arent really a hazard they're more just very annoying because they are overly
cautious.

~~~
mechanon05
I feel like people just assume that they are annoying to drive around, but
very few people actually have experience driving around google's cars. The
times that I'm around them (a few mornings a week), they are never in any way
weird or annoying. In fact, they are extremely predictable, and therefor, if
anything, less annoying to drive around.

~~~
ktRolster
I think the fear is that they'll drive the speed limit on the freeway, even
when no one else is.

~~~
danieltillett
Actually what would speed up adoption would be if they were able to drive over
the speed limit legally. If they are significantly safer then this should be a
win-win for everyone other than those issuing speeding tickets.

------
brianchu
Here is a great, very accessible video where the CTO of MobileEye (which
provides some of the components for Tesla's "autopilot") explains his views on
the challenges of end-to-end learning for autonomous vehicles, and why it's
preferable to decompose the problem instead (still using deep learning for the
decomposed modules).
[https://www.youtube.com/watch?v=GCMXXXmxG-I](https://www.youtube.com/watch?v=GCMXXXmxG-I)

I'm inclined to agree, especially because it helps in 1) providing diagnostic
information (such as the great driving visualizations shown in the video), and
2) makes it easier to incorporate algorithms and sensors (like with Google's
cars) as a redundancy in case the neural network hits a crazy edge case.

~~~
drewm1980
Engineers are going to break down the problem into many subsystems and test
the heck out of them.

Maybe the system can still be globally optimized, though, as long as
individual subsystems are still verifiably correctly trained. i.e. lane
detection, pedestrian detection could share some of the same convolutional
layers and still be tested separately.

My personal prediction is that all of this 2D convolutional network stuff will
be extended to 3D within a few years. The front-end will do a full 3D scene
reconstruction from first principles, and then some sort of 3D features will
be learned on ~that data.

------
dang
Url changed from [https://blogs.nvidia.com/blog/2016/05/06/self-driving-
cars-3...](https://blogs.nvidia.com/blog/2016/05/06/self-driving-cars-3/) to
the paper it points to.

~~~
rdabane
Thanks.

------
kajecounterhack
Cool trivia: the building is in Holmdel, NJ and is really nice but sat
abandoned for years. Companies can rent coworking space now, they're
rebranding as "Bell Works" ([http://bell.works](http://bell.works))

[https://en.wikipedia.org/wiki/Bell_Labs_Holmdel_Complex](https://en.wikipedia.org/wiki/Bell_Labs_Holmdel_Complex)

------
khalilravanna
An Nvidia self-driving car. Impressive...but can it run Crysis?

In all seriousness though I'm really enjoying the number of corps exploring
the space of self-driving cars. It can only make the reality of a road full of
autonomous cars come all the sooner. (Though with the rate at which I see
Google's self driving cars around Austin you'd think they were already out for
public consumption.)

------
Animats
The machine learning, no model approach is kind of scary. It's likely to do
the right thing most of the time, and something really bogus on rare
occasions. There needs to be more than just a model trained from successful
driving. Some kind of recognition of "this is bad" is needed.

~~~
rdabane
Yup, like a near collision scenario to teach it to drive off the road instead
of head on collision ...

------
webaba
In aeronautics, we were able to increase safety to an insane level by
understanding the physics of the environment, formally proving and certifying
algorithms, using Robust control theories that allow to formally deal with
uncertainty. The power of mathematical modeling together with robust software
testing and a limited/controlled use of learning algorithms is - in my opinion
- likelier to bring safety to such systems rather than such an opaque use of
CNNs. And I'm not even talking about human machine interaction or liability
issue that would emerge from such extreme approaches (which node of the net or
which training sample will be blamed?). I guess CNNs allow a lot of wannabe
engineers to play with real world problems and dream that their 10 lines
python code would match semantic models if fed with more training data, but
I'm pretty sure Aircraft/Car manufacturers will/should not replace formally
certified controls algorithms and redundant architectures built on the top of
hundreds years of analytical results with a rack of NVIDIA GPUs.

------
rdabane
Its amazing how the characteristics defined in
([https://en.wikipedia.org/wiki/Contextual_learning](https://en.wikipedia.org/wiki/Contextual_learning))
apply directly to this scenario. (Learning from a master )

------
StavrosK
It's mind-blowing to me that they did raw image mapping to steering angle,
without any manual feature extraction whatsoever. This is just revolutionary.

------
ChuckMcM
Wow I guess having a self driving car is the new thing next we'll have self
driving sli, can drive two cars if they are joined together with a proprietary
cable :-)

More seriously, this is amazing work, I am really impressed, I just wonder if
we can't get something more topical like training lasers on mosquitoes or
something. I feel like I did when 3D graphics was the new thing, every day it
felt like there was a new advance, now the same tech is doing the same thing
to machine learning.

------
FriedPickles
In case you missed it, the ninth reference is a good video of the system in
action:

[https://drive.google.com/file/d/0B9raQzOpizn1TkRIa241ZnBEcjQ...](https://drive.google.com/file/d/0B9raQzOpizn1TkRIa241ZnBEcjQ/view)

------
hokkos
Seems very similar to the GeoHot self driving car experiment.

------
infocollector
Does anyone know which camera they were using?

------
sqeaky
Nvidia is one of the main reasons my computers, I do not want this true of my
cars as well.

Edit - Is a joke really worth this many downvotes? I mean who hasn't had
occasional trouble with Nvidia drivers and games?

~~~
kcbanner
"Nvidia is one of the main reasons my computers, I do not want this true of my
cars as well." If this was a joke I think the grammatical error led to
confusion?

~~~
taneq
I think they accidentally a word. (My guess would be 'main reasons my
computers _crash_ ' :P )

~~~
sqeaky
Dammit, totally. How did I not see that!?

