深度学习:基本件-损失函数

阅读量 ,评论量

参考:https://www.zhihu.com/question/440729199/answer/2629696353

损失函数

不结合损失函数地考虑模型输出值,都是耍流氓。比如ctr预估模型的输出值,其损失函数一般为交叉熵损失,故该ctr预估模型的输出值q的含义为这条样本的点击率服从期望(p值)为q的伯努利分布;再比如时长预估模型的输出值,若损失函数为均方差损失,则该时长预估模型的输出值q的含义为这条样本的观看时长服从期望(\(\mu\)值)为q的高斯分布;再比如时长预估模型建模成了一个二分类,损失函数为均方差损失,则该时长类别预估模型的输出值q的含义为。

L2

2-范数,即MSE,均方差损失。

假设:预估值与label的误差服从高斯分布(实际操作时看label分布即可),则误差的最大似然即为L2。

特点:容易受到异常值影响(因为异常值的梯度会更大,故导致模型学偏;而实际上异常值占比微乎其微(如果符合高斯分布的话),模型不应该给予太多关注)。

L1

1-范数,即MAE。

假设:预估值与label的误差服从拉普拉斯分布,则最大似然即为L1。

特点:对异常点更鲁棒,但收敛速度慢。

huber loss

平滑版的L1,即在0点附近改为L2

NLL

负对数似然。

WLR

Weighted Logistics regression

通过把一个 label 为 T 的样本当做T个正样本(和一个负样本),在统计意义上推导保证了预估的无偏。

假设:label 服从几何分布

pinball loss

focal loss

\[ loss = \{^{-\alpha (1-y')^\gamma \log y', y=1} _{-(1-\alpha)(y')^\gamma \log (1-y'), y=0}. \]

应用

一阶目标检测

对于二阶目标检测算法,有特征重采样过程,可在该过程中通过固定正负样本比例或在线困难样本挖掘(OHEM)使得前景和背景相对平衡;而一阶目标检测算法最多只能在数据集上做固定正负样本比例的处理,训练会被大量易分样本主导,导致模型难以收敛至更优解,focal loss 用 Boost 的方法解决了这个问题。

对比学习

主要解决的是正/负样本少的问题,其核心便是如何做样本增强来给CL训练。

对比学习的指导原则是:通过自动构造相似实例和不相似实例,要求习得一个表示学习模型,通过这个模型,使得相似的实例在投影空间中比较接近,而不相似的实例在投影空间中距离比较远。而如何构造相似实例和不相似实例、如何构造能够遵循该指导原则的表示学习模型结构、如何防止模型坍塌(Model Collapse),这几个点是对比学习的关键。

infoNCE损失

https://www.cnblogs.com/pyclq/p/16521826.html

https://ku.baidu-int.com/knowledge/HFVrC7hq1Q/pKzJfZczuc/ZRvpK-trlS/zxGXIDbu2Tmj7H

https://ku.baidu-int.com/knowledge/HFVrC7hq1Q/pKzJfZczuc/ZRvpK-trlS/9mWVJsY2cruo4S

CV:

NLP:

Rec:

迁移学习

TrAdaBoost