原作者:Ophir Tanz,Cambron Carter
译者:独孤芳
如果你钻研了人工智能的任何一篇文章,你肯定会遇到“神经网络”这个术语。人工神经网络,大致模仿人类大脑,使得电脑得以从输入的数据中进行学习。
这个强大的机器学习分支,因其功效,脱颖而出,肩负起了引领人类进入人工智能新时代、结束长期人工智能冬天的重任。简单点说,神经网络很可能是当今现存最主要的颠覆性技术之一。
这篇神经网络指南,旨在让你对深入学习能达到对话水平的理解。为此,我们将避免深入探究数学,而是尽可能多地依靠类比和动画进行阐释。
靠蛮力思考
人工智能最早的一个学校,教导学生,如果你给一台大功率的电脑加载尽可能多地信息,并且给他尽可能多地指令来理解这些数据,它应该就能“思考”了。这就是IBM公司著名的象棋电脑“DeepBlue”的创造理念:IBM的程序员,通过为电脑详尽地编程每一步可能的象棋走法和已知的策略,并给它提供充足的电源,就能制造出一台这样的电脑:理论上,它可以计算可能的每一步及其将来的结果,然后斟酌后继步法的顺序,完胜对手。1997年象棋大师们领教到,这个想法其实奏效了。
人造神经网络(ANN)是一种算法结构,能让机器从语音命令和播放列表管理到音乐乐曲和图像识别学习。典型的人工神经网络由数千相互连接的人造神经元构成。这些神经元按顺序成行堆叠,这些被称为“层”,形成了数百万个的连接。在很多情况下,层只是通过输入输出和它前后的层相互连接。(这和人脑中向各个方向相互连接的神经元完全不同。)
这个层叠的人工神经网络是当今实施机器学习的主要方式之一,而且,给它提供大量的归类数据使得它学会如何像人类一样去解释那些数据,有些时候甚至比人类解释得更好。
就像父母在真实生活中教他们孩子识别苹果和橘子一样,熟能生巧,对于电脑也是如此。
以图像识别为例,它依赖于一种被称为卷积神经网络(CNN)的特定类型的神经网络。之所以如此命名,是因为它使用了名为卷积的数学过程,能够以非文字方式分析图像,例如识别部分模糊的对象或仅从某些角度可见的对象。(还有其他类型的神经网络,包括递归神经网络和前馈神经网络,但是这些神经网络对于识别诸如图像的东西不太有用,下面我们将使用示例。)
神经网络训练全过程
那神经网络如何学习呢?让我们看看一个非常简单但有效的过程,它叫监督学习。在这里,我们为神经网络提供了大量的人类过标记的训练数据,以便神经网络在它学习之时,可以基本上对事实进行自我检查。
假设这个标签数据分别由苹果和橘子的图片组成。照片是数据;“苹果”和“橙色”是标签,是由图片内容决定的。当图像输入神经网络时,网络将它们分解为最基本的组成部分,即边缘,纹理和形状。当图像通过神经网络传送时,这些基本组成部分,被组合起来,以形成更抽象的概念,即曲线和不同的颜色,当进一步组合时,开始看起来像茎、整个橙色或绿色和红色苹果。
在这个过程的最后,这个神经网络试图对图片中的内容进行预测。首先,这些预测将显示为随机猜测,因为没有真正的学习已经发生。如果输入图像是苹果,但预测为“橙色”,则需要调整网络的内层。
通过称为反向传递的过程,对神经网络进行调整,以增加下一次为同一图像预测“苹果”的可能性。这种情况一直发生,直到预测大约是准确的,似乎不用继续改善了。正如父母教孩子们在现实生活中识别苹果和橘子一样,对于电脑来说,练习是完美的。如果在你的脑海里,你只是想“嗨,这听起来像是学习”,那么你可能有从事人工智能这个行业。
有这么多层…
通常,卷积神经网络除了输入和输出层之外还有四个基本的神经元层:
卷积(Convolution)
激活(Activation)
池化(Pooling)
全连接(Fullyconnected)
卷积
最外部的一层或者多层卷积层中,成千上万的神经元充当第一组过滤器,仔细搜索图像中的每个部分每个像素,以找出其中的图案。随着越来越多的图像要处理,每个神经元逐渐学会了过滤特定特征,这个过程也提高了准确性。
在识别苹果的案例中,一个过滤器可能关注发现红色的颜色时,另一个过滤器可能正在寻找圆形的边缘,还有一个过滤器可能正在识别细长的棒状蒂。如果你曾经为了准备车库旧物出售或者搬家,清理过混乱的地下室或与一个专业的组织者一起工作过,那么你会明白,找遍所有东西然后把它们归类到不同主题的一堆堆(书、玩具、电器、小装饰物、衣服)中去,是什么样的过程了。这有几分像卷积层将图像分解成不同的特点来处理它的过程。
神经网络的一个优点是它们能够以非线性方式学习。
神经网络特别强大的地方,也是神经网络出名的主要资本,就是它与早期的人工智能方法(Deep Blue及其同类)不同,这些过滤器不是人类动手设计的,他们纯粹通过查看数据来学习和完善自己。
卷积层,本质上是创建了地图——即创建了图片的不同的版本和细分的版本,每个专用于不同的过滤特征 - 指示其神经元在哪里看到红色,蒂,曲线和各种其他元素的实例(但是部分的)在这种情况下,就是看到了一个苹果。但是因为卷积层在识别特征方面相当宽松,所以需要额外的一组眼睛,以确保在图片通过神经网络移动时,没有任何有价值的信息被遗漏。
激活
神经网络的一个优点是它们能够以非线性方式学习。不用数学术语解释的话,意思就是,他们能够发现不太明显的图像中的特征——树上苹果的图片,其中一些苹果在直接的阳光下而其他的苹果在阴凉处,或堆放在厨房柜台的碗里。这一切都是多亏了激活层,它或多或少地突出了有价值的东西,即那些既有容易辨别的也更难发现的变体。
以我们的车库杂物出售的收纳者或杂物收纳顾问的视角中,想像一下,从那些分隔开的一堆堆东西中,我们精挑细选了几本珍贵的书、几件我们大学时代的经典T恤(讽刺的是,我们可能想要保留下来)。我们坚持把这些“可能”的物品放在他们各自类别的那堆物品的最上面边,以备再考虑。
池化
整个图像中的所有这种“卷积”都会产生大量的信息,这可能会很快成为一个计算噩梦。进入池层,将其全部缩小成更一般的可消化形式。有很多方法可以解决这个问题,但最受欢迎的是“max pooling”,它将每个特征图编辑成自己的“读者文摘”版本,因此,只有红色,蒂或弯曲度的最好例子是才能被作为苹果的特征。
在车库春季大扫除的案例中,如果我们使用日本著名杂物收纳顾问玛丽康多的原则,我们收藏癖患者们,将不得不从每个类别堆中较小的收藏夹里,只选择出“怦然心动”的东西,然后出售或抛弃其他一切东西。所以现在我们仍然按照物品类型,对我们所有的物品堆,进行分类,但其实只分类了我们实际想要保留的物品;其他所有东西都卖了(我们为了用来帮助描述在神经网络里发生的过滤和缩小,所列举的这个去混乱类比,也就由它顺便结束了)。
在这一点上,神经网络设计师可以堆叠这种类型的后续分层配置——卷积,激活,池化——并且继续过滤图像以获得更高级别的信息。在识别图片中的苹果的案例中,图像被一遍又一遍地过滤。初始层仅显示边缘的几乎不可辨别的部分,红色的光点或仅仅是茎的尖端。而更多随后的过滤层将显示整个苹果。无论哪种方式,当开始获取结果的时候,全连接的层就会起作用。
全连接
现在是时候开始得到答案了。在完全连接的层中,每个缩小的或“池化的”特征图“全连接”到输出节点(神经元)上。这些输出节点代表着神经网络正在学习识别的项目。如果网络的任务是学习如何发现猫,狗,豚鼠和沙鼠,那么它将有四个输出节点。在我们描述的神经网络的案例中,它将只有两个输出节点:一个代表“苹果”,一个代表“橙子”。
如果通过神经网络传送的图像是苹果,神经网络已经进行了一些训练,并且随着其预测而变得越来越好,那么很可能,一个很好的功能图块就会包含苹果特征质量的实例。这就是这些最终输出节点开始实现他们使命的位置,反之亦然。
为了帮助每个神经元更好地识别每个级别的数据,对神经网络进行了大大小小的调整。
苹果和橙色节点的工作(他们在工作中学到的)本质上是为包含其各自水果的特征图“投赞成票”。因此,“苹果”节点认为特定地图包含“苹果”功能越多,它给该特征图的投票就越多。两个节点都必须对每个功能图进行投票,无论它包含什么。所以在这种情况下,“橙色”节点不会向任何功能图发送许多投票,因为它们并不真正包含任何“橙色”特征。最终,发送最多票数的节点(在本例中为“苹果”节点)可以被认为是网络的“答案”,尽管它不是那么简单。
因为同一个网络正在寻找两个不同的东西 - 苹果和橙子 - 网络的最终输出以百分比表示。在这种情况下,我们假设网络在培训中已经有所下降了,所以这里的预测可能就是75%的“苹果”,25%的“橙色”。如果在培训的早期,预测可能会更加不正确,并确定它是20%的“苹果”和80%的“橙色”。糟糕。
如果你一开始没有成功,请尝试尝试再尝试
所以,在早期阶段,神经网络以百分比的形式吐出了一堆错误的答案。 20%的“苹果”和80%的“橙色”预测显然是错误的,但由于这是使用标记的培训数据进行的监督学习,所以,网络,能够通过一个名为“反向传播”的检查及平衡系统,弄清楚在何处以及如何发生的错误。
现在,这是一个无关数学的解释。只用一句话解释,反向传播向上一层的节点反馈现在离答案有多远。然后,该层将反馈发送到上一层,并且像电话游戏一样,一直如此直到它回到卷积。为了帮助每个神经元在后续图像通过神经网络时,更好地识别每个级别的数据,神经网络会做些大大小小的调整。
这个过程一直反复进行,直到神经网络以更准确的方式识别图像中的苹果和橙子,最终出现100%的正确预测结果,尽管许多工程师认为85%也是可以接受的。出现这种情况时,就意味着,神经网络已经准备好了黄金时段,并且可以开始专业地识别图片中的苹果了。
*这与AlphaGo并不相同,它使用的是自学习神经网络,来评估棋盘落子的位置,并且最终击败了与之对战的人类,而Deep Blue则使用人类强行编码实现的功能。
原作者:Ophir Tanz,Cambron Carter
译者:独孤芳
原文链接:
https://techcrunch.com/2017/04/13/neural-networks-made-easy/?ncid=rss&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed: Techcrunch (TechCrunch)&nsukey=E4QrF3ZAsSMElEtuLNHSj8c6pwhV79s7+y8gt5ANZtXGLKqfV4ybmgnbFivko5jQK9aOP+Vl6FCieHtglp3CY7islO/UvtJfw/K3bY0w8+6E0PCDN1QYCZG1jDtCuTtYiLcvsMgVgW7OyLEBz7hiLHk6VcjEiRNd4UpPulW23AlFKHoBO4FST5kOjSDD/6Vq
,