导图社区 神经网络与深度学习之基础
总结了最基本的神经网络结构——多层感知机MLP和前馈网络FNN,在此基础上总结了神经网络的目标函数和优化技术,反向传播算法计算目标函数对网络权系数的梯度问题,以及神经网络优化的辅助技术如初始化、正则化等。
编辑于2023-02-23 17:40:31 北京市神经网络与深度学习 基础
神经网络的基本结构
神经元结构
加权求和
激励信号
突触/加权
激活值
激活函数
不连续函数
符号函数
感知机
门限函数
McCulloch-Pitts神经元
连续可导函数
Logistic Sigmoid函数
双曲正切函数tanh()
缺点
当激活值a较大时,函数进入饱和区域,相应导数接近0,在通过梯度的学习算法中,收敛变得很慢甚至停滞。ReLU函数的收敛速度更高
ReLU函数
经典ReLU
渗漏ReLU
汇总
神经元的计算结构
线性加权求和产生激活值+非线性激活函数产生输出
多层神经网络解决异或问题
感知机
线性组合+符号激活函数
线性不可分情况不收敛
如异或运算
线性不可分解决方法
非线性基函数向量取代原特征向量
采用多个神经元构成多层神经网络
神经元的联接方式
神经元作为一个基本构造块,通过并联和级联结构联接成一个多层网络
并联方式
在同一层多个神经元接收同一输入特征向量x,分别产生多个输出
级联方式
并联的多个神经元各自产生输出,这些输出传给下一层的神经元作为输入
多层感知机MLP 前馈神经网络FNN
多层感知机结构
输入层
输入层组成单元个数为输入特征向量的维度D
输入特征矩阵N×D
每行对应一个样本,行数即为样本数N
列数即为特征向量维度D
隐藏层
第1层
输入矩阵N×D
即为原始特征矩阵
权系数矩阵D×K1
每个神经元的权系数对应一个D维列向量
一共K1个神经元构成D×K1的矩阵
偏置向量N×K1
每行对应一个样本偏置共N行
列数即为神经元个数K1
输出矩阵N×K1
Z=φ(A)=φ(XW+W0)
第2层
输入矩阵N×K1
上层输出矩阵
权系数矩阵K1×K2
每个神经元的权系数对应一个K1维列向量
一共K2个神经元构成K1×K2的矩阵
偏置向量N×K2
每行对应一个样本偏置共N行
列数即为神经元个数K2
输出矩阵N×K2
Z=φ(A)=φ(XW+W0)
第m层
输入矩阵N×K(m-1)
上层输出矩阵
权系数矩阵K(m-1)×Km
每个神经元的权系数对应一个K(m-1)维列向量
一共Km个神经元构成K(m-1)×Km的矩阵
偏置向量N×Km
每行对应一个样本偏置共N行
列数即为神经元个数Km
输出矩阵N×Km
Z=φ(A)=φ(XW+W0)
输出层
输入矩阵N×K(L-1)
上层输出矩阵
权系数矩阵K(L-1)×KL
每个神经元的权系数对应一个K(L-1)维列向量
一共KL个神经元构成K(L-1)×KL的矩阵
偏置向量N×KL
每行对应一个样本偏置共N行
列数即为神经元个数KL
输出矩阵N×KL
Z=φ(A)=φ(XW+W0)
多层感知机的运算关系 程序结构
输入
第m层第j个神经元的输出
加权求和
上层输出作为这层输入
激活函数
输出
神经网络输出表示
注
输出层神经元个数表示神经网络可以同时有多个输出函数
回归问题
输出层神经元的输出即为回归函数输出
二分类
输出层神经元输出正类型的后验概率,Sigmoid函数表示类型的后验概率
多分类
输出层每个神经元输出各类型的后验概率,Softmax函数表示每个类型的概率
神经网络非线性映射
与基函数回归的区别
参数的确定
基函数回归的基函数是预先确定的
神经网络的基函数参数是系统参数的一部分,需要训练确定
非线性关系
基函数回归只有输入向量与输出呈非线性关系
神经网络输入向量与权系数均与输出呈非线性关系
举例
二层神经网络
三层神经网络
神经网络的逼近定理
神经网络本质
D维欧几里得空间到K维欧几里得空间的映射
输入特征向量x是D维向量
输出y是K维向量
内容
只需要有一层隐藏单元的MLP,可以以任意准确度逼近定义在有限区间的连续函数
神经网络的目标函数和优化
神经网络的目标函数
一般情况
多个回归输出情况
误差平方和
多个二分类输出情况
交叉熵
单个K分类输出情况
交叉熵
样本损失函数对输出激活的导数
神经网络的优化
损失函数
高度非线性的非凸函数
损失函数最小化的解满足
汉森矩阵H满足正定性
神经网络权系数
维度
权系数空间的对称性
神经元交换位置输入输出关系不变,神经网络前后等价
权系数优化
全梯度算法
随机梯度算法
小批量随机梯度算法
反向传播BP算法计算梯度或导数
误差反向传播BP算法 计算损失函数对权系数梯度
思想
导数的链式法则
损失函数对输出激活的导数为回归输出对标注的误差
激活对权系数的导数为输入向量
损失函数对权系数梯度或导数
误差反向传播
隐藏层的误差缺乏,需要将误差的影响从输出层向输入方向传播
反向传播算法的推导
前向传播
初始值
隐藏层
输出层
输出层梯度
输出层误差
梯度分量
隐藏层反向传播
隐藏层梯度链式分解
公式推导
算法思想
前向传播
前一层的神经元输出z加权求和得到下一层的神经元激活a
反向传播
后一层的传播误差(靠近输出的层)δ(l+1)反向传播给前一层,得到前一层的传播误差δ(l),一直反向传播到第1个隐藏层(最靠近输入的隐藏层)
算法过程 (权系数一步迭代)
初始值
向前传播
隐藏层
输出层
反向传播
输出层
隐藏层
梯度分量
小批量随机梯度算法
反向传播算法的向量形式
初始值
向前传播
第l层第j个神经元激活的增广权系数
第l层的权系数矩阵
加权求和并激活
输出层传播误差向量
反向传播
误差反向传播
梯度分量
对第l层权向量矩阵的梯度
对第l层偏置向量的梯度
对第l层一个神经元的权系数的梯度
反向传播算法的扩展
网络的雅可比矩阵
雅可比矩阵分解
误差反向传播方程
回归问题
二分类问题
多分类问题
网络的汉森矩阵
神经网络学习中的一些问题
基本问题
目标函数和梯度计算
初始化
权系数初始化
输入和输出数目分别为m和n
Xavier初始化
激活函数为ReLU函数时权系数初始化
输入向量标准化
单位归一化,表示在统一的空间中
正则化
权衰减的正则化损失函数
迭代更新
几类等价正则化技术
增广样本集
对样本集中的一个样本进行几个不同小角度的旋转和平移,构成新的样本
输入向量注入噪声
在输入样本上加入小功率的随机噪声,对抗训练
早停止技术
检测验证误差转折点,验证误差开始增加即可停止迭代,防止过拟合