【Loss】深度学习的多个loss如何平衡?

2020 年 3 月 18 日 深度学习自然语言处理

点击上方,选择星标置顶,每天给你送干货

阅读大概需要4分钟

跟随小博主,每天进步一丢丢


来自 | 知乎
地址 | https://www.zhihu.com/question/375794498/answer/1056695768
作者 | 郑泽嘉
编辑 | 机器学习算法与自然语言处理公众号
本文仅作学术分享,若侵权,请联系后台删文处理


Focal loss 会根据每个task的表现帮你自动调整这些参数的。
我们的做法一般是先分几个stage 训练。stage  0 : task 0, stage 1: task 0 and 1. 以此类推。在stage 1以后都用的是focal loss。

========== 没想到我也可以二更 ===============

是这样的。
首先对于每个 Task,你有个 Loss Function,以及一个映射到 [0, 1] 的 KPI (key performance indicator) 。比如对于分类任务, Loss function 可以是 cross entropy loss,KPI 可以是 Accuracy 或者 Average Precision。对于 regression 来说需要将 IOU 之类的归一化到 [0, 1] 之间。KPI 越高表示这个任务表现越好。

对于每个进来的 batch,每个Task_i 有个 loss_i。每个Task i 还有个不同的 KPI:  k_i。那根据 Focal loss 的定义,FL(k_i, gamma_i) = -((1 - k_i)^gamma_i) * log(k_i)。一般来说我们gamma 取 2。

于是对于这个 batch 来说,整个 loss = sum(FL(k_i, gamma_i) * loss_i)
在直观上说,这个 FL,当一个任务的 KPI 接近 0 的时候会趋于无限大,使得你的 loss 完全被那个表现不好的 task 给 dominate。这样你的back prop 就会让所有的权重根据那个kpi 不好的任务调整。当一个任务表现特别好 KPI 接近 1 的时候,FL 就会是0,在整个 loss 里的比重也会变得很小。

当然根据学习的速率不同有可能一开始学的不好的task后面反超其他task。http://svl.stanford.edu/assets/papers/guo2018focus.pdf 这篇文章里讲了如何像momentum 一样的逐渐更新 KPI。

由于整个 loss 里现在也要对 KPI 求导,所以文章里还有一些对于 KPI 求导的推导。

当然我们也说了,KPI 接近 0 时,Loss 会变得很大,所以一开始训练的时候不要用focal loss,要确保网络的权重更新到一定时候再加入 focal loss。
希望大家训练愉快。




投稿或交流学习,备注: 昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多: 机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等
记得备注呦



登录查看更多
18

相关内容

最新《多任务学习》综述,39页pdf
专知会员服务
263+阅读 · 2020年7月10日
【CMU】深度学习模型中集成优化、约束和控制,33页ppt
专知会员服务
45+阅读 · 2020年5月23日
少标签数据学习,54页ppt
专知会员服务
196+阅读 · 2020年5月22日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
专知会员服务
199+阅读 · 2020年3月6日
非平衡数据集 focal loss 多类分类
AI研习社
33+阅读 · 2019年4月23日
被忽略的Focal Loss变种
极市平台
29+阅读 · 2019年4月19日
分享神经网络中设计loss function的一些技巧
极市平台
35+阅读 · 2019年1月22日
深度学习如何调参?
炼数成金订阅号
6+阅读 · 2018年10月18日
Faster R-CNN
数据挖掘入门与实战
4+阅读 · 2018年4月20日
何恺明大神的「Focal Loss」,如何更好地理解?
PaperWeekly
10+阅读 · 2017年12月28日
如何找到最优学习率?
AI研习社
11+阅读 · 2017年11月29日
深度学习超参数简单理解
计算机视觉战队
4+阅读 · 2017年11月28日
【教程】如何估算深度神经网络的最优学习率
GAN生成式对抗网络
5+阅读 · 2017年11月18日
如何使用高大上的方法调参数
AI研习社
3+阅读 · 2017年9月11日
A General and Adaptive Robust Loss Function
Arxiv
8+阅读 · 2018年11月5日
Arxiv
12+阅读 · 2018年1月12日
VIP会员
相关VIP内容
最新《多任务学习》综述,39页pdf
专知会员服务
263+阅读 · 2020年7月10日
【CMU】深度学习模型中集成优化、约束和控制,33页ppt
专知会员服务
45+阅读 · 2020年5月23日
少标签数据学习,54页ppt
专知会员服务
196+阅读 · 2020年5月22日
Python数据分析:过去、现在和未来,52页ppt
专知会员服务
99+阅读 · 2020年3月9日
专知会员服务
199+阅读 · 2020年3月6日
相关资讯
非平衡数据集 focal loss 多类分类
AI研习社
33+阅读 · 2019年4月23日
被忽略的Focal Loss变种
极市平台
29+阅读 · 2019年4月19日
分享神经网络中设计loss function的一些技巧
极市平台
35+阅读 · 2019年1月22日
深度学习如何调参?
炼数成金订阅号
6+阅读 · 2018年10月18日
Faster R-CNN
数据挖掘入门与实战
4+阅读 · 2018年4月20日
何恺明大神的「Focal Loss」,如何更好地理解?
PaperWeekly
10+阅读 · 2017年12月28日
如何找到最优学习率?
AI研习社
11+阅读 · 2017年11月29日
深度学习超参数简单理解
计算机视觉战队
4+阅读 · 2017年11月28日
【教程】如何估算深度神经网络的最优学习率
GAN生成式对抗网络
5+阅读 · 2017年11月18日
如何使用高大上的方法调参数
AI研习社
3+阅读 · 2017年9月11日
Top
微信扫码咨询专知VIP会员