1.2 人工神经网络的构建模块
人工神经网络是一系列张量(权重)和数学运算的组合,它们以一种松散的排列方式复制人脑的功能。可以将人工神经网络看作一个数学函数,输入一个或多个张量,输出一个或多个张量。连接这些输入和输出的运算排列称为神经网络的架构——我们可以根据手头的任务对它们进行定制,也就是说,基于这个问题是否包含结构化(表格)数据或非结构化(图像、文本、音频)数据(即输入张量和输出张量的列表)。
人工神经网络由下列模块构成:
❍ 输入层:该层将自变量作为输入。
❍ 隐藏(中间)层:该层连接输入层和输出层,并对输入数据进行转换。此外,隐藏层包含节点(图1-6中的单元/圆圈),用于将其输入值修改为更高/更低维度的值。可以通过修改中间层节点的各种激活函数来实现更加复杂的表示功能。
❍ 输出层:该层包含了输入变量期望产生的值。
根据上述内容,神经网络的典型结构如图1-6所示。
图1-6
输出层中的节点数量(图1-6中的圆圈)取决于手头的任务以及试图预测的是连续变量还是分类变量。如果输出是一个连续变量,则输出层只有一个节点。如果输出具有m个可能的类别,那么输出层中将有m个节点。我们放大其中一个节点/神经元,看看发生了什么。神经元对其输入进行如图1-7所示的转换。
图1-7
在图1-7中,x1,x2,…,xn是输入变量,w0是偏置项(类似于线性回归或逻辑回归中的偏差)。
注意w1,w2,…,wn为每个输入变量的权重,w0为偏置项。输出值a的计算方法如下:
这里,函数f是激活函数,用于将非线性作用于乘积和上。关于激活函数的更多细节将在1.3节中讨论。此外,更高的非线性可以通过拥有多个隐藏层来堆叠大量神经元的方式实现。
在较高的层次上,神经网络是节点的集合,其中每个节点都有一个可调的浮点值,并且节点以图的形式相互连接,以返回由网络架构指定的格式的输出。该网络由三个主要部分组成:输入层、隐藏层和输出层。注意,可以有更多数量(n)的隐藏层存在,术语深度学习指的是具有更多的隐藏层。在神经网络必须理解一些诸如图像识别等复杂事情的时候,通常需要更多的隐藏层。
在理解了神经网络架构的基础上,在下一节中,我们将学习前向传播,它有助于估算网络架构的误差(损失)量。