如果你离不开电脑、手机和网络,那么你也无时无刻在与神经网络交互。人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。它帮助我们这些懒惰的人类从事翻译、建模、甚至金融相关的工作。
神经网络其中有一项专长是图像识别,也就是说电脑会认出图片上东西。许多有名的互联网公司都有着自己独特的一套算法来对用户发布的图片分类、或者是贴上标签。在大多数情况下,神经网络很快能识别出相片上的事物,但如果用一些不太寻常的照片试探它,“人工智障”的本质则会暴露无遗。
事情是这样的,我最近闲来无事,找到了一个微软做的图片识别网站,叫做Microsoft Azure(点击阅读原文直达),你可以上传一张图片到该网站上,运用神经网络的技术,网站会为图片打上标签,标注“它”看到了些什么。例如我上传了家里喵咪的床照,神经网络就标注的是:“猫”、“粉色”、“室内”、“帽子”、“灰色”、“睡觉”等。大体上还是比较靠谱的,等等。。怎么还有“男人”?!它怎么知道喵咪是公的?!
图片的识别
神经网络最重要的用途是分类,神经网络就是不断地对图片不断的识别分类来确定图片上的东西。
举个栗子,2012年多伦多大学的Krizhevsky等人构造了一个超大型卷积神经网络,有9层,共65万个神经元,6千万个参数。网络的输入是图片,输出是1000个类,比如小虫、美洲豹、救生船等等。这个模型的训练需要海量图片,它的分类准确率也完爆先前所有分类器。。纽约大学的Zeiler和Fergusi把这个网络中某些神经元挑出来,把在其上响应特别大的那些输入图像放在一起,看它们有什么共同点。他们发现中间层的神经元响应了某些十分抽象的特征。
第一层神经元主要负责识别颜色和简单纹理。
第二层的一些神经元可以识别更加细化的纹理,比如布纹、刻度、叶纹。
第三层的一些神经元负责感受黑夜里的黄色烛光、鸡蛋黄、高光。
第四层的一些神经元负责识别萌狗的脸、七星瓢虫和一堆圆形物体的存在。
第五层的一些神经元可以识别出花、圆形屋顶、键盘、鸟、黑眼圈动物。
蠢萌的神经网络
但是我使用的Microsoft Azure似乎并没有卷积神经网络这么高级,连一只羊都识别不出来。
对于一些简单的照片,Microsoft Azure的识别还是比较准确的,于是乎我找来了一组稍微有点难度的照片来考验它。我让Microsoft Azure标定了下面的照片,贴上的标签有:草地、田野、羊、彩虹、男人、伫立。可是,照片上哪里来的羊?!我是瞎了吗?我把照片一次次的放大缩小,仔细观察每一个角落,还是没有。
实际上,神经网络每次看到绿油油的草地,连绵的山丘就幻想出了羊群。所以这到底是怎么一回事?
神经网络通过看成千上万的示例图片来学习。具体在识别羊群这件事上,神经网络一开始就像一个婴儿,对它看见的画面一无所知,它需要自己制定一系列的规则,来确定哪些图片应该被贴上“羊”的标签。上面两张图的例子似乎说明了Microsoft Azure并没有意识到“羊”是一种动物,它认为羊表示没有树木生长的草地。类似的第二张图上标注了彩虹,仅仅是因为画面上很潮湿,还下着雨,电脑不知道彩色的条纹才是它的精髓。
你以为神经网络会在图片上每一个角落仔细寻找“羊”吗?不,恰好相反,“你永远叫不醒一个在装睡的人”,神经网络就是装睡的人,它们只会在它们想看见羊的地方识别出羊。它们很轻易地在山脚下、田野间找到羊群,可是当羊群出现在一些神奇的地方,“人工智障”就开始纯靠运气,一顿瞎猜了。
举个栗子,我们把咩咩抱进家门,在Microsoft Azure眼里,咩咩们就成了喵星人。把咩咩搂在怀里,Microsoft Azure又错标成了汪星人。
把咩咩们p成橘黄色,咩咩又成了田野间的花朵。
给咩咩拴上绳子,它们成了狗子。再把咩咩放进车里,Microsoft Azure 再次把它错标成了猫子或者狗子。如果咩咩们在水里、它们甚至变成了小鸟或者是北极熊?!看来是实锤了!Microsoft Azure 是真的“瞎”!
蠢萌蠢萌的神经网络逗乐了我,我又把咩咩们ps到了树上,结果咩咩们有成了小鸟,或者是长颈鹿。
神经网络匹配的是新图片与以往的图片。假如Microsoft Azure看到的了一块块毛发的纹理、一大片绿色,它们就会认定图片里的是羊。同样是看到毛发,如果出现在厨房的场景,则会认定为猫咪。
如果生命就是这样遵循这样单调的规则,那么神经网络的图片识别功能必然运行良好。但人类、甚至是羊也会做出意料之外的事情,如此以来人工智能也就不那么靠谱了。
参考资料
http://nautil.us/
https://baike.baidu.com/item/%E4%BA%BA%E5%B7%A5%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/382460
https://www.zhihu.com/question/22553761
https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/