FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidenceを読んだのでメモ
はじめに
FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidenceを読んだのでメモ.
FixMatch
FixMatchは基本的にpseudo-labelingという感じ.
ReMixMatchと同様にweak data augmentationを使い,擬似ラベルを作りstrong data augmentされたデータに対するモデルの推論結果と擬似ラベルのクロスエントロピーの最小化を行う.
ReMixMatchと違い擬似ラベルを作る際にごちゃごちゃと細かいことはせず,単にをするだけ.
MixMatch,ReMixMatchと今までやってきたのはなんだったのか.
なので損失関数としてはラベル付きデータに対する教師あり損失
に加えて以下のクロスエントロピーが入る.
はラベルなしデータのバッチサイズで,
は
はstrong data augment
されたラベルなしデータ
に対するモデルの推論結果.
はweak data augmentされたラベルなしデータに対するモデルの推論結果で,
はhardな擬似ラベル.
はハイパーパラメータで,擬似ラベルを作る際にある程度信頼度が高いデータに対してのみクロスエントロピーを図るというもの.
目的関数は
となる.
ちなみに従来のconsistency regularization周りの半教師あり学習は
を学習中に適当なスケジュールで調節していたが,FixMatchは不要とのこと.
というのも
のおかげで学習初期は
は無視され,途中から徐々に効いてくるため,
を調節するのと似たような効果があるとか.
FixMatchではweakとstrongの二つのaugmentationがあるが,weakは単なるフリップとクロップだけで,strongの方はRandomAugmentとReMixMatchで使われたCTAugmentの二種類を実験したとのこと.
Additional important factors
手法の本質ではないが精度に効いたこととして,weight decayが効いた,AdamよりSGDがいい,学習率は以下のようにcosine scheduleで変化させるのが良いとのこと.
は初期学習率で
は現時点での学習の繰り返し回数,
は最大学習繰り返し数.
実験で報告した精度は学習中のモデルのパラメータを移動平均したモデルによって実現されたものとのこと.
まとめ
UDAとやっていることはほとんど変わらないはずだが(閾値と擬似ラベルの作り方の違いくらい)圧倒的に精度がいい.
後
の値は0.95とかなり大きい印象だがうまく動くものだなと.
そしてAlgorithm 1を見るとReMixMatchのように死ぬほど作り込んでた意味とはという感じになる.