CNN图像分类小技巧(3):Label Smoothing

1. Label Smoothing

Label Smoothing是一种可以有效提神图像分类,语音识别,机器翻译模型准确率的方法,被Szegedy在Rethinking the inception architecture for computer vision 中提出,然后被Hinton等在when Does Label Smoothing Help?中深入探究了为什么和在什么条件下Label Smoothing会起作用。我们可以将Label Smoothing当作一个小trick, 通过应用这个小trick, 可以有效的缓建模型由于过度自信导致的过拟合问题, 同时可以起到对模型预测的置信分数进行修正提升置信分数和模型准确率的匹配度。

Label Smoothing是为了提升图像分类的准确率作为一种正则化的方法被提出的。Label Smoothing通过软化标签调整了多分类问题中损失函数的计算方式以此来regularize模型。那常规的多分类任务训练过程中存在什么问题呢,我们来看一下。

2. 常规多分类任务的问题

在多分类任务中,神经网络模型会根据当前数据输出一个列表包含各个类别的置信度分数,然后将这些分数传入softmax得到另外一个列表代表的是当前数据属于各个类别的概率。softmax的计算公式如下:
q_i = \frac{exp(z_i)}{\sum_{j=1}^{K}exp(z_j)}
K是总的类别数,通过计算我们可以得到:

  1. 0 < q_i < 1.0 , i \in {\{1 ... K\}}
  2. \sum_{i=1}^{K} q_i = 1.0

然后根据q_i计算cross entropy loss函数:
Loss = - \sum_{i=1}^{K}p_ilog(q_i)
其中p_i = \left\{ \begin{aligned} 1, if(i = y) \\ 0, if(i \neq y) \end{aligned} \right. i表示多类中的某一类。 具体意思是在多分类任务的训练中,label smoothing处理之前每一个样本的标签是一个one hot向量,向量中元素的个数是总的类别数,而且只有正确的类别是1,其余都是0. 每一个元素可以看作权重p_i和每一个类别的输出概率q_i带入上面的公式计算得到损失值。 因为只有一个p_i等于1参与计算, 所以Loss = -log(q_i). 当我们需要最小化Loss的时候,模型会最大化q_i, 也就是最大化z_i. 所以在训练过程中模型会促使自身往正确标签和错误标签差值最大化的方向学习,在训练数据量较小的情况下,无法表征所有样本特征的情况下, 会导致模型过于自信而导致过拟合,同样的模型输出的置信分数和概率并不能跟模型的准确度相契合。

3. Label Smoothing的使用

在了解了多分类任务的问题之后,一个很直觉的想法就是,让所有的标签都参与到损失函数的计算过程中来而不只是正确的标签。这样模型训练过程中需要开始考虑如何给错误标签一个合适的置信分数而不是漫无目的的最大化正确标签和错误标签的差值。所以Label Smoothing的做法就是通过soft one-hot来加入噪声,减少真实样本标签在计算损失函数时的权重,同时也将错误标签引入到损失函数的计算中。使用label smoothing后p_i这样变化:

p_i = \left\{ \begin{aligned} 1, if(i = y) \\ 0, if(i \neq y) \end{aligned} \right. =====================> p_i = \left\{ \begin{aligned} 1 - \epsilon , if(i = y) \\ \frac{\epsilon}{K - 1}, if(i \neq y) \end{aligned} \right.
K是类别的总个数,\epsilon is a small constant. 通过Label Smoothing给标签加入噪声带来最核心的变化是为了最小化损失函数所需的最优方案从
z_i = \left\{ \begin{aligned} \infty, if(i = y) \\ small\ enough, if(i \neq y) \end{aligned} \right.
变成了:
z_i = \begin{cases} \log(\frac{(K-1)(1-\epsilon))}{\epsilon}) + \alpha, if(i = y) \\ \alpha, if(i \neq y) \end{cases}

在这种情况下,对正确标签预测的置信分数就被限制住了, 而不是一味的最大化正确标签和错误标签的差值,这样模型就不会过于自信,从而达到预防过拟合的效果。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容