【51CTO.com快译】今天人工智能的繁荣离不开一种名为深度学习的技术,该技术基于人工神经网络。本文通过图形解释了如何构建和训练这些神经网络。
图1. 架构图
人工神经网络中的每个神经元对输入求和,并运用激活函数以确定输出。这种架构的灵感来自大脑中的机理,其中神经元通过突触彼此之间传输信号。
图2
这是一个假设的前馈深度神经网络的结构(之所以是“深度”,是由于它有多个隐藏层)。该例子展示的一个网络解释了手写数字的图像,并将它们分类为10个可能数字中的一个。
输入层含有许多神经元,每个神经元都有一个激活(activation),被设置为图像中一个像素的灰度值。这些输入神经元连接到下一层的神经元,在它们乘以某个值(称为权重)后传递其激活级别。第二层中的每个神经元对许多输入求和,并运用激活函数以确定输出,该输出以相同的方式前馈。
训练
这种神经网络通过计算实际输出和预期输出之间的差异来加以训练。这里的数学优化问题中的维度与网络中的可调参数一样多——主要是神经元之间连接的权重,可以是正[蓝线] 或负[红线]。
训练网络本质上是找到这种多维“损失”或“成本”函数的最小值。它在多轮训练中迭代完成,逐渐改变网络的状态。实际上,这需要根据为一组随机输入示例计算的输出对网络的权重进行多次小的调整,每次都从控制输出层的权重开始,然后通过网络向后移动。(为简单起见,这里只显示了与每一层中单个神经元相关的连接。)这个反向传播过程针对许多随机的训练样本集重复进行,直到损失函数最小化,然后网络提供它为任何新输入所能提供的最佳结果。
图3
图4
第1步:在输入端显示手写的“3”时,未经训练的网络的输出神经元会有随机激活。希望与3相关的输出神经元有高激活[深色阴影],而其他输出神经元有低激活[浅色阴影]。因此,比如说,必须加大与3相关的神经元的激活[紫色箭头]。
图5
第2步:为此,从第二个隐藏层中的神经元到数字“3”的输出神经元的连接权重应该会变得更正[黑色箭头],变化的大小与所连接的隐藏神经元的激活成正比。
图6
第 3 步:然后对第二个隐藏层中的神经元执行类似的过程。比如说,为了使网络更准确,该层中的顶部神经元可能需要降低激活[绿色箭头]。通过调整其与第一个隐藏层[黑色箭头]的连接权重,可以将网络往该方向推进。
图7
第4步:然后对第一个隐藏层重复该过程。比如说,该层中的第一个神经元可能需要加大激活 [橙色箭头]。
原文How Deep Learning Works Inside the neural networks that power today's AI,作者:SAMUEL K. MOORE DAVID SCHNEIDER ELIZA STRICKLAND
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】