赞
踩
人工神经网络artificial neural network,缩写ANN,简称神经网络neural network,是一种模拟动物神经网络(动物大脑)的数学模型。可以将其理解为一个多元方程式,对任意问题进行估计或拟合。
神经网络主要由:输入层、隐藏层、输出层构成。当隐藏层只有一层时,该网络为两层神经网络,因为输入层未作任何变换,可以不看做成单独的一层。实际中,网络输入层的每个神经元代表一个特征,输出层神经元个数代表分类标签的个数。
对于二分类任务,如果采用sigmoid分类器,输出层的神经元个数为1个;如果采用softmax分类器,输出层神经元个数为2个。对于多分类任务,分类类别≥3时,输出层神经元个数与类别大小相等。一个基本的两层神经网络如下图所示:
以简单的两层神经网络为例,使用上标方括号表示层数,下标表示第几个神经元。例如a1[2]表示第1层第二个神经元。
前向传播就是从输入层到输出层,计算每一层每个神经元的激活值。以上面简单的两侧神经网络为例,从输入层开始,每个神经元输出的计算公式如下,不考虑偏置。
神经网络中,通过损失函数来度量模型的预测值和真实值之间的差异,它是一个非负实值函数,且处处可导,损失函数越小,模型的鲁棒性也好。
在模型的训练阶段,每个批次的训练数据送入模型后,通过前向传播输出预测值,此时使用损失函数计算出预测值和真实值之间的差异,即分布偏差。得到偏差之后,通过反向传播得到权值梯度,优化函数更新权值,来降低预测值与真实值之间的损失,从而达到学习的目的。
反向传播BP,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。同样,以上面简单的两层神经网络为例,计算所有权值对损失函数的梯度:
需要注意的一点是,影响权重的梯度因素包括损失函数的导数、激活函数的导数、节点的输入值、权重值。
经过反向传播得到各个权重参数的梯度,需要使用优化函数来更新权值,来缩短网络预测值和真实值之间的偏差,拟合真实数据分布。
下图描述了权重参数与损失值之间的关系,通过优化函数更新权重参数,使得损失值不断缩小,达到最小值。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。