【深度学习】目标函数

Introduction

目标函数 是 深度学习之心,是 模型训练发动机

目标函数 (object function) = 损失函数 (loss function) = 代价函数 (cost function)

其中,模型loss 统称为 non-decay loss正则loss 称为 decay loss

作用:

计算 预测结果 与 真实标记 之间的 误差,并通过 误差反向传播 算法,指挥模型参数 哗啦啦地 刷新

目标函数 类型

主要分为 分类任务目标函数回归任务目标函数。此外往往会加上 附加任务目标函数 (为了 防止过拟合/求得稀疏解 而加入的 正则项 )。

分类任务

假设某分类任务共 N N N 个训练样本,针对网络最后分类层的第 i i i 个样本的输入特征为 x i x_{i} xi ,其对应的真实标记为 y i ∈ { 1 , 2 , . . . , C } y_{i}\in\{1, 2, ..., C\} yi{1,2,...,C} ,另 h = ( h 1 , h 2 , . . . , h C ) T h={(h_{1}, h_{2}, ..., h_{C})}^{T} h=(h1,h2,...,hC)T 为网络的最终输出,即样本 i i i 的预测结果,其中 C C C 为分类任务类别数。

y i y_{i} yi:分类正确时为1,错误时为0;
h y i h_{y_{i}} hyi:分类正确的那一个 h j h_{j} hj,可能为负值。

Softmax损失函数

Softmax损失函数(softmax function),又名 交叉熵损失函数 (CE)

该函数 是重要的 深度学习目标函数,也是 Sigmoid函数 的一种 推广。可转换为交叉熵误差 (CE)

C E ( y ^ ) = − 1 N ∑ k = 1 N [ I { y = y ′ } log ⁡ ( p t ) ] CE(\hat{y}) = - \frac{1}{N} \sum_{k=1}^N [I \{y=y'\} \log(p_t)] CE(y^)=N1k=1N[I{y=y}log(pt)]

只对gt所对应的单类 计算loss。
最常用 的分类任务目标函数。

合页损失函数

合页损失函数,hinge loss,主要被运用于SVM中。

L = 1 N ∑ i = 1 N max ⁡ { 0 , 1 − h y i } L={\frac{1}{N}}{\sum_{i=1}^N}\max\{0, 1-h_{y_{i}}\} L=N1i=1Nmax{0,1hyi}

max ⁡ { 0 , 1 − h y i } \max\{0, 1-h_{y_{i}}\} max{0,1hyi}:保证了每个单样本的损失值不为负。

效果略逊于交叉熵损失函数。

坡道损失函数

坡道损失函数,ramp loss function。

亮点是 增强了 抗噪能力

坡道损失函数 和 Tukey’s biweight 损失函数 并称 鲁棒损失函数

大间隔交叉熵损失函数

引入了SVM的思想,即在 要求 分类正确 之外,还 额外要求 分开的类 需保持较大间隔

较难训练。

但在 分类性能 方面 优于 交叉熵损失函数 和 合页损失函数。

中心损失函数

在 大间隔交叉熵损失函数 的 基础上,更进一步要求 减小类内差异

这里写图片描述

Focal Loss损失函数

对Softmax损失函数进行“类别平衡”约束。

回归任务

预测误差,即 残差 ,用于 衡量 模型预测值真实标记靠近程度

假设回归问题中,对应第 i i i 个输入特征 x i x_{i} xi 的真实标记为 y i = ( y 1 , y 2 , . . . , y M ) T y^{i} = (y_{1}, y_{2}, ..., y_{M})^{T} yi=(y1,y2,...,yM)T M M M 为标记向量总维度,则 l t i l_{t}^{i} lti 即表示样本 i i i 上网络回归预测值 ( y ^ i ) (\hat{y}^{i}) (y^i) 与其真实标记在第 t t t 维的预测误差 (亦称 残差) :

l t i = y t i − y ^ t i l_{t}^{i} = y^{i}_{t} - \hat{y}^{i}_{t} lti=ytiy^ti

L1损失函数L2损失函数
回归精度少数情况下略优,大部分情况下差不多
收敛速度略快
运用程度较常用最常用

L1损失函数

L = 1 N ∑ i = 1 N ∑ t = 1 M ∣ l t i ∣ L={\frac{1}{N}} {\sum_{i=1}^N} {\sum_{t=1}^M} \vert l_{t}^{i} \vert L=N1i=1Nt=1Mlti

Detection中常用的是 Smooth L1

L2损失函数

L = 1 N ∑ i = 1 N ∑ t = 1 M ( l t i ) 2 L={\frac{1}{N}} {\sum_{i=1}^N} {\sum_{t=1}^M} ( l_{t}^{i} ) ^{2} L=N1i=1Nt=1M(lti)2

Tukey’s biweight 损失函数

可克服 离群点样本噪声样本 所带来的 干扰鲁棒性 强

其他任务

某些 无法被 简单划归为 分类 或 回归 的任务,需要设计其他的目标函数。

Summary

分类任务回归任务
真实标记二值向量实数向量

[1] 深度学习: 分类 目标函数 (交叉熵误差(CE) -> 焦点损失(FL))

  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值