基本结构
神经网络的基本结构如图所示,由输入层、隐藏层、输出层构成;
图中的x1~x5即 输入层,y即 输出层,中间对x1~x5的加权求和(注意此处还加入了偏置)可以看作 隐藏层 的雏形,隐藏层中的w1~w5及b即 神经元权值,这就是一个最简单的神经网络——又称感知器;
根据神经网络的不同,隐藏层可以多种多样,且数量不限。
损失函数
损失函数用于计算神经网络模型预测的结果和真实值之间的 差异,也称为损失值——loss,loss值越小表示模型逼近效果越好;
在模型迭代的过程中,会通过loss对神经元权值求导,进而不断修正权值;
损失函数的形式不唯一,取决于评价模型预测误差的角度,其决定了函数形状以及每次调整形状的方向;
根据不同的任务以及神经网络训练的不同阶段,可以采用不同的损失函数。
激活函数
在神经网络中,神经元权值代表了隐藏层的 线性结构,若干线性操作层的堆叠只能起到线性映射的作用,无法形成复杂的函数;
随着神经网络的发展,其隐藏层中加入了 非线性结构——激活函数;
标准化 Normalization
原始数据通常分布不均(噪声大),而且数值通常都很大(例如RGB图像像素数值为0~255),经过激活函数后求导得到的导数接近于0(又称梯度消失),不便于模型收敛;
标准化处理 指的是:data减去它的均值,再除以它的标准差,最终data将呈现: 均值为0,方差为1的数据分布;
神经网络模型偏爱标准化数据,原因是均值为0方差为1的数据在经过sigmoid、tanh等激活函数后求导得到的导数很大。
注意需要保持 训练集、 验证集 和 测试集 三个数据集标准化系数的一致性(均值和标准差)
前向传播与反向传播
前向传播即数据输入经各个隐藏层神经元计算不断向下一层传递的过程,直至输出层输出预测结果,计算与真实值之间的loss;
反向传播(BackPropagation)是“误差反向传播”的简称,将输出层的误差反向传播至前面的各个隐藏层,来修正隐藏层中的权重,完成一轮学习迭代。BP神经网络(1986年)最早提出了该思想。