用显卡?
用打游戏娱乐的显卡,去跑世界上规模最大的图像识别挑战赛?
「我花了一点时间,用CUDA重写了卷积和池化的计算核,并且设计了一套双卡并行架构。」
「因为3GB显存依然装不下整张网络,我们将QInet的神经元分别寄存在两张显卡上,它们只在特定的层,比如第三层卷积和全连接层进行数据通信,而在其他层,两张显卡各自独立计算,互不干扰。」
佩罗宁原本以为对方是靠着什麽漏洞或者运气,但现在,漆昊一步步讲解,一切又觉得十分合理。
佩罗宁主导设计的费舍尔向量算法,在图像分类领域几乎打遍天下无敌手,是全行业公认的最优解。
为了更好训练整个模型,他们甚至为此向总部申请了数十万欧元的预算,租用了欧洲最顶级的超算集群,夜以继日地进行着复杂的矩阵计算。
结果现在漆昊的方案,告诉他,他们连研究方向都选错了!
真是难以置信!
作为老牌CV学者的尊严让他不得不最後挣紮一下。
「漆昊先生!不可否认,你们的架构设计非常惊艳,但是,神经网络本身致命的缺陷之一就是平移不变性极差,ImageNet中的目标物可能出现在图片的任何角落,尺寸也千差万别。」
「QInet:是如何在如此庞大的参数量下,保证不会因为目标物的位移,旋转或者光照变化,而出现分类崩塌的?」
漆昊解释了:「这其实我们在=训练中改进的。」
「QInet在数据预处理阶段进行了数据增强。」
「面对位移和尺寸变化,我们没有去试图修改网络本身,而是对数据源动手。」
「在训练阶段,我们把原本256256像素的图片,随机裁剪出224224的图块,并且进行水平翻转。」
「不仅如此,在测试阶段,我们对於一张待测图片,会同时裁剪出其四个角,中心区域以及它们的水平翻转共10张图块,让QIet分别进行预测,最後将这10个预测结果进行平均,作为最终的输出。」
「不是,这还是计算机学吗?」
「这是数学。」
「举个例子,现在我将裁剪图片出四个角和中心,加上水平翻转,得到10个不同视角的图块1,2,.·,10。」
「在这10个图块里,猫的相对位置全都不一样,左上角那张,猫跑到了右下,右下角
本章未完,请点击下一页继续阅读!