AI现在还仅仅是“物理学出现之前的工程学”(2)

发表于:2017-10-16来源:科技评论网站作者:Kathy点击数: 标签:人工智能
神经网络的原理 神经网络通常被描述成一个多层三明治,层层叠叠。这些层里包含着人造神经元,指的是微小的计算单位,它可以受到激发 (就像真正的


神经网络的原理

神经网络通常被描述成一个多层三明治,层层叠叠。这些层里包含着人造神经元,指的是微小的计算单位,它可以受到激发 (就像真正的神经元会被激发那样),然后将兴奋度传递给它所连接的其他神经元。神经元的兴奋度由数字来代表,比如0.13或32.39。另外,在每两个神经元之间的连接上,还有一个关键数字,决定了多少兴奋度可以从一个神经元传递到另一个。这个数字是在模拟大脑神经元之间突触的给力程度。当这个数字比较高时,就意味着两个神经元之间的连接更强,可以把更多的兴奋度传递给对方。

深层神经网络最成功的应用之一就是在图像识别中,该团队开发了一个程序,可以判断图片中是否有热狗。在十年前,这样的程序是不可能实现的。开发这种程序的第一步是找到一张照片。为了简单起见,你可以使用一张黑白图像,100像素宽,100像素高。你把这张图像输入到神经网络——也就是给输入层中每个模拟神经元设置兴奋度,使之和每个像素的亮度吻合。这个多层三明治的底层就是10000个神经元(100x100),代表图像中每个像素的亮度。

然后,你将这一层神经元连接到上面的另一层神经元层(有几千个神经元),再继续连一层神经元层(也有几千个神经元),如此这般。最后,在这个三明治的最上层是输出层,它只有两个神经元 , 一个代表“有热狗”,另一个代表“没有热狗”。其理念就是让神经网络学会只有当图片里有热狗的时候,才会激发“有热狗”的神经元,只有在图片里没有热狗的时候,才会激发“没有热狗”的神经元。反向传播就是做到这一点的方法。

如何使用反向传播技术

反向传播本身非常简单,尽管它在有大量数据可用的情况下效果最好。这就是为什么大数据在AI中如此重要的原因——以及为什么Facebook和谷歌如此渴望数据的原因。

在训练神经网络的时候,你需要使用数以百万计的图片,一些有热狗,一些没有。而诀窍就是那些有热狗的图片被标记为有热狗。在一个初始神经网络中,神经元之间的连接权重(表示每个连接传递的兴奋度的多少)可能是随机数,就好像是大脑的突触还没有调整好。 反向传播的目标是改变这些权重,让神经网络可以获得很好的效果:当你将热狗的图片输入到最低层时,最顶层的“有热狗”神经元最终会变得兴奋起来。

假设你选取的第一幅训练图片里是一架钢琴。你将这个100x100图像中的像素强度转换为10000个数字,正好分给网络底层中的10000个神经元。然后兴奋度根据相邻神经元层之间的连接权重在这个网络上过滤,到达最后一层判断图片中是否有热狗的两个神经元。由于图片是钢琴,在理想情况下,“有热狗”神经元应该得出一个0,而“没有热狗”神经元应该得出很高的数字。但是我们假设这个神经网络效果不好,对这张照片得出了错误结论。这时你就使用反向传播技术,来重新调整网络中每个连接的权重,以便修正错误。

它的工作原理是从最后两个神经元开始,弄清楚它们错得多厉害:兴奋度的数字应该是多少,实际上是多少,差别有多大?当这样做的时候,你要检查到达这些神经元(以及下一层的那些神经元)的每个连接是什么,并弄清楚它们对错误的贡献有多大。你一直这样分析直到第一层,也就是网络的最底层。这时候,你就知道每个单独的连接对整个错误的贡献是多少了,最后,你可以按照在最大程度上减少整体错误的大方向来修改每个权重。这个技术被称为“反向传播”,因为你是从输出开始,反方向对错误进行分析的。

神经网络的神奇和愚蠢

奇妙的是,当你有成百上千万,甚至数以十亿计的图像,再按照这个方式操作的时候,神经网络就会变得非常擅长于识别图像中是否有热狗。更奇妙的是,图像识别网络中的各个层开始能够用和人类视觉系统相同的方式来“查看”图像。也就是说,第一层可能会检测边缘——当有边缘时,它的神经元就被激发,当没有边缘时,则不会激发;上面一层可能会检测到一组边缘,比如检测出一个角;然后再上面的层就可能开始看到形状;再上面的层可能会开始识别出“开了口的面包”或“没开口的面包”这样的东西。换句话说,程序员不需要主动地这么编程,这个神经网络就会自己形成一个等级化的层次。

原文转自:http://tech.qq.com/a/20171016/006296.htm

...