上面这张图,画的是鸭子还是兔子?

自从1892年首次出现在一本德国杂志上之后,这张图就一直持续引发争议。有些人只能看到一只兔子,有些人只能看到一只鸭子,有些人两个都能看出来。

心理学家用这张图证明了一件事,视觉感知不仅仅是人们看到了什么,也是一种心理活动。但是,这张图到底应该是什么?

上周四,有位学者决定让没有心理活动的第三方看一下。然后就把这张图片给了谷歌AI,结果AI认为78%的概率是一只鸟,68%的概率是一只鸭子。

所以,百年争论可以歇了?鸭子派胜出?

不不不,新的争论刚刚开始。

这下难倒了谷歌AI

上面那个结论刚出,就有人跳出来“抬杠”。

只要把这张图竖起来给AI看,它认为是一只兔子,压根就没有鸭子的事儿。

咦?谷歌AI反水了?

为了搞清楚这件事,供职于BuzzFeed的数据科学家Max Woolf设计了一个更复杂的实验,他干脆让这张图旋转起来,倒是要看看,谷歌AI什么表现。

就是这么一转,成了推特上的热门。

咱们以鸭子嘴(兔子耳朵)为参考,说下这个实验的结果。过程如下所示。红色代表兔子,蓝色代表鸭子。

图片顺时针旋转。谷歌AI最初认为是鸭子,鸭子嘴指向9点方向。随着鸭子嘴向上转到10点方向,很快谷歌AI就认为画里面是兔子了,直到鸭子嘴转到2点方向之后。此后一段时间,谷歌AI认为既不是鸭子也不是兔子。一直到7点方向,谷歌AI再次肯定是一只鸭子。

有人说此刻谷歌AI的内心,可能就像迪士尼动画兔八哥里的这个场景。

还有人给了更多类似的挑战图片,想考验一下谷歌AI的水平。

比如这种:

以及这种:

等等等等……据说能看出来鸭子,又能看出来兔子,说明一个人的想象力更好。

大家如果有兴趣,可以自己去尝试。

这里用到的谷歌AI,实际上是谷歌的Cloud Vision。这个服务提供了预训练的机器学习模型,可以用来理解图片内容。地址在此:https://cloud.google.com/vision/

页面上提供了Try the API,直接传图就行~

鸭兔幻觉

“鸭兔同图”问题让不少网友犯了难,这是一个比“鸡兔同笼”更玄幻更有意思的问题。还有一大波人类,正常尝试判断AI的心理状态……

网友sangnoir认为,纠结图中到底是什么完全没有意义,图像本身中既包含了兔子又包含了鸭子,人类尚且觉得两者都在,何必非得让AI去做“二选一”的定性呢?

下面这个数字大家都认识,但是旋转起来,到底是几呢?
△ 若旋转起来,图片是“6”还是“9”?
△ 若旋转起来,图片是“6”还是“9”?

谈到旋转,更进一步,之前有个“旋转舞者”的问题更困难,下面这个小人到底是顺时针还是逆时针旋转,人类的看法也兵分两路↓↓↓

实际上,当你视线以从左往右的方向扫过这张图时,你看到的是逆时针转圈,反之,当你先看到的是右边时,你眼中的她是顺时针的。在计算机视觉上,还有一个专门的名词解释这个现象,即多稳态/双稳态感知。

也有网友表示,这件事恰恰反映了AI识别物体的能力已经高于人类了。

他认为,之所以Google Cloud Vision会连续给出不同答案,是因为AI系统每隔一段时间就会基于旋转的图像重新判断并实时更新。

而人类的大脑往往就卡在第一印象了,所以才会咬定一个物种不放松。

也有人表示,这件事也启发了视觉从业者反思AI识别物体时的方向问题。

比如网友Sharlin就认为,人类在判断物体时对于空间的认识具有先验性,用这样的标注数据训练出的模型,在不知不觉中也将空间和方向等因素考虑在内了。

但是,现在大多数视觉算法都想努力实现某种程度的旋转不变性,还提出了“尺度不变特征转化(SIFT)”等概念。“不变性”可能也反映了人类的局限性,输入方向也是一个重要考虑因素。

胶囊网络或许可行

同一张图片,由于位置不同,AI就产生了不同的判断。也有很多人想到了更多。

传统的卷积神经网络CNN架构中有个弊端,就是缺乏可用的空间信息。

一般来说,CNN提取、学习图像特征来识别物体。拿面部识别任务来说,底层网络学习一般性特征(比如面部轮廓等),随着层数的加深,提取的特征就越复杂,特征也精细到眼睛、鼻子等器官。

问题来了,神经网络用它学习到的所有特征作出最后的输出,但唯独没有考虑到可用的空间信息。人类可以识别出下面这张有些错位的人脸,但CNN就不能。

其实,让神经网络自己学会判断空间的研究已经有了。2017年,“深度学习”三巨头之一的AI大牛Geoffrey Hitton就提出了一种“胶囊网络”(Capsule Networks)的概念。

胶囊网络的解决办法是,实现对空间信息进行编码,也就是计算物体的存在概率。这可以用向量来表示,向量的模代表特征存在的概率,向量方向表示特征姿态信息。

在论文Dynamic Routing Between Capsules中,Hinton和谷歌大脑的同事Sara Sabour、Nicholas Frosst详细解释了“胶囊网络”的详细情况。

Hinton等人表示,人类视觉系统中,有一个“注视点”的概念,能让人类在视野范围内只对极小部分的图像进行高分辨率处理。

