当今人工智能的蓬勃发展是围绕着一种叫做深度学习的技术而展开的,这种技术是由人工神经网络驱动的。 这里有一个关于这些神经网络是如何构建和训练的图解说明。

建造结构
深度学习是如何工作的

人工神经网络中的每个神经元对其输入求和,并应用一个激活函数来确定其输出。 这种架构的灵感来自于大脑,在大脑中,神经元通过突触在彼此之间传递信号。

深度学习是如何工作的

这是一个假想的前馈深度神经网络的结构(“深”是因为它包含多个隐藏层)。 这个例子展示了一个网络,它解释手写数字的图像,并将它们分类为10个可能的数字之一。

输入层包含许多神经元,每个神经元的激活被设置为图像中的一个像素的灰度值。 这些输入神经元与下一层中的神经元连接,在将它们乘以称为权重的特定值之后,传递它们的激活水平。 第二层中的每个神经元将它的许多输入相加,并应用激活函数来确定它的输出,该输出以相同的方式被前馈。

训练
这种神经网络通过计算实际输出和期望输出之间的差异来训练。 这里的数学优化问题具有与网络中存在的可调整参数一样多的维度——主要是神经元之间的连接的权重,其可以是正的[蓝线]或负的[红线]。

训练网络本质上就是找到这个多维“损失”或“成本”函数的最小值。 它在许多训练运行中迭代完成,增量地改变网络的状态。 在实践中,这需要基于为随机的一组输入实例计算的输出对网络的权重进行许多小的调整,每次从控制输出层的权重开始并通过网络向后移动。 (为了简单起见,这里仅示出了到每层中的单个神经元的连接。) 在训练示例的许多随机集合上重复该反向传播过程,直到损失函数被最小化,并且网络然后提供其对于任何新输入所能提供的最佳结果。

深度学习是如何工作的

步骤1
深度学习是如何工作的

当在输入处呈现手写的“3”时,未经训练的网络的输出神经元将具有随机激活。 期望与3相关的输出神经元具有高激活[暗阴影],并且期望其它输出神经元具有低激活[亮阴影]。 因此,例如,与3相关的神经元的激活必须增加[紫色箭头]。

步骤2
深度学习是如何工作的

为了做到这一点,对于数字“3”,从第二隐藏层中的神经元到输出神经元的连接的权值应该更正(黑色箭头),变化的大小与所连接的隐藏层神经元的激活成正比。

步骤3 
深度学习是如何工作的

然后对第二隐藏层中的神经元执行类似的处理。 例如,为了使网络更精确,该层中的顶部神经元可能需要降低其激活[绿色箭头]。 可以通过调整其与第一隐藏层的连接的权重[黑色箭头]来在该方向上推动网络。

步骤4
深度学习是如何工作的

然后,对于第一隐藏层重复该过程。 例如,在该层中的第一神经元可能需要使其激活增加[橙色箭头]。

本文译自 IEEE Spectrum,由 BALI 编辑发布。

[ 广告 ]
赞一个 (6)

PREV :
NEXT :