课程:B站云博士ai
目录
基本概念
- 特征与目标:已知的属性称为特征,未知的属性称为目标 。在神经网络训练中,通过对已知特征数据的学习,来预测目标值。
- 预测:当神经网络的模型结构和权重确定后,就可以对新样本的目标值进行预测 。“net” 一般指网络计算的中间结果(如加权和),“weight” 即权重,是神经网络中用于计算的参数 。“prediction” 是预测值,“target” 是真实目标值。
- 层:神经网络由多个计算单元组成的层次结构,每层包含多个节点(神经元) 。多个输出可视为一组向量。权重一般用带有下标(表示维度)的符号表示,如wx,y ,x表示后一层的编号,y表示前一层的第y个结点 。
正向传播
- 原理:输入数据从输入层进入,经过各隐藏层,最终到达输出层的过程 。在每一层,输入值与权重进行加权求和,然后进行非线性变换(激活函数处理)得到输出 。
- 示例:笔记中输入a=[a1,a2,a3](向量形式),权重w以矩阵形式表示,如[w1,1w2,1w1,2w2,2w1,3w2,3] ,通过矩阵运算g(w∗a)=z (g为激活函数)得到输出z=[z1,z2](向量形式) ,这里涉及加权求和并进行非线性变换 。
激活函数
- 作用:给神经网络引入非线性因素,使网络能够学习和表示复杂的非线性关系 ,实现几何空间的扭曲和变型 ,把数据结果变化到需要的区间 。
- 常见激活函数
-
Sigmoid:公式为σ(x)=1+e−x1 ,值域为(0,1) ,常被用于将数据映射到概率区间 ,但存在梯度消失问题 。
-
tanh:公式为tanh(x)=cosh(x)/sinh(x) ,值域为(−1,1) ,相比 Sigmoid 函数,其输出是零中心化的 ,但也有梯度消失问题 。
-
ReLU:公式为max(0,x) ,优点是计算简单,在x>0时梯度为 1,缓解了梯度消失问题,训练速度快 。
-
ELU:公式为f(x)={x,α(e^x−1),x>0x≤0 ,结合了 ReLU 的优点,在x≤0时引入了自适应性,使函数输出均值接近 0 。
-
PReLU:在x≤0时具有可学习的参数,增加了模型的灵活性 。
-
神经网络训练的基本设定
- 网络结构:神经网络的深度(层数)和广度(每层神经元数量)通常需通过经验和实验确定 。一旦确定,训练过程主要就是调整权重w 。
- 权重初始化与更新策略:通常会随机初始化一组权重w ,然后使用特定策略不断迭代更新w ,目标是让模型预测结果与真实值的差距最小。
损失(Loss)
- 定义:损失用于衡量预测值和真实值的差异性 ,可以是数值差(如均方误差 )、概率差(如交叉熵损失 )、分布差等,一般表示为关于权重w的函数L(w) 。损失越小,说明模型预测越准确。
梯度与梯度下降
- 梯度方向:在一维损失函数中,涉及 1 个权重变量;二维损失函数中,涉及 2 个权重变量 。梯度方向是函数值增长最快的方向,而其反方向就是损失函数下降最快的方向。
- 极值点:即损失函数取得最小值的位置。在训练过程中,模型沿着梯度反方向,每次以一小段距离(学习率决定)更新权重,不断逼近极值点,使损失逐渐减小。
1. 反向传播原理
这是神经网络反向传播中利用链式法则计算 ∂w5∂Etotal 的过程。反向传播是为了更新神经网络中的权重,使得损失函数 Etotal 最小化 。核心依据链式法则,将总误差对权重的偏导数,拆解为多个中间变量偏导数的连乘形式 ,即 ∂w5∂Etotal=∂outo1∂Etotal×∂neto1∂outo1×∂w5∂neto1 。
2. 偏导数计算过程
- 计算 ∂outo1∂Etotal:
- 已知 Etotal=21(targeto1−outo1)2+21(targeto2−outo2)2 ,根据求导公式 (Xn)′=nXn−1 对其求关于 outo1 的偏导数。
- 第一项 21(targeto1−outo1)2 求导得 2×21(targeto1−outo1)2−1×(−1) ,第二项 21(targeto2−outo2)2 关于 outo1 求偏导为 0 。
- 代入 targeto1=0.01 ,outo1=0.75136507 ,算出 ∂outo1∂Etotal=−(0.01−0.75136507)=0.74136507 。
- 计算 ∂neto1∂outo1:
- 因为 outo1=1+e−neto11 ,这是 sigmoid 函数形式,其导数公式为 ∂neto1∂outo1=outo1(1−outo1) 。
- 代入 outo1=0.75136507 ,得到 ∂neto1∂outo1=0.75136507×(1−0.75136507)=0.186815602 。
- 计算 ∂w5∂neto1:
- 由 neto1=w5×outh1+w6×outh2+b2×1 ,根据求导公式 (aX)′=a (a 为常数,X 为变量)求关于 w5 的偏导数。
- 对 w5×outh1 求导得 1×outh1×w5(1−1) ,后两项关于 w5 求偏导为 0 ,代入 outh1=0.593269992 ,得到 ∂w5∂neto1=outh1=0.593269992 。
3. 最终结果计算
将上述计算得到的三个偏导数相乘,即 ∂w5∂Etotal=∂outo1∂Etotal×∂neto1∂outo1×∂w5∂neto1=0.74136507×0.186815602×0.593269992 ,就可得到总误差对权重 w5 的偏导数,用于后续权重 w5 的更新 。 权重更新公式一般为 w5=w5−η×∂w5∂Etotal ,其中 η 是学习率 。