機械学習のためのデータ収集に新たな希望!?半教師学習の最前線!

3つの要点

✔️一部のクラスにラベルが付与されていないデータセットで学習する半教師学習の手法

✔️Cycle Consistencyと呼ばれる手法で仮ラベルを付与し精度を向上

✔️既存のデータセット(CIFER-10)で95%の識別精度を達成

FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence
written by Kiuyuk Sohn, David Berthelot, Chun-Ling Li, Zizhao Zhang, et al.
(Submitted on 21 Jan 2020)
Subjects: Computer Vision and Pattern Recognition (cs.CV)

はじめに

機械学習の手法は大きく分けて教師あり学習教師なし学習がありますが,それぞれ一長一短があります.教師あり学習は教師データを集める必要があり特にラベリングの作業はヒューマンパワーによるものが多いので大変時間と労力がかかります.一方で教師なし学習はクラスタリングのような限られたタスクしかできない場合が多く応用先が限られてしまいますがデータのラベリングは必要ないので前者に比べてデータ整形の手間がかからずに済みます.その2つの特徴のいいとこ取りをしようというのが半教師学習と呼ばれる技術です.

つまり,データ整形の手間をそれほどかけずに画像処理などの識別問題にも応用する試みで,今回紹介するのはその半教師学習の最新の手法です.

FixMatchとは

まず半教師学習ってなに?という方のために簡単に説明すると,,,

読んで字のごとく少ないラベリングが付与されたデータセットを用いて学習する手法です.基本的な識別器のアーキテクチャは普通の教師学習のそれと同じで,ラベルがないものに関しては近いクラスを類推することで仮のラベルを与えて学習します.当然すべてのラベルがあるデータに対する学習より精度が落ちるわけですが,如何に工夫してラベル付きデータとの類似性を学習できるかというのが大きなテーマになります.

Cycle Consistency

この研究で最もカギとなる技術はCycle Consistencyと呼ばれる技術です.ただ単にラベルがないデータを識別器で予測しようとしてもその予測結果が正しいかどうかがわかりません.そこで,その精度を上げるために元の画像に変換を加えた識別結果と元の識別結果との差も学習する項として加えます.つまり簡単に言えば,識別器が何を根拠に識別しているかをいろんな変換を加えることで,画像をそのラベルたらしめる性質を学習しようと発想です (Figure 1内のWeakly augmented とStrongly augmentedの画像).

例えば,リンゴとバナナだけを識別したければ色と形状だけ見ればおおよそうまくいくでしょう,わざわざヘタの形や表面の質感などは考慮に入れなくてもいいですよね?.しかしこれがリンゴとトマトの識別の場合,色や形状よりもヘタや表面の質感は非常に重要な情報になります.これらの違いを変換によってわざと異なる画像と比較させた場合,どの程度精度が落ちるかによって情報として取り入れるということになります.実際にCycle Consistencyを用いた研究は他にも動画への応用例や生成モデルであるGANへの応用もあり興味のある方はぜひそちらも見てみてください.

ではここから実際の実装アルゴリズムを見ていきましょう.数式が苦手な人は飛ばしてもらっても大丈夫です.

まず初めに,Figure 1にもあるようにラベルが付与されていない画像に関しては”弱い”変換と”強い”変換を行います.”弱い”変換というのは左右反転や平行移動を加えた画像で,一般的なData augmentation(データ拡張)を行う際と同じ処理を行います.データ拡張は,教師データの過学習を防ぎ高精度を達成することができるので,広く用いられている手法として有名です.大して”強い”変換というのはAutoAgumentという手法に基づいており,色反転やコントラスト調整,並進・回転などを画像に加えます.そして損失関数に以下の項を加えます.実際には(1)式のような計算を行います.ここでαが変換を行う確率関数で1項目と2項目が同じ形式に見えますが,別の変換をかけています.その画像を用いてラベルyを出力する確率モデルpmを学習するわけです.それら2つの2乗差をとることで正則化項として交差エントロピーの計算を行います.

