{{detailStore.author.is_follow?'已关注':'关注'}}
精华
管理
端到端是万能解题方案吗?
文章

自从特斯来V12问世以后,大家都被他的表现吸引了,转弯,加减速等操作非常丝滑,非常拟人,系统响应速度也很快。大家对他的能力上限有了更高的期待,实际效果远超人工编写的规控规则。

一、现有技术架构的问题

传统的方案是按照模块化开发,系统的运行的原理是模块到模块串行执行的,这样的架构天然存在一些问题。

例如感知模块通过传感器的数据生成感知模型,例如本车道内本车正前方10米有一辆以50Km/h行驶的小轿车,会有类似这样的一堆数据。感知模块会把这些数据通过接口的方式传递给下一个决策规划模块,决策规划模块通过给定的感知信息做出控制指令,例如加减速,左右转等。这样的架构存在一定的问题。如果感知模块异常了,系统就退出了,例如感知模块碰到不认识的路了。一下我用真实的例子举例。

视频上传成功

感知异常退出案例集合

第二问题是模块与模块之间的信息传递肯定会有信息损失。举例一个搞笑的案例,大家就应该明白了。

视频上传成功

信息损失之后可能会产生一些诡异的行为。我也举例一下。

视频上传成功

这些诡异的行为,还是很危险的。模块化的方案还有一个问题,就是模块过多的话,会造成整个系统响应变慢。例如在一些危险场景里,避让不及时等等,我遇到过一次别人加塞我,别人加塞完成以后,过了1秒,我的车开始大幅度避让,很诡异。还有的时候系统看不懂路或者要进行一系列计算,最终的体感就是反应慢,不流畅。还有就是识别的慢了,造成错过一些路口等等。我也举例一下。

视频上传成功

由于预测,决策,规划等模块都是人工编写的规则,这些规则都是死板的。他不可能适用于真实复杂的物理世界上所有的道路,哪怕是中国的道路,也不可能用规则搞定。比如车辆遇到前方大车,遮挡了视野,过红绿灯路口时,车辆看不见红绿灯他就不走了,等看见了红绿灯再走,逻辑上感觉没问题,但是实际体验非常差。

还有一个很正常的场景。比如直行通过红绿灯路口,通过红绿灯路口时,应该选择对面左一车道呢还是选择左二车道呢,这是一个非常正常的场景,但是我遇到了很大的问题,就是由于系统不会选择车道,造成很差很差的体验,甚至系统自己把自己搞死机退出。人工编写的规则,有很多很多的场景体验很差很差。继续视频举例

视频上传成功

规则写的多了以后,他们之间可能还会存在冲突等等。总之我认为现有的模块化方案配合现在的硬件平台,做出的城市自动辅助驾驶体验很差。假如将来,摄像头的像素提高并且帧率提高到60Hz,激光雷达也提高到60Hz,整个系统的响应速度提升到50毫秒,那么我认为现在很多问题都可以解决。但是现在的硬件以及软件架构存在很多问题,我个人的用车环境里,不算太复杂,场景也都还算简单,但是获得的体验依然都很差。上述所有的问题,我均已经向阿维塔官方客服反馈了,希望他们可以解决问题。

二、什么是端到端

简单地说,输入端是传感器的数据,输出端是行驶轨迹或者直接输出油门,刹车,转向的指令。连接输入端和输出端是一个神经网络模型。这个神经网络模型就是开车的大脑。他不断地在学习人类开车的数据,理论上这个神经网络模型学习足够多的数据,见过足够多的复杂场景,那么这个神经网络模型就可以输出一个最优的结果,类似于阿尔发狗下围棋,他每一步都会做出一个当时场景的最优解。

那么端到端有没有解决模块化方案存在的问题呢,我认为是有的。举例说明

1、识别不了道路结构退出

