David9的ICML2019观察:Tesla自动驾驶建模是如何搞定多任务学习的?实时多任务,autopilot自动导航

人类在做其他看似不相关的事情时,会给手头的任务带来灵感; 模型也应如此,让它在训练时做其他任务,会对它的实际预测带来好处(正则约束)  — David 9

多任务模型David不是第一次讲了,但是之前涉及的是强化学习自然语言领域。视觉领域,多任务学习就更有意思了。自动驾驶是该领域的常见应用,不但要求准确率99%+极低延时,而且是一个开阔的“无限游戏”,正如特斯拉AI负责人Andrej Karpathy在ICML2019发言上提到的,其复杂性是多方面的,

遇到的车况可能很复杂:

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见文末参考文献

摄像头的视觉角度也很复杂(8个方向):

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

更复杂的是,自动驾驶天生就是多任务的:

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

在你开车时,你的眼睛和大脑要同时分析移动的车辆,静态的路灯,斑马线,路标,警示牌,等等。。。甚至loss函数的设计都是复杂的,因为一些任务就是比一些任务更重要(我们要重点关注突然闯红灯的行人)

要适应如此复杂多变的环境并且要求实时导航,如何去建模真的很有挑战性。首先,你不可能对每个任务都建一个模型

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

这样哪怕可行开销也太大(除非你想多送用户几块gpu或硬件资源)。另一个极端是所有任务都合并为一个模型

来自:Andrej Karpathy的演讲《Multi-Task Learning in the Wilderness》,见参考文献

这也不太现实,研究automl的许多论文(Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation)已经侧面证明,哪怕是单个任务,模型搜索也是一件不容易的事

来自:Auto-DeepLab: Hierarchical Neural Architecture Search for Semantic Image Segmentation

那么特斯拉内部是如何处理多任务学习的 ?David觉得如下3点特别有意思:

第一,特斯拉自动驾驶实际是要用一个折中的多任务模型搜索方案,方案借鉴这篇论文:

...阅读更多...加入David9的星球群阅读所有文章:

加入David9的星球群,获得通行密码 , 阅读全文

发布者

David 9

邮箱:yanchao727@gmail.com 微信: david9ml

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注