Neural Networks: Learning: Autonomous driving example

摘要: 本文是吴恩达 (Andrew Ng)老师《机器学习》课程,第十章《神经网络参数的反向传播算法》中第80课时《无人驾驶》的视频原文字幕。为本人在视频学习过程中记录下来并加以修正,使其更加简洁,方便阅读,以便日后查阅使用。现分享给大家。如有错误,欢迎大家批评指正,在此表示诚挚地感谢!同时希望对大家的学习能有所帮助.
————————————————
In this video, I'd like to show you a fun and historically important example of Neural Network Learning. Of using Neural Network for autonomous driving that is getting a car to learn to drive itself.

The video that I will show in a minute, was something that I've gotten from Dean Pomerleau, who is a colleague who works in Carnegie Mellon University on the east coast of the United States. And in part of the video, you'll see visualizations like this, and what I would tell you what the visualization looks like before starting the video. Down here on the lower left is the view seen by the car of what's in front of it and so here you will kind of see a road that's maybe going a bit to the left and going a little bit to the right. And up here on top, this first horizontal bar shows the direction selected by the human driver and is the location of this bright white band that shows the steering direction selected by the human driver, where, here far to the left corresponds to steering hard left; here (far to the right) corresponds to steering hard to the right; and so this location, which is a little bit to the left, a little bit left of center, means that the human driver, at this point, was steering slightly to the left. And this send bar here corresponds to the steering direction selected by the learning algorithm; and again, the location of this sort of white band, means the neural network was here, selecting a steering direction just slightly to the left and in fact, before the neural network starts learning initially, you see that the network outputs a gray band, like a uniform gray band throughout this region, so the uniform grey fuzz corresponds to the neural network having been randomly initialized, and initially having no idea how to drive the car, or initially having no idea what direction to steer in. And it's only after it's learned for a while that it will then start to output like a solid white band in just a small part of the region corresponding to choose a particular steering direction. And that corresponds to when a Neural network becomes more confident in selecting, a band in one particular location rather than outputting a sort of light gray fuzz, but instead outputting a white band that's more confidently selecting one steering direction.

 

ALVINN is a system of artificial neural networks, that learns to steer by watching a person drive. ALVINN is designed to control the NAVLAB II a modified army Humvee who could put sensors, computers and actuators for autonomous navigation experiments. The initial step in configuring ALVINN is training a network to steer. During training, a person drives a vehicle while ALVINN watches. Once every 2 seconds, ALVINN digitizes a video image of the road ahead, and records the person's steering direction. This training image is reduced in resolution of 30 by 32 pixels and provided as input to ALVINN's three-layer network. Using the back propagation learning algorithm, ALVINN is training to output the same streeing direction as the human driver for that image. Initially, the network's steering response is random. After about 2 minutes of training, the network learns to accurately imitate the steering reactions of the human drivers. This same training procedure is repeated for other road types. After the networks have been trained the operator pushes the run switch and ALVINN begins driving. 12 times per second, ALVINN digitizes an image and feeds it to its neural networks. Each network, running in parallel, produces a steering direction and a measure of its confidence in its response. The steering direction from the most confident network, in this case, the network trained for the one-lane road is used to control the vehicle. Suddenly, an intersection appears ahead of the vehicle. As the vehicle approaches the intersection the confidence of the one-lane network decreases. As it crosses the intersection, and the two-lane road ahead comes into view, the confident of the two-lane road rises. When its confidence rises, the two-lane network is selected to steer, safely guiding the vehicle into its lane, on the two-lane road.

So that was autonomous driving using a neural network. Of course, there are more recently more modern attemps to do autonomous driving. There are a few projects in US, in Europe and so on. They're ging more robust driving controllers than this, but I think it's still pretty remarkable and pretty amazing how a simple neural network training with back propagation can, you know, actually learn to drive a car somewhat well.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值