对于端到端神经网络模型来说,他不需要去识别道路结构。道路结构是给人看的,神经网络内部不需要去看这些信息。对于摄像头来说,有一个ISP模块,他用来把原始数据还原成人类可以看的画面,由于他的存在,还原的过程就会有信息丢失。对于端到端神经网络来说,他可以接受摄像头最原始的数据,不需要人类看得懂的画面也可以。所以端到端神经网络系统对于感知异常造成的退出我认为会大大减少。

2、模块与模块之间信息传递导致信息量损失

端到端的系统架构,没有中间商赚差价,最原始的传感器数据可以直接进入神经网络模型,所以他的信息传递损失很少。

3、系统响应速度慢

端到端的系统架构,相对于多个模块化系统来说,他的结构简单,系统响应速度更快。但是模块化的端到端还是比one model的端到端在理论上要慢一些。

4、规则与规则之间的冲突

纯粹的端到端系统几乎不需要写人为的规则代码。模型从训练学习的数据集中去学习并寻找关联性,一切皆数据驱动。工程师最重要的就是寻找高质量的数据,减少不相关的噪音,并提升模型对于未知环境的泛化能力。

端到端从架构上,比模块化的人工规则方案强,那么他能解决自动驾驶问题吗?我认为不能,如果只有一个端到端网络,没有监督或者兜底是不行的。

既然端到端是在模拟人类开车,那么我们会认为端到端的能力必然<=人类开车的能力。我们能否训练出一个网络模型,让他可以在全国的任何道路上都开的很好?我认为不能,原因是我们每个个体的人开车,也不可能在全国各个地方都开的很好,我们个人往往只是在自己熟悉的道路上开的好,去了陌生的城市,我们不了解这个城市的道路特点,也不了解这个城市大家的开车风格,所以我们个人是不能在全国范围里都开车开的好,他是有地域特点的。特斯拉也不是全美都能开的好,往往训练数据多的一些区域开的好,训练数据少的一些区域开的没那么好。那么如果加入地域标签后,端到端系统训练数据需要分地域来训练,不同地域有不同的模型,在用户数据少的城市需要专门的车队去跑训练数据,当然这些工作也可以通过仿真系统来解决,前提是仿真的得尽量真实,否则模型遇到陌生环境的泛化能力就很差。他很像是一种先验信息,有一种预感,把解散了得地图团队(先验团队),估计得重新组建了。芯片承载的数据量是有限制的,数据过多以后,会不会造成以前学会的又遗忘呢。所以,模型必然会遇到让他束手无策的场景,那么出现这些场景怎么解?

神经网络模型的缺点是啥?我认为是输出结果可解释性差,他就是黑洞。模型输出奇怪的结果,研发人员也不好定位问题。为了安全考虑,有的采用规则兜底的方案。而有的使用另一种模型去监督端到端模型。都是为了安全考虑。用规则兜底的方案的系统遇到复杂场景,超出了端到端网络的处理能力时,规则就是他的天花板。用模型监督端到端的系统方案,存在两个网络模型,理论上监督的模型也会出现黑洞,所以在极端场景下两个模型也可能出现无法应对的场景。

目前的各家还没有彻底的推送端到端到用户手中,有的家部分模块使用了网络代替了人工规则,我认为这种不能算端到端。超过2个模块的都不能算。今年下半年到明年上半年,第一梯队的玩家就基本上可以推送端到端系统给到用户了,到时候才能揭晓,什么样的端到端是最好的体验。

写评论
积分赞赏
点赞
评论区
  • 编辑
  • {{is_favourite ? '已收藏' : '收藏'}}
  • {{is_personal_top ? '取消主页置顶' : '个人主页置顶'}}
  • 举报
  • 加入黑名单
  • 删除
  • 取消置顶
  • 置顶推荐
    • 6小时
    • 12小时
    • 24小时
    • 3天
    • 一周
    • 长期
  • {{digest?'撤销精华':'设为精华'}}
回到顶部
  • 全部评论{{detailStore.commentnum}} 条
  • 只看作者
  • 最热
  • 最新
  • 最早

「待审核」

{{ comment.relativeTime }} 已被赞赏 {{comment.integral}} 积分 回复

暂无相关评论

发表一下个人看法吧