Learning by Association - A versatile semi-supervised training method for neural networks
icoxfog417 opened this issue · comments
一言でいうと
ラベルなしデータを活用した学習方法の提案。同じラベルのデータは当然近いベクトル表現になるはずなので、例えば(数字の)1とラベルされた画像のベクトル表現→近い表現をラベルなしから探す→さらにそれに近いものをラベルありから探す=1とラベルされた画像に戻るはず、という仮定から学習を行う
下図では、「4」のラベルデータと近いベクトル表現をラベルなしの表現から探索し、それに近いものをラベルありの方を探した場合、「4」のラベルの画像に戻ってくるはず、というものを示したもの。これを"Association"による学習としている
論文リンク
https://arxiv.org/abs/1706.00909
著者/所属機関
Philip Häusser, Alexander Mordvintsev, Daniel Cremers
- TU Munich
概要
新規性・差分
手法
Lossの定義は以下の通り
まず、事前にバッチサンプル間の遷移確率を内積(バッチ間の距離)から計算する。これを元に、以下3種類のlossを合計する
- Walker Loss: ラベルAから行って戻ってくる場合、その遷移確率はラベルAであるデータならどこでもOKでそれ以外はNGという一様分布が好ましくなる。実際の遷移確率(P)と理想上の一様分布との差異をWalkder Lossとする
- Visit Loss: 簡単なラベルばかり選んで行って戻ってきてもよくないので、行き先は全ラベルから均等に(一様分布に沿って)選ぶことが好ましい(正則化の効果を狙っている)。実際のPと理想上の一様分布との差異をVisit Lossとする
- Classification loss: 通常のクラス分類の誤差
結果
MNISTでは遅れをとったものの、 SVHNではSOTA。なお、SVHN->MNISTの転移学習をしたところ0.51を達成しているので、効果的なベクトル表現を学んでいることが推察される。
Visit Lossの係数を変えて検証。
コメント
特にネットワークの工夫をすることなく、最後のsoftmaxの一個手前のベクトル表現を利用してlossを定義できるのは大きいと感じた。