MixMatch: A Holistic Approach to Semi-Supervised Learningを読んだのでメモ
はじめに
MixMatch: A Holistic Approach to Semi-Supervised Learningを読んだのでメモ. Semi-supervisedのタスクで,ラベル付きデータが少量でも効果的なアルゴリズムであるMixMatchを提案.
MixMatch
MixMatchは最近の半教師付き学習の知見を全部詰め込んだみたいなアルゴリズム. アルゴリズムの流れは擬似コードを見ればだいたい分かる.
まず,ラベル付きのデータに対し任意のdata augmentationを適用して新たなデータを作る. その後ラベルなしデータに対してもdata augmentationを適用して新たなデータを作る. ただし,ラベルなしのデータに関しては各サンプル回ずつdata augmentationをしてラベルなしデータの数を倍にする. 倍になったラベルなしのデータをモデルに入力し,その出力値をサンプルごとに平均することでラベルなしデータに対する予測ラベルを計算. 具体的にはとして計算. さらにの値を温度パラメータを使ってとしてよりエントロピーの低いラベルにする. 注意として,ここでは分類問題を考えているため,添字はカテゴリのインデックスを表す. 予測ラベルが作れたら,ラベル付きのデータとラベルなしのデータをMixUpして重み付き二乗誤差をとるといった流れ. 予測ラベルは,MixUp時のラベルなしデータのラベルとして利用する.
MixMatchにはハイパーパラメータとして温度,data augmentationの回数,MixUpの係数をサンプリングするためのベータ分布のパラメータ,MixMatchのロス(上で説明した二乗誤差)の重み係数が存在する. 温度と回数はそれぞれとしてを調整するだけでだいたいうまくいくとのこと. もハイパーパラメータサーチする際にはから始めると良いというtipsが書いてあった.
まとめ
実験結果を見る限るラベル付きデータが少ないときに圧倒的な性能を誇っている. すべてのデータにラベルがあるとして学習した場合の精度と1%前後しか変わらないのも驚き. アルゴリズム的にはInterpolation Consistency Trainingに対してmean teacher部分をdata augmentationの平均に置き換えたというような感じだが,少量ラベルでのICTの実験結果がないのでそちらも気になるところ. ICTの結果次第で,結局MixUpが強いということにもなる気はする.