当你看着一张猫的照片,轻松就能知道猫有没有条纹,不管照片是黑白照,有斑点,还是磨损或者褪色了,都能轻松识别。不论宠物蜷缩在枕头背后;或者跳到工作台上,拍照时留下一片朦胧,你都能轻松识别。如果用机器视觉系统(用深度神经网络驱动)识别,准确率甚至比人还要高,但是当图片稍微新奇一点,或者有噪点、条纹,机器视觉系统就会犯傻了。
为什么会这样呢?
德国研究团队给出一个原因,这个原因出乎意料:人类会关注图中对象的形状,深度学习计算机系统所用的算法不一样,它会研究对象的纹理。
德国的发现告诉我们人类与机器“思考”问题时有着明显区别,也许还能揭示人类视觉进化的秘密。
深度学习算法是怎样“工作”的呢?
首先人类向算法展示大量图片,有的图片有猫,有的没有。算法从图片中找到“特定模式”,然后用模式来做出判断,看看面对之前从未见过的图片应该贴怎样的标签。
神经网络架构是根据人类视觉系统开发的,网络各层连接在一起,从图片中提取抽象特点。神经网络系统通过一系列联系得出正确答案,不过整个处理过程十分神秘,人类往往只能在事实形成之后再解释这个神秘的过程。
美国俄勒冈州立大学计算机科学家Thomas Dietterich说:“我们正在努力,想搞清到底是什么让深度学习计算机视觉算法走向成功,又是什么让它变得脆弱。”
怎样做?研究人员修改图片,欺骗神经网络,看看会发生什么事。研究人员发现,即使只是小小的修改,系统也会给出完全错误的答案,当修改幅度很大时,系统甚至无法给图片贴标签。还有一些研究人员追溯网络,查看单个神经元会对图像做出怎样的反应,理解系统学到了什么。
德国图宾根大学(University of Tübingen)科学家Geirhos领导的团队采用独特方法进行研究。去年,团队发表报告称,他们用特殊噪点干扰图像,给图像降级,然后用图像训练神经网络,研究发现,如果将新图像交给系统处理,这些图像被人扭曲过(相同的扭曲),在识别扭曲图像时,系统的表现比人好。不过如果图像扭曲的方式稍有不同,神经网络就无能为力了,即使在人眼看来图像的扭曲方式并无不同,算法也会犯错。