专栏名称: 智能车情报局
聚焦智能汽车关键技术与创新产品
目录
相关文章推荐
阜阳新闻网  ·  微博深夜宣布:即日起解散 ·  8 小时前  
大众新闻-大众日报  ·  微博最新公告 ·  10 小时前  
大众新闻-大众日报  ·  微博最新公告 ·  10 小时前  
津云  ·  微博最新公告:解散相关运动员超话! ·  17 小时前  
津云  ·  微博最新公告:解散相关运动员超话! ·  17 小时前  
新浪体育  ·  国足花国家的钱了吗? ·  2 天前  
掌中淄博  ·  郭艾伦,宣布退出! ·  2 天前  
掌中淄博  ·  郭艾伦,宣布退出! ·  2 天前  
51好读  ›  专栏  ›  智能车情报局

端到端架构是当下自动驾驶的技术正确

智能车情报局  · 公众号  ·  · 2024-07-16 16:21

正文


9月6-7日,2024全球AI芯片峰会 将在北京召开。目前,AMD人工智能事业部高级总监王宏强,清华大学交叉信息研究院助理教授、北极雄芯创始人马恺声,珠海芯动力创始人兼CEO李原,“吴文俊2023人工智能芯片专项奖”第一完成人、锋行致远创始人兼CEO孙唐等嘉宾已确认出席。欢迎报名或购票参会~



前段时间CVPR在西雅图召开,朋友圈里关于自动驾驶的新闻和讨论不少,其中端到端是热门话题,今天就蹭点热度聊这个。

所谓的端到端架构是指从原始传感器数据到自车轨迹(或者自车控制信号)的可微分算法架构,不熟悉的朋友可以去看去年的一篇综述,我在 202339B 端到端自动驾驶 中做了总结。

01

为什么


首先我们要问一个最基本的问题:自动驾驶端到端架构的提出是为了解决之前架构的什么问题?在去年的文章中我说(端到端)“这一架构的好处是它是机器学习或者说神经网络原生的,可以通过反向传播对多个任务进行联合和全局的优化”。反过来看之前的功能模块化架构是由神经网络模型和传统算法通过人工设计的数据接口连接起来的混合架构,它有两个问题亟待解决:

  • 模块间传递的数据本质是一种“接口”。类似机器学习中的特征工程,它的设计基于专家的领域先验,在自动驾驶起步时很有帮助,但现在已经成为系统的“包袱”,就好像河流上大大小小的水坝,引入不必要的信息过滤,限制有效的信息流动,我们需要神经网络原生的数据表示,以保证信息熵在模块间的高效传递。

  • 模块的功能抽象和系统整体设计不易迭代。这是因为模块内的算法优化和模块间的系统优化属于两个分离的过程,但它们又相互关联共同影响整个系统的性能,为了能够将两者统一起来,我们需要神经网络原生的系统优化方式,以支持跨模块的系统全局迭代。

既然数据表示和架构优化都需要神经网络原生,那么是不是一个端到端的神经网络模型就是最好的选择?我觉得魔鬼在细节,要小心矫枉过正。

02

神经网络原生


端到端架构需要神经网络原生的数据表示和系统优化。

从数据的角度,我们可以使用向量/张量这些没有显式语义的数据形式,尽可能通过训练让模型学习如何从传感器数据中获取与驾驶最终指标相关的信息,而不是被不完美的人类经验限制住。用技术的话说,我们应该将传感器数据尽可能无损的编码到高维的隐空间中去,把隐空间内的计算逻辑全权交给神经网络,只在输出规控结果或者评估模型能力的时候从隐空间解码到物理空间或者语义空间。

从架构的角度,我们可以使用反向传播算法进行系统全局优化,避免模块之间因为“分而治之”的思想而被割裂。用技术的话说,我们需要考虑模块之间反向梯度的传递“带宽”,这样基于驾驶最终指标的反馈才能尽可能多的影响系统的各个部分,带来系统整体的优化和性能提升。

神经网络原生的数据表示和系统优化其实都不能各自独立存在,所以把它们看成同一件事情也未尝不可。

03

特征隐空间


在端到端的输出侧,我们有来自多个传感器的数据,需要融合到同一表示空间,这个空间在后融合时期是四维时空中离散的显式语义对象,来到前融合时期升级为BEV空间中稠密的隐式特征向量。目前考虑到车载芯片算力压力和感知的延迟要求,BEV空间需要平衡空间分辨率和感知范围,它的空间稠密性和传感器遮挡会导致一定算力浪费,而RangeView空间正好与其互补,可以自然表示相对自车的距离,而且遮挡不会带来算力浪费。

退一步看,BEV或者RangeView只是传感器融合之后的不同“模态”,就好像地图可以看成来自历史的数据“模态”,我们只需要把它们作为输入给到模型学习如何使用。

传感器数据融合后编码为稠密的隐式特征向量,而自动驾驶中的感知目标和运动轨迹等都基于离散的,有语义的物体概念。在 202325B 端到端的自动驾驶架构-UniAD 中,我谈到UniAD的所有模块都使用稠密BEV特征,同时模块之间传递的是离散token的特征向量,这样的离散-稠密二元结合不是偶然,而可能是端到端架构的一个特点。

04

确定的过去和多重的未来


自己驾驶技术栈由两个本质不同的模块构成:泛感知和泛规控。前者的输出是确定的过去,而后者的输出是多重的未来。因此这两个模块的训练方法和错误原因也自然不同,泛感知基于监督学习,而泛规控不能完全依赖开环的行为克隆(监督学习),必须有闭环的强化学习,更实际的做法是用行为克隆进行大规模预训练,然后在合格的仿真器中进行驾驶策略微调,但问题是具体怎么做呢?

行为克隆在数据样本充分的情景下能够很好的模仿数据中的驾驶行为,挑战来自数据样本不足的数据分布“边缘”,这就好像AlphaGo如果从人类棋谱中学习,那么遇到没见过的无理手就可能犯错。AlphaGo的对策是左右互搏,对接下来的对弈走向进行“仿真”,用最终的胜负或者高置信度的价值函数估计作为判定反馈到策略训练,以后再遇到同样的无理手就可能直接选择合适的应对。这一慢一快就是现在人尽皆知的系统1和系统2( 202319B 自动驾驶中的System 1和System 2 ),可是系统2如何高效的产生几乎无限的数据用于训练系统1呢?系统2本质是一个仿真器,现在很多时候也是基于数据训练的神经网络,那灵魂拷问来了:基于仿真器的模型训练和基于训练仿真器的真实数据的模型训练两者本质的区别是什么?类似的问题同样适用于讨论基于图片/视频生成模型训练泛感知模型,生成模型真的可以青出于蓝而胜于蓝吗?端到端架构对模型和数据规模的依赖要求我们必须对这个问题有确定的答案。

05







请到「今天看啥」查看全文


推荐文章
阜阳新闻网  ·  微博深夜宣布:即日起解散
8 小时前
大众新闻-大众日报  ·  微博最新公告
10 小时前
大众新闻-大众日报  ·  微博最新公告
10 小时前
新浪体育  ·  国足花国家的钱了吗?
2 天前
掌中淄博  ·  郭艾伦,宣布退出!
2 天前
掌中淄博  ·  郭艾伦,宣布退出!
2 天前
心理测试  ·  有人偷偷爱着你。
7 年前