增强学习在无人驾驶中的应用,其实也不知道能否做出来,但是先看看。
https://wayve.ai/blog/learning-to-drive-in-a-day-with-reinforcement-learning
The first example of deep reinforcement learning on-board an autonomous car.
你是否还记得还提时学自行车的情形?激动并有点紧张,你可能第一次坐在自行车上并骑着(pedalled)同时一个成年人在你周围徘徊着(hovered over you)当你失去平衡的时候就抓住你,在一些摇摆不定(wobbly)的尝试之后,你大概就能在几米(metres)之内掌握平衡。几个小时之后,你可能就能在公园的碎石(gravel)和草地上进行拉链(are zipping around)了
这个成年人只是沿路给了你简洁的提示,你并不需要稠密(dense)3D 公园地图或者在你头上安装一个高保真度(fidelity)激光(laser),为了保持自行车的平衡,你并不需要一个很长的列表规则去遵守。成年人只是简单的给你提供了一个安全的环境让你去学习如何测绘你看到的,并为了能成功的骑自行车,你该怎么做。
今天的自动驾驶汽车已经安装了很多sernsors,并且通过一个很长的开发周期用一个很长的人类手动(hand-engineered)细心操作的规则来告诉他们如何开。在博文(blogpost)中,我们回到最基础的,让车头开始(from scratch)学会沿着一个车道(lane)用更加聪明的反复试验(trail and error)更加像你如何学骑自行车,让我们看看我们做了什么。
https://www.youtube.com/watch?v=eRwTbRtnT1I
只用15~20min,我们就能教车从头开始(from scratch)中学会沿着车道行驶。这只能在安全教练员接手(take over)作为一个训练反馈时才能使用。
No dense 3D map.
No hand-written rules.
这是在自主性的车辆在线学习的第一个示例,通过每一次试错我们做得更好,所以我们是如何做到这个的呢?
我们应用一个流行的无模型的深度增强学习算法(DDPG deep deterministic[确定性] policy gradients)去解决这种沿着车道的问题。模型的输入是一个单眼(monocular)的相机图像。我们的系统通过3个工序进行迭代,
探索、优化、评估
我们的net结构是四层卷积和三层全连接,总共有小于10k的参数。为了对比(comparison)现有技术的图像分类结构有百万级的参数
所有的这些程序被运行在车上安装的一个图像处理单元GPU。
让一个机器人工作在真实的危险的环境下会造成很多的问题(pose many new problems)为了更好的理解手上的任务并且找到合适的模型结构和超参数,我们在仿真环境中做了很多的测试。
上面是一个我们沿车道运行的仿真环境从各个角度展示的一个案例,这个算法只是展示了驾驶者视角(perspective)即(i.e)
蓝色(teal border)边际的图像。在每个回合里面,我们随机生成(generatre)一个弯道去沿着他走,以及车道纹理(road texture )和车道标记,这个智能体探索直到他离开这个车道。智能体探索直到他离开这个车道,当这个回合终止的时候,
策略优化基于收集的信息并且我们重复这个过程。
我们模拟测试,尝试不同的网络结构和超参数直到我们找到能连续解决在每个episode中车道问题的的设置项,即小数据
例如我们的一个发现是训练卷积层用自编码重构loss值能够重大意义的提升稳定性和训练数据的效率,更多的完整的细节
可以查看技术报告。
The potential implications of our approach are huge.
我们方法的潜在【potential】影响【implications】是巨大的,
想像一下部署(depolying)一系列自动驾驶汽车,这些汽车自带的驾驶算法相当于人类司机的95%的水平。例如在我们的
示范(demonstration)video显示的一个系统,这个系统将不是摇摆不定(wobbly)的就像是随机初始化的模型一样,而是像
几乎能(be capable of)处理交通灯 、环岛roundabouts、十字路口intersections等等,在一天的驾驶和人类安全驾驶员的在
线提升后,也许这个系统能够提升到96%,一周后能提升到98%,一个月之后99%,几个月之后如果有来自不同安全员的反馈甚至超过人类。
今天的自动驾驶汽车表现得很好但是又并不是足够好,我们已经为第一次可行的框架提供了证据,这个框架可以迅速的提升骑行算法从平庸(mediocre)到能进行道路行驶,这个快速学习解决任务的能力是通过更加聪明的反复试错,这种能力使得类人的难以置信的多才多艺的机器能力的进化和生存。我们从混合的仿真数据和反复的从学自行车过程中的反复试错来学习如何做这件事。
deep mind 已经给我表明,那个深度强化学习方法可以有超过人类的效果在很多游戏中,包括棋类和电脑游戏上,基本上总是在基于规则的系统中优胜。我们在这里展示了相似的哲学(philosophy)在真实的世界中也能表现良好尤其是自动驾驶汽车领域,
一个关键的点是deep mind的atari游戏训练算法需要解决任务中的百万级的试错,我们的车道行驶问题只需要20次的试错
We learnt to follow lanes from scratch in 20 minutes.
Imagine what we could learn to do in a day…?
wagve 有一套建立机器人的哲学我们不需要大量的模型、唤醒的sernsor、和无穷的数据。我们需要的是一个巧妙的能快速有效学习的巧妙过程,像我们video中显示的,手动设计方法的自动驾驶已经达到了一个天花板,,wagve正在尝试解锁自动驾驶的能使之拥有更加高级的人工智能。