至少包含一个浅层人工神经网络和一个深层人工神经网络_人工神经网络(ANN)的公式推导...

1. ANN简介

人工神经网络(Artificial Neural Network,ANN)是计算机领域用于处理机器学习问题的强大工具,其广泛应用于回归与分类等问题中,它模拟了生物体神经细胞的运作原理,将一个个具有层次关系,连接关系的人工神经元组成网络结构,通过数学表达的方式模拟神经元之间的信号传递,从而可建立一个具有输入与输出关系、并可通过网络方式可视化的的非线性方程,我们称之为人工神经网络。一般而言,ANN可通过合理的网络结构配置拟合任意非线性函数,因此它也用于处理内部表达较为复杂的非线性系统或黑箱模型。

本文主要针对多维输入,多维输出,多层,并具有全连接结构的神经网络进行模型介绍以及网络权重更新的推导,其网络结构如图所示

0688cfe2d9cfdc6eda5f9fb7e4645db7.png

除输出层外,每一层都有个偏置节点,并用1表示。

2. ANN网络模型

假设神经网络的层数为

层(
),输入层到输出层各层节点个数(不包含偏置节点)分别为为
,...,
,由此定义了输入向量的维度为
,输出向量的维度为
。网络的每一层输出向量分别表述如下

接下来我们定义每一层的权重矩阵与偏置向量

并定义每一层的激活函数分别为

,...,
;一般根据不同的应用选择相应的激活函数,每一层所使用激活函数类型可以统一也可不统一;激活函数的类型请参考**
激活函数**。 接下来我们通过推导隐藏层一的输出向量的表达式,得出除输入层以外的所有层的通用表达式 对于隐藏层一:

这里

中每个元素表示对输入层向量以及偏置向量的加权和,也可称为第1层(隐藏层1)神经元的输入向量。

因此,对于第

层(
):

我们通过正向逐层计算,可得到网络中每一层的

,及每层的输入向量与输出向量,从而也就得到了每个神经元的输入值和输出值。

3. 基于误差反向传播(error back propagation)的网络更新方法

3.1 损失函数与随机梯度下降方法介绍

我们的目标是希望通过调整网络的权重

使得输出和目标有最小的误差,及最小二乘的思想,其损失函数(Loss function)定义为输出向量的均方误差

其中

,表示输出向量第
个元素与标签向量第
个元素之间的差值,
是为了让后面求导计算更加方便。

ANN的网络训练的意图是希望得到一组网络的权重

使得Loss fuction的值最小(这里
是所有权重与偏置的集合),因此最传统的方法就是让Loss fuction对
的导数为0,及

这里的0被加粗,表明损失函数对所有权重或偏置的导数值都为0。 然而对于复杂的网络,我们很难采用解析的方式求得上式的解或解集,因此采用计算机比较青睐的数值求解法,及采用机器学习领域中最重要的数值求解方法之一**随机梯度下降法**(Stochastic Gradient Descent,SGD),其表达式如下

其中

为ANN的学习率,及搜索权重值的步长,
为梯度(Gradient),"-"表示权重的更新方向是朝损失函数减小的方向。 然而,上式只是一种抽象的表达,我们并不能直接利用它来迭代求解ANN各层权重,因此数学家巧妙地研究出了误差的反向转播(error back propagation)方法,及从输出层开始逐层反向计算梯度并逐层更新权重,及

For

For

因此我们的主要目标便是计算每一层的梯度

。为了更好得理解,下面一节首先介绍求解梯度时所需用到得链式求导法则。

3.2 链式求导法则介绍

对于第

层,
,损失函数对该层某个权重
的偏导都可表示为三个偏导数的连乘,如下所示

这里我们另外定义了

表示(1)中前两个偏导数的乘积,及

(1)中的各偏导项的表达式为

下面将根据(1)-(6),从输出层开始,逐层反向推导

以及它们矩阵的表达式。

(1)对于第

层(输出层)

根据(2)(3)(4),我们可以求得

然后,

的表达式为

我们已经求出单个分量的求导结果,那么对于整个

其中

符号

表示尺寸相同的两矩阵逐元素相乘。

(2)当

时(倒数第二层)

此时式(3)中的

可表示为如下

的表达式为

的表达式为

根据上式,其矩阵表达式为

其中

(3)当

时(倒数第三层)

式(3)中的

可表示为如下

的表达式为

同理可得

的表达式为

同理,其矩阵表达式为

其中

此时可以发现式(26)与式(19)具有相同的结构,由此我们可以得到任意

下的
的表达式

3.3 权重更新

综上,我们可以得到ANN网络权重更新一次的整个过程

  • Step1: 前向计算

For

  • Step2: 反向逐层梯度计算

For

  • Step3: 网络参数逐层更新

For

参考资料

  1. 激活函数介绍
  2. 随机梯度下降方法
  3. BP神经网络原理简单介绍以及公式推导(矩阵形式和分量形式)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值