为什么深度学习中用到损失函数和梯度

损失函数,如其名字一样,是通过对比计算网络的前向传播结果和真实结果,计算出来的用于衡量两者之间差距的函数值。

通过损失函数我们可以计算出来一次前向传播的损失值loss。其终极目标是将损失值变为0。

前向传播可以求得一系列数通过计算出来的结果,一般在前向传播中就已经计算好损失值了。

通过反向传播自动求导机制,可以求得每一个权重对于损失的变化影响。

再通过引入学习率lr这一概念,用于控制每一次的权重调整程度,最终再次前向传播达到减小损失值的目的。

其每个权重的步骤如下:

1.计算前向传播结果的损失值

2.根据损失值和权重值以及他们之间的计算关系得到梯度图

3.根据学习率数值来对权重数值进行调整。

4.调整完毕重新前向传播,计算损失值。跳转至步骤2,直到损失值达到0(理论上是可能的,但对于复杂的任务基本不存在,可能存在过拟合等错误),达到预定迭代轮数也可结束。

也就是使得网络能够正确得到分类结果这一目的。

其中用到的优化器这一概念,则是用于加速网络权重参数的调整,使其能够达到实验目的,

 

posted @ 2021-07-08 16:21  Anm半夏  阅读(415)  评论(0编辑  收藏  举报