1. ラベル平滑化 (Label Smoothing) とは [ 概要]
ラベル平滑化 (Label Smoothing)とは,ディープニューラルネットワークむけの,クラス識別損失に対する正則化手法の1つである [Szegedy et al., 2016].ラベル正則化では,one-hot符号化されたハードなラベルの代わりに,ノイズを加えたソフトなラベルで学習する.これにより学習のターゲットであるハードラベルへの過学習を防ぐことができる.
この記事では,ラベル平滑化の仕組みや意義について述べ(2節),その後,ラベル平滑化の仕組み・効能の解釈や,その後の展開について触れる(3節).
ラベル平滑化では,CNNなどの出力層(クラス信頼度のsoftmax確率)を,交差エントロピー損失関数(負の対数損失)を用いてよって学習する際に,まず負のエントロピーを正則化項として加える.これにより,$\{0 ,1\}$ だけで構成される「ハードな」正解のラベルに対して,パラメータ$\epsilon$の割合だけハードラベルから差し引いた確率値を,全クラスに分配して小さなノイズ値として追加する.すると,元のハードなsoftmax確率の変わりに,「滑らかな」ソフトラベル(ラベル確率ベクトルの教師ラベル)に代替させて学習できる.そのおかげで,ハードラベルへの過剰適合を防ぐことができるという仕組みである.
ラベル平滑化は,Inception v3の論文 [Szegedy et al., 2016] の一部として提案された.その後は,代表的なCNNバックボーンに用いられたうえに,NLPでも各種seq2seq with attentionや,後継モデルの Transformer [Vaswani et al., 2017] で用いられており,重要な技術であると言える.
2. ラベル平滑化によるCNNの正則化
$K$クラス識別CNNの学習をおこなう際に,ラベル平滑化では,元の正解の「ハードラベル」(図1-左上)から,$\epsilon$ (デフォルトは0.1)の割合だけ差し引いた確率値を,全$K$クラスのクラス信頼度に分配して加算し,「平滑化されたラベル(図1:右)」に入れ替える(図1).
この入れ替えたラベルで学習することにより,出力分布がone-hotベクトル型の分布へと,過剰適合しないよう,正則化した状態でCNNを学習することができる.
2節では,2.1節でまずラベルの分布を均一分布に差し替える意味を説明する.そのあと2.2節では,均一分布を用いてどのようにクロスエントロピー損失を正則化するかみていきたい.
2.1 ラベルの分布を,滑らかなものに入れ替え.
$K$クラス識別のためのディープニューラルネットワークに対して,正解ラベルの各クラス$k$の信頼度ベクトル(softmax 関数 [活性化関数])を$\bm{y} = (y_1,y_2, \ldots, y_k, \ldots, y_K )$とし,$y_k \in \mathcal{0,1}$ は2値のどちらかで正解ラベルが与えられている.したがって,正則化を行わないと,正解のone-hotベクトル$\bm{y}$ に対して,モデル予測値が過学習してしまいがちである.
そこで,ラベル正則化では,各クラス$k$のラベル$y_k$を,平滑化されたラベル確率 $y_k^{LS}$と入れ替えた状態でネットワークを学習する(図1).これを,負のエントロピー項を使用した損失関数の正則化により実現する(2.2節).
具体的には,$(1-\epsilon):\epsilon (\epsilon \in [0,1])$の割合で,任意のノイズ分布 $u(k)$を,クラス信頼度分布の,各クラス信頼度のラベルに加えることで,ラベルを変化させる(図1):
\[
y_k^{LS} = (1 – \epsilon) y_k + \epsilon u(k) \tag{2.1}
\]
ここでsoftmax関数により推定したラベルの正解ラベルが$y_k^{LS}$であるので,$\sum_{k=1}^{K} y_k^{LS} = 1$ となるように,式(2.1)は設計したい.
[Szegedy et al., 2016]では,$u(k)$を均一分布(uniform distribution)$\frac{1}{K}$に設定した,以下の$y_k^{LS}$を用いるラベル平滑化を提案した:
\[
y_k^{LS} = (1 – \epsilon) y_k + \epsilon \frac{1}{K} \tag{2.2}
\]
2.2 ラベル平滑化の損失関数
ラベル平滑化では,平滑化ラベル(式(2.1))を正解ラベルとすることで,以下の交差エントロピー損失$\mathcal{L}$をもちいてネットワークのパラメータ$\theta$の最適化を行う:
\begin{align}
\mathcal{L}(\theta)
&= – \sum_{i=1}^N \sum_{k=1}^K y_k^{LS} \log p_{\theta}(\bm{y}^{(i)} | \bm{x}^{(i)}) \\
&= – \sum_{i=1}^N \sum_{k=1}^K [ (1 – \epsilon) y_k + \epsilon u(k)] \log p_{\theta}(\bm{y}^i |\bm{x}^i) \tag{2.3}
\end{align}
この損失関数を以下のように変形すると,2つのエントロピーの重み付き和(「(交差エントロピー) + (重み$\epsilon$) x (正則化項)」)として解釈しなおすことができる:
\begin{align}
\mathcal{L}(\theta)
&= – \sum_{i=1}^N \left\{(1 – \epsilon)\left[ – \sum_{k=1}^K y_k \log p_{\theta}(\bm{y}^i | \bm{x}^i) \right]+ \epsilon \left[ -\sum_{k=1}^K u(k) \log p_{\theta}(\bm{y}^i | \bm{x}^i) \right] \right \} \\
&= – \sum_{i=1}^N \left[(1 – \epsilon) H_i(y ,q_{\theta})+ \epsilon H_i(u,p_{\theta})\right] \tag{2.4}
\end{align}
この式(2.4)をみると,正解ラベルで計算した交差エントロピーに,$(1-\epsilon):\epsilon$の割合で雑音ラベル $u(k)$による確率を正則化項として加える構成で学習することが,改めて理解できる.重みは$\epsilon = 0.1$程度から初めて,自分で探索し調整する.(図1は,$\epsilon = 0.2, K= 6$のラベル平滑化実施例を図示したもの)
2.3 信頼度ペナルティの論文での実験
ラベル正則化の,派生の提案である 信頼度ペナルティ(confidence penalty) [Pereyra et al., 2017] の研究では,比較対象の旧来手法のラベル正則化も用いて,各代表的モデルについての網羅的な実験が行われた.
具体的には,画像認識CNNへの実験に限らず,言語モデル(RNNLM)や機械翻訳(seq2seq with attention)[Wu et al., 2016],音声認識などにおいて,ラベル平滑化の有効性を試す実験が行われた.
またラベル平滑化の提案 [Szegedy et al., 2016] では,クラス信頼度の正則化項のPriorに,均一分布をもちいていたが(2.1節),[Pereyra et al., 2017] の実験では,予測モデルがLSTM言語モデルの場合は ユニグラム(unigram, 1-gram)をPriorとして用いたラベル平滑化の実験もおこなわれた.
つまり,[Pereyra et al., 2017] では,多くのタスクでラベル平滑化が,均一分布PriorとユニグラムPriorの2種類で実験されているので,(提案手法の信頼度ペナルティの性能だけでなく) ラベル平滑化の性能をまとめて俯瞰できる意味で,参考となる研究である.
3. 解釈やその後の展開
3.1 データ拡張との比較.
ラベル平滑化と同様に,交差エントロピー損失の弱点である「ノイジーなラベルへの弱さ」や「周辺確率がひどくなる場合がある」に対抗できる汎化性能向上テクニックとして,データ拡張(data augmentation)が挙げられる.
Mixup [Zhang et al., 2018] などのデータ拡張では,複数のデータサンプル(入力画像)を混ぜて合成することにより,データの分布を増やすことが多い.一方でラベル平滑化では,出力のクラスラベルの(主にsoftmax)分布に対して正則化をおこなう仕組みである(正則化であるが,もとい平滑化によるラベルノイズ削減である).
近年のCNN学習では,データ拡張とラベル平滑化は併用することが多い.
3.2 Noisy Labelsへの対抗手段として
近年,ノイジーラベル(Noisy Labels)への対抗手段の1つとしても,ラベル平滑化がよく用いられる.
3.2.1 音響系列ラベル付け問題での活用
近年のEnd-to-Endな音声認識や音響イベント検出(sound event detection)などの,「音声・音響波形を入力とする各問題」におけるラべルの不安定さに対処して,モデルの汎用性を向上させる手段の1つとして,ラベル平滑化がよく用いられる[Chorowski et al., 2017], [Karita et al., 2019].
音声認識や音響イベント検出では,出力の系列ラベルにおいて,ラベルフレーム間の境界時刻をきちんと区切りずらく,曖昧になりやすい.われわれの話す日本語では,音素ラベルクラスもよく曖昧になる.音素やサブワードを最小分割単位に用いることも多くなってきた,近年のEnd-to-End音声認識のラベルは,日本語音声だと特に「ノイジーラベル(Noisy Labels)」であることが多いので,ラベル平滑化を用いて対策することが多い.
3.3 ラベル平滑化の分析
ラベル平滑化は,教師あり学習のCNNやseq2seq,Transformerなど,最先端のモデルで広く使用されてきた.Inception v3 の論文で提案後,「正則化以外にいつ有効なのか」が理論的に詳しく解析されないまま広く使われていた.
そこで [Müller et al., 2019] では「ラベル平滑化が(ディープモデルを)いつ助けているのか?(When Does Label Smoothing Help?)」を探った.
この論文では,研究の結果,以下の3点で有効性あるいは悪影響が見られると主張し,可視化と実験検証によって,それらを実証した:
- 出力層手前の層の表現が,クラスごとに密集したクラスタにできる:正解クラス確率と不正解クラス確率の距離が,すべて$(1-\epsilon)$となるよう学習するので,クラスごとにクラスタ化される.
- 陰な(implicitな)モデルのキャリブレーション効果がある:ECE [Guo et al., 2017]で測定すると,ラベル平滑化にはキャリブレーション効果が認められることがわかった.
- 知識蒸留(Knowledge distillation)では悪影響あり:Teacherの持っていたクラス確率情報のうち,値は小さいけど各値は多様である「不正解クラス確率」を均等な値にして確率分布全体の形状を平坦にしてしまい,studentがそのTeacherの持つ重要な情報を受け取れない.
我々は,ResNet や Transformer などの学習の際に,ラベル平滑化を用いるわけであるが,それが何に効いているかや,逆に何を邪魔しているかまで考えたいひとは,上記3点は参考になる.
4. ラベル平滑化のまとめ
ラベル平滑化は,クラス識別CNNのsoftmax出力の分布をなめらかにさせる正則化項である.当初はCNN向けに提案されていたものだが,RNN,RNNLM, seq2seq with attention, Transformerなど,「クラス識別と系列ラベリング問題」の教師ありDNNの学習において,正則化目的で広く用いられている.
参考書籍
- 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之,講談社,2022.
- 10.3.3 ラベル平滑化 (p226)
- 深層学習による自然言語処理(機械学習プロフェッショナルシリーズ) 坪井祐太, 海野裕也, and 鈴木潤. 講談社, 2017.
- Deep learning for NLP and speech recognition Kamath, Uday, John Liu, and James Whitaker. Vol. 84. Cham: Springer, 2019.
References
- [Chorowski et al., 2017] Chorowski, J., Jaitly, N.: Towards better decoding and language model integration in sequence to sequence models. In Interspeech, 2017.
- [Guo et al., 2017] C. Guo, G. Pleiss, Y. Sun, and K. Weinberger. On calibration of modern neural networks. In ICML, 2017.
- [Karita et al., 2019] S. Karita, N. E. Y. Soplin, S. Watanabe, M. Delcroix, A. Ogawa, and T. Nakatani, “Improving Transformer-based end-to-end speech recognition with connectionist temporal classification and language model integration,” In Interspeech, 2019.
- [Müller et al., 2019] Rafael Müller, Simon Kornblith, and Geoffrey Hinton. When does label smoothing help? In NeurIPS, 2019.
- [Pereyra et al., 2017] Pereyra, G., Tucker, G., Chorowski, J., Kaiser, Ł., and Hinton, G. Regularizing neural networks by penalizing confident output distributions. In ICLR Workshop, 2017.
- [Szegedy et al., 2016] Szegedy, C., Vanhoucke, V., Ioffe, S., Shlens, J., and Wojna, Z. Rethinking the inception architecture for computer vision. In CVPR, 2016.
- [Vaswani et al., 2017]A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, A. u. Kaiser, and I. Polosukhin. Attention is all you need. In NeuIPS 2017.
- [Wu et al., 2016] Yonghui Wu, Mike Schuster, et al. Google’s neural machine translation system: Bridging the gap between human and machine translation. arXiv preprint arXiv:1609.08144 2016.
- [Zhang et al., 2018] H. Zhang, M. Cisse, Y. N. Dauphin, and D. Lopez-Paz, “mixup: Beyond empirical risk minimization,” in ICLR, 2018.