卷积神经网络-损失函数
2019-03-27
(沈阳理工大学 辽宁 沈阳 110159)
近年来,随着神经网络的发展,其各个分支的优化也在不断进行。在机器学习当中,每一个算法都会涉及一个目标函数,而对该算法的求得最优解的过程就是通过对该目标函数的不断优化。在目标识别与分类领域,经常使用损失函数作为它的目标函数。损失函数的实质就是计算实际输出和理想输出之间的差异。所以选用的损失函数越好,模型的性能越好,鲁棒性相应也会更加优质。不同的算法使用的损失函数也会不一样。
损失函数的分类及原理:
1.平方损失函数:
平方损失函数使用的是最小二乘算法。
最小二乘算法法归属于线性回归问题的一种方法,它将问题转变成为了一个凸优化操作的问题。在线性回归过程中中,它拟定样本、噪声都遵信高斯分布,然后用极大似然估计法驱推导得到最小的二乘式子。
最小二乘的基本原则:通过平方和最小算法去求得最优拟合直线,所谓最优拟合直线就是使每个点到定义的回归直线的距离之和值最小的直线。而且,平方损失函数是基于距离的,而此处对距离的定义可以理解为欧几里得距离。
最小二乘法优点:
•简单,计算方便;
•欧氏距离是一种很好的相似性度量标准;
•在经过不同的区域变换后,特征性质维持原样。
2.log对数损失函数:
•对数函数利用的逻辑回归法。
•逻辑回归算法的基本步骤如下,我们先拟定采用的数据遵循伯努利分布,接下来去计算似然函数,求得的函数必须要满足伯努利分布,最后对函数进行取对数运算去求得极值。要注意的一点是,逻辑回归最后并不会去计算似然函数的极值,而是转换了另外一种思维方式,把极值当作一种思想,然后推导出它所对应的损失函数。
3.经典CNN模型的损失函数
设由 m 个样本组成的样本集为{(x1,y1),(x2,y2)…(xm,ym)},在这些样本里有 n 类,yi表示xi的期望输出. 传统卷积神经网络的损失函数为
(1)
其中:w 为每个神经元的权值;b 为偏置项;Pw,b(xi)为实际输出。模型通过训练调节参数w,b,使损失函数 R(w,b)达到最小。
经典 CNN 模型对损失函数进行参数更新与优化,主要通过梯度下降法,它的迭代公式为:
(2)
(3)
其中:a 表示学习率。式(2)和式(3)使用 BP 算法计算出偏导数的值。在使用反向传播算法时,先去进行前向传播,得到最后一层的输出值Pw,b(xi),然后计算实际输出值与期望理想值之间的差距,这个差距表示为 R(w,b)。接下来通过最后一层的残差反向逐层计算出前一层的残差,最后得到更新后的权值和偏置项和神经网络参数。