つまるところ,Cycle Consistencyとは今までのL1やL2ノーム項による重み係数の罰則項を付加する正則化とは異なる項を追加することでより画像の変化や識別に寄与する特徴量を抽出していると言えます.

ここでpmの項をqb置き交差エントロピーを行う関数をHと置くと,以下のような(2)式により擬似ラベル(Pseudo-label)を付与します.これはFigure 1にあるように単に確率モデルから出力された確率分布のうち最大となる値が閾値τを超えた場合そのクラスを取るものをラベルとして付与する過程のことを言います.

これらの計算を行うことでラベル付きの学習を行った場合とラベルがないデータでラベルを推測する場合とで異なる2つの交差エントロピーの計算を行っていることになります.

実装とその結果

ここではベンチマークとしてCIFER-10CIFER-100,そしてSVHNを用いて実験を行っています.前者二つは乗り物や動物などのデータセットでその数がクラス数を表しています.SVHNとは”Street View House Numbers Dataset”の略でGoogle Mapから取得した住所などの番号のデータセットです.手書き文字認識のMNISTと似ていますが,実世界の画像から取得したデータでより識別が難しいことが知られています.これらはすべてラベルが付与されているデータなので,まず一部のデータに対してラベルを取り除き,半教師学習用のデータセットを生成してから学習を行っています.

実際の結果は以下のようになります.2行目のラベル数は,例えば40 labelsであれば各クラス毎に4つのデータに対してのみラベルを付与した水準になります.他の半教師学習との比較を見ても同等かそれ以上の精度を達成することに成功しています.

1枚のデータで学習

また,筆者は半教師学習の限界として各クラス1枚のラベルのみで学習するとどうなるかも考察しています.精度は 48.58%から85.32%とばらつきがあり中央値が64.28%にとどまりました.この変動の原因としてラベル付きデータの質の問題を上げており,以下のFigure 2は78%を達成した際のラベルが付与された画像で各乗り物や動物の典型的な形状をとらえた画像になっています.つまり,半教師学習においては少数のラベルを付与する際の画像のが大きく精度に影響するということがわかります.車を学習するための1枚のデータが木陰に隠れて.半分以上見えなくなっていたら学習できないのも頷けます.

ハイパーパラメータ調整

最後に,ハイパーパラメータの調整をすることでどの程度精度が変わるのかの検証も行っています.赤いラインがデフォルトのFixMatchの設定でFigure 3の(a)は,ラベルなしデータの割合が大きいほどエラーが落ちています.ηは学習率でバッチサイズとともに線形に変化させるとラベルが少ない場合でより効果を発揮します.一見するとラベルがないデータが多いほうがエラーが下がるのは矛盾しているように思いますが,実際CIFER-10などのデータセットで教師あり学習を行う場合,99%以上の精度で識別に成功します.ですので,これらの変動はあくまでラベルがないデータ同士の分布が多いほど外れ値が減少し,クラスタリングの精度が上がるからだと考えられます.また(b)は閾値τが大きいほどエラーが少なくなっていることがわかります.これはより予測確率の精度が高いもののみを学習に用いるので直感的にも理解できます.また(c)は先ほど述べた擬似ラベル(Pseudo-label)とは異なるSharpeningと呼ばれる手法を用いた場合のパラメータ変化を見たものです.最後の(d)は重みの更新率による変動を見ています.

まとめ

今回紹介したFixMatchは半教師学習の最新研究であり,画像に強い変換と弱い変換をかけてその差を学習に取り入れるCycle Consistencyと呼ばれる技術を用いることで精度を向上させることを達成しました.学習の際にはこのConsistencyは正則化項として働き,特徴量の抽出に大きな役割を果たしていると言えます.また,実装結果の議論はラベルがないデータ同士の分布を如何に学習するかというクラスタリングの性質も同様に持ち合わせている側面も見ることができました.いわば教師ありと教師なし学習のハイブリッドですが,今後どのような進化を遂げるか注目ですね.サイエンスライター募集中

この記事をシェアする