购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 神经网络的训练方法

神经网络的训练是通过调整隐层和输出层的参数,使得神经网络计算出来的结果 与真实结果 y 尽量接近。神经网络的训练主要包括正向传播和反向传播两个过程。正向传播的基本原理是,基于训练好的神经网络模型,输入数据通过权重和激活函数计算出隐层,隐层通过下一级的权重和激活函数得到下一个隐层,经过逐层迭代,将输入的特征向量从低级特征逐步提取为抽象特征,最终输出分类结果。反向传播的基本原理是,首先根据正向传播结果和真实值计算出损失函数 L W ),然后采用梯度下降法,通过链式法则计算出损失函数对每个权重和偏置的偏导,即权重或偏置对损失的影响,最后更新权重和偏置。本节将以图2.9中的神经网络为例,介绍神经网络训练的正向传播和反向传播过程。

2.3.1 正向传播

每个神经网络层的正向传播过程是,权重矩阵的转置乘以输入向量,再通过非线性激活函数得到输出。

图2.9中的神经网络的输入为3个神经元,记为 x =[ x 1 x 2 x 3 ];隐层包含3个神经元,记为 h =[ h 1 h 2 h 3 ];输出层包含2个输出神经元,记为 。输入和隐层之间的连接对应的偏置为 b (1) ,权重矩阵为

图2.9 神经网络

隐层和输出层之间的连接对应的偏置为 b (2) ,权重矩阵为

该神经网络采用sigmoid函数作为激活函数

输入到隐层的正向传播过程为,首先权重矩阵 W (1) 的转置乘以输入向量 x ,再加上偏置 b (1) ,得到

然后经过sigmoid激活函数,得到隐层的输出

隐层到输出层的正向传播过程与上述过程类似。

示例

假设该神经网络的输入数据为 x =[ x 1 x 2 x 3 ]=[0.02;0.04;0.01],偏置向量为 b (1) =[0.4;0.4;0.4], b (2) =[0.7;0.7],期望输出为 。在神经网络训练之前,首先对两个权重矩阵进行随机初始化:

其次计算隐层在激活函数之前的输出

对上面得到的三个数分别做sigmoid计算,得到隐层的输出

然后计算输出层在激活函数之前的输出

对上面的两个数分别做sigmoid运算,得到最终输出 zQ+ByxGEA37Di3CZsZ84BgcXwajhwrFxUWjwCc1mZz2AkL4rpd9vqvhc6/6witmY

点击中间区域
呼出菜单
上一章
目录
下一章
×