1、损失(loss)和权重(w)的关系
loss表示预测值和真实值的误差,主要用于对权重w的更新。
loss通常由损失函数得到,损失函数常见的由MSE均方误差和CorssEnropy交叉熵损失函数。
MSE均方误差:

该误差(loss)使用的计算公式为MSE

下图可以看清误差是如何反向传播的:

得到loss后,可带入权重w更新的公式中:
这里使用的是SGD随机梯度下降法,此外还有Adam等权重更新方法

式中,loss为
中的一部分,
中的
,表示参数w5对误差的贡献。n为学习率,代入loss后可对权重值w5进行更新,若loss越大,即结果和真实值差距越大,则w5变化越大。
若想理解整个过程,可参考(146条消息) 神经网络中的反向传播法算法推导及matlab代码实现_matlab反向传播算法_南极粥的博客-优快云博客
2、激活函数的作用
经过激活函数sigmoid、Relu等非线性函数后,网络就变成了一个由许多非线性输入组成的能够近似模拟任何曲线的复杂函数,这个曲线能够近似拟合你所给的数据。
3、zero_grad清零梯度
使用在反向传播前,将上次记录的反向传播的梯度清零,否则梯度会进行叠加。
4、Batch Normalization的作用对象
在batch维度上计算相同通道上的均值和方差,再利用相同batch维度上的均值和方差做标准化。

图片来自Batch Normalization详解(原理+实验分析)_batchnormalization_macan_dct的博客-优快云博客
nn.BatchNorm1d(channel_num):参数为输入的通道数(卷积核数目),1d对应1d卷积的输入数据格式,2d为2d卷积的输入数据格式。
维度分别为:
1d:(batch,C卷积核个数,times)
2d:(batch,C卷积核个数,times,channel(数据自身的)通道数)
文章介绍了损失(loss)如何衡量预测与真实值的误差,以及在权重更新中的作用,特别是通过MSE和CrossEntropy损失函数。激活函数如sigmoid和ReLU赋予网络非线性能力。zero_grad在反向传播前清零梯度以避免累积。BatchNormalization通过计算批量数据的均值和方差来标准化输入,提升模型训练效率,nn.BatchNorm1d是针对1d卷积操作的实现。
5万+

被折叠的 条评论
为什么被折叠?



