字:
关灯 护眼
首页 > 科幻 > 重生之AI教父 >162. 网络的重参数化

162. 网络的重参数化

作者:CloseAI字数:2185更新:2024-10-25 15:48

马斯克的主要商业版图是汽车与火箭这样的重工业,其实原本与这个时间点的人工智能关系没有那么大。

不过他个人的确是想法极其前沿又激进的一个人,造普通的车可不是他的风格。

特斯拉不仅要带电,还要带自动驾驶!

不仅如此,面对孟繁岐在视觉算法上的接连突破,他有一个大胆的想法。

那就是希望为自己的特斯拉电车产业打造一个纯计算机视觉系统,而不借助其他技术手段。

这是导致他此次再次来寻找孟繁岐,追求技术突破的主要原因。

個人来说,他其实已经对上次的结果非常满意了,只不过他给自己的目标定的太高,想要完成这还远远不够。

自动驾驶在深度学习发展起来之前就已经有了一些不错的成果,不过那些内容都是基于雷达和传感器居多。

主要通过激光雷达或者其他传感器来检测物体,以及这些物体距离车辆的距离。

不过马斯克觉得,这与人类操作车辆的方式不大一样,太不酷了。

想想人类是怎么开车的?

一个人在驾驶汽车的时候,基本上就是纯视觉的,只靠看就能驾驶。车辆上那些镜,主要就是为了方便人看到周围和后面。

可能偶尔有一些听觉的辅助效果,比如鸣笛,不过不是特别关键。主要还是视觉系统在起到作用。

马斯克称之为第一原理思维,他希望做出的智能系统完全按照人类的逻辑去驾驶车辆,而不是借助传感器,毕竟人类可没有这样的超能力。

但是视觉系统完全是基于大量的相机的,非常依赖高精度的检测算法,这就会带来很多的问题。

如果检测到的东西数据集中没有见过怎么办?那还能检测到吗?

基于激光雷达的传感器办法,不管碰到什么,总是可以检测到粒子和物体,它的原理像不像人类不说,至少不那么容易直接撞上去。

纯依靠视觉的智能系统那可就不好说了,必须先用网络处理图像,然后加以分析。

一旦分析出错,出现了误判,那是必撞无疑,肯定会发生车辆事故,一头创死在上面。

马斯克激进的技术策略和喜好导致了一个问题,那就是人工智能算法要做的事情太多了。

想要完全弃用传感器,那四面八方都得安装车载摄像头才行,才能保证前后左右都看得清楚。

此外,还有一个重要的事情,那就是距离的估计。

对于人类来说,根据一张图片去判断其中距离的远近,实在太过容易,可这对人工智能视觉算法来说,不是一件容易的事情。

以现在的技术条件,需要进行非常复杂的标注,去分析样例图片中各个部位和像素的距离远近。

因为图片毕竟是2D平面的,而自动驾驶是一个需要掌握好空间距离的任务。

通过大量不同角度的平面图片,来重构一个三维的空间,甚至鸟瞰视角的三维空间是必要的。

不过现在这还只是空中楼阁,马斯克再次联系孟繁岐的来意非常简单,就是希望这个作为骨干的神经网络可以再快一点,或者计算量再小一点。

否则以目前的情况看,特斯拉很难负担得起这个运算量。

实际上,马斯克没有对这件事情抱有特别大的希望。在他看来,孟繁岐上次给出的方案已经好到非常离谱了。

在这个大家才刚开始复现DreamNet,还没把残差的原理和一些变种搞明白的时间点,孟繁岐已经针对各种不同平台的其他运算设备,做了相当多的实验。

从而通过优化算子结构,调整特定计算过程的方式,将这个核心的骨干网络参数量减少了接近十倍。

运算快了这么多,性能却没什么变化,这已经非常不得了了。

马斯克有这一问,也是私下里的随口一提。

但他名头太大,以往自己做的事情又太疯狂,导致孟繁岐听着他那颇为低沉,有磁性的声音之时,当了真。

还真以为这是个非常严肃认真的需求。

“自动驾驶的热度确实也快起来了,我专门针对这方面做点优化工作,也不算亏。”

孟繁岐一边利用着重生优势开始抄底一些车企的股票,一边开始着手实现一个巧妙的加速并且节省内存的方式。

这个新的优化办法叫做网络结构的重参数化。

这半年来,视觉方法性能的突飞猛进来自于孟繁岐提出的残差方法,也就是将y=F(x)变为y=F(x)+x。

这里的写法比较简便,将一系列复杂的操作,抽象归纳为F(),在实际运算过程中,这个F()还是比较复杂的,往往需要算上好一会。

但在计算的时候,就有一个问题了,原本y=F(x)运算开始的时候,就不再需要继续存储x这个变量了,因为它已经在参与F(x)的运算。

在运算过程当中,它会变成其他的中间变量,然后最终变为我们所想要的y。

可在残差办法当中,y=F(x)+x,x这个原始的输入,是不能够舍弃的。

必须有空间一直被占用着,用来存放这个x,因为它还等着最后加上去呢。

在比较复杂,分辨率比较高的任务当中,这个变量的大小是相当可观的。

这种情况有没有办法可以规避?规避之后,残差方法带来的性能提升能不能不要被影响?

答案当然是肯定的,完全可以做到。

孟繁岐准备实现的这种结构重参数化,其最核心的思想就是模型训练和实际使用推理的分离。

首先构造一系列结构(一般用于训练),并将其参数等价转换为另一组参数(一般用于推理),从而将这一系列结构等价转换为另一系列结构。

在现实场景中,训练资源一般是非常丰富的,可以在大型的服务器上得到。

而推理的时候,计算资源往往会比较有限,因此大家更在意的是推理时的开销和性能。

想要训练时的结构较大,具备好的某种性质,比如性能特别好,准确率特别高。

但在推理的时候,则把结构变小变快,同时在数学上等价于大型的结构。

孟繁岐的这个新办法,就提供了这种可能,他相信,重参数+移动端网络的算力削减,将会成为自动驾驶领域的一大催化剂。


  
『加入书签,方便阅读』

Copyright © 2019-2022