这篇论文假设一个注视点带给我们的信息不仅仅是一个识别对象及其属性,还假设我们的多层视觉系统在每个注视点上都创建了一个类似分析树的东西,并忽略这些分析树在多个注视点之间如何协调。

分析树通常靠动态分配内存来构建,但是这篇论文假设对于单个注视点来说,分析树是从固定多层神经网络中“雕刻”出来的,就像用石头刻出雕像一样。

神经网络的每一层会被分成很多组神经元,每一组称为一个capsule,而分析树的每个节点对应着一个活跃的“胶囊”。

胶囊是输出是一个向量,这篇论文中,在保持它方向不变的情况下应用非线性缩小了它的量级,确保这个非线性输出不大于1。

也正因为胶囊的输出是一个向量,确保了能使用强大的动态路由机制,来确保这个输出能够发送到上层合适的parent处。

胶囊网络现在的研究阶段,就像本世纪初将RNN应用于语音识别的阶段。有非常具有代表性的理由相信这是一个更好的方法,但很多细节还需要接续观察。

百年老图难倒谷歌AI,兔还是鸭?这是个问题的更多相关文章

  1. 谷歌AI涉足艺术、太空、外科手术,再强调AI七原则

    谷歌AI涉足艺术.太空.外科手术,再强调AI七原则 https://mp.weixin.qq.com/s/MJG_SvKCEBKRvL3IWpL0bA 9月18日上午,Google在上海的2018世界 ...

  2. 谷歌AI中国中心成立,人工智能势不可挡?

    昨日,谷歌在上海举办了一年一度的Google中国开发者大会.在本届大会上,谷歌云首席科学家李飞飞宣布了一个重磅消息,即在北京将成立谷歌AI中国中心.对于这个即将成立的AI中心谷歌寄予厚望,希望与中国本 ...

  3. 谷歌 AI 中国中心成立,人工智能势不可挡?

    昨日,谷歌在上海举办了一年一度的Google中国开发者大会.在本届大会上,谷歌云首席科学家李飞飞宣布了一个重磅消息,即在北京将成立谷歌AI中国中心.对于这个即将成立的AI中心谷歌寄予厚望,希望与中国本 ...

  4. 谷歌 AI 负责人谈2020 年机器学习趋势:多任务和多模态会有大突破

    ​在上周加拿大温哥华举行的NeurIPS会议上,机器学习成为了中心议题. 来自世界范围内约1.3万名研究人员集中探讨了神经科学.如何解释神经网络输出以及人工智能如何帮助解决现实世界中的重大问题等焦点话 ...

  5. 四张图揭秘中国AI人才现状

    本文数据来源:领英<全球AI领域人才报告> 最近有非常多的同学看了之前我们的一些文章和直播之后,多对AI领域跃跃欲试,本文我们结合一份人才报告(我个人感觉这份报告还是比较靠谱的),为大家揭 ...

  6. 一张图看懂AI、机器学习和深度学习的区别

    AI(人工智能)是未来,是科幻小说,是我们日常生活的一部分.所有论断都是正确的,只是要看你所谈到的AI到底是什么. 例如,当谷歌DeepMind开发的AlphaGo程序打败韩国职业围棋高手Lee Se ...

  7. LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛

    前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...

  8. 李飞飞确认将离职!谷歌云AI总帅换人,卡耐基·梅隆老教授接棒

    https://mp.weixin.qq.com/s/i1uwZALu1BcOq0jAMvPdBw 看点:李飞飞正式回归斯坦福,新任谷歌云AI总帅还是个教授,不过这次是全职. 智东西9月11日凌晨消息 ...

  9. 深度 | AI芯片终极之战

    深度 | AI芯片终极之战 https://mp.weixin.qq.com/s?__biz=MzA4MTQ4NjQzMw==&mid=2652712307&idx=1&sn= ...

随机推荐

  1. HDU-1698-Just a Hook-线段树区间修改

    In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. T ...

  2. SpringMVC自动封装List对象 —— 自定义参数解析器

    前台传递的参数为集合对象时,后台Controller希望用一个List集合接收数据. 原生SpringMVC是不支持,Controller参数定义为List类型时,接收参数会报如下错误: org.sp ...

  3. C#调用迅雷下载,调用迅雷影音播放

    方法很多种,这里介绍一种,通过命令行参数调用. try { ]; Process.Start(thunderPath, "http://www.baidu.com/abc.exe" ...

  4. Bing.com在.NET Core 2.1上运行!

    Bing.com在.NET Core 2.1上运行! 相关知识请参考.netCore开发团队博客(https://blogs.msdn.microsoft.com/dotnet/) Bing.com是 ...

  5. Java面试之高并发系统

    在开发高并发系统时有三把利器用来保护系统:缓存.降级和限流.

  6. js实现活动倒计时

    let startTime = 1527647143949; // 开始时间 var time = new Countdown('timer',startTime); function Countdo ...

  7. DOM操作 JS事件 节点增删改查

    --------------------------习惯是社会的巨大的飞轮和最可贵的维护者.——威·詹姆斯 day 49 [value属性操作] <!DOCTYPE html><ht ...

  8. 二十四、小程序中改变checkbox和radio的样式

    来源:https://blog.csdn.net/qq_39364032/article/details/79742415 在微信小程序里面,有时候为了配合整个项目的风格,checkbox和radio ...

  9. Linq中比较字符串类型的日期

    一.在使用Linq时,想要比较字符串类型的日期时,参考以下: SQL语句: )select * from TableName where StartTime > '2015-04-08' )se ...

  10. ElasticSearch(简称ES)

    Windows下安装ElasticSearch   ElasticSearch(简称ES)是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index) ...