半教師あり学習の概要と研究事例

こんにちは。スキルアップAI編集部です。

視線推定というタスクは視線方向のアノテーションが難しいため、十分なデータを用意することが容易ではありません。 このようにデータが不足する場面では、教師ありデータが少なくても上手く学習できるような方法の開発が期待されています。
そこで本ブログでは、教師ありデータに加えて教師なしデータも活用して学習する方法である半教師あり学習について、深層学習を用いた分類問題の場合に限定して概要と最近の研究事例をご紹介します。

<目次>
1.半教師あり学習の概要
2.最近の研究事例
3.おわりに
4.参考文献

# 1.半教師あり学習の概要
半教師あり学習の手法の基本的なアイデアに**consistency regularization**と呼ばれるものと**entropy minimization**と呼ばれるものの2つがあり、多くの手法はこの2つのいずれか、あるいはこの2つの組み合わせとして理解することができます。

## consistency regularization
1つ目のconsistency regularizationというのは、「入力にノイズが乗っていても、そのときの出力は、入力にノイズが乗っていないときの出力と同じになるべき」という考えに基づいた方法で、データ拡張などの手法により入力を変化させ、変化前の入力と変化後の入力のそれぞれに対する出力の間の差を最小化するように正則化する手法です。
入力にノイズが乗る前と乗った後で出力が⼀貫するように正則化を行うのでconsistency regularizationと呼ばれます。
この正則化項の計算にはラベルが必要ないので教師なしデータに対してもこの正則化項を計算することが可能で、通常の教師あり学習で用いる交差エントロピー誤差などにこの正則化項を足し合わせて誤差逆伝播法によりニューラルネットの重みを更新します。このconsistency regularizationは2016年にSajjadiらによって初めて提案されて以来、データ拡張の仕方を工夫したものなど様々な派生が登場しています。

## entropy minimization
2つ目のentropy minimizationというのは、「決定境界は特徴空間上でデータが密集しているところを通るべきでない」という考えに基づいた手法で、これを言い換え「ニューラルネットの出力は決定境界から遠くなる」ように学習する手法です。ニューラルネットの出力を決定境界から遠ざけることは、出力のエントロピーを小さくすることで実現されるのでentropy minimizationと呼ばれています。図1に示すように、エントロピーを小さくすることは、モデルの予測の信頼度を高くすることを意味します。
<img width="600" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/a56504b4-d2a4-2e89-3137-9da4025930e9.png">
図1. entropy minimizationのイメージ

entropy minimizationの手法では2013年にLeeらによって提案されたPseudo-Labelという手法が代表的であり、以降の様々な手法でも要素技術として用いられています。Pseudo-Labelという手法では、教師ありデータで事前学習したモデルに、教師なしデータを入力した場合の出力のうち、ある程度自信を持って予測しているものについてニューラルネットの出力を1-hot化して擬似ラベルを作成し、この擬似ラベルを用いて通常の教師あり学習と同じように学習します。図2にも示すように、1-hot化した擬似ラベルに出力が近づくように学習することで、出力のエントロピーは小さくなるのでentropy minimizationの手法に分類されます。
<img width="600" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/c73f0069-332b-7b2d-8f9b-6a5e9a562818.png">
図2. Pseudo-Labelのイメージ

# 2.最近の研究事例
最近の研究事例として2020年にSohnらにより提案されたFixMatchという手法をご紹介します。
FixMatchは consistency regularizationとentropy minimizationを組み合わせた手法であり、教師ありデータが非常に少ないケースでも高い精度を達成できることが示されています。
<img width="600" alt="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/aa25837f-6388-e061-3ec7-750a599d38eb.png">
図3. FixMatchの概要
(参考文献[3]より引用)

手法の概要は図1に示すようになっており、以下の流れで学習します。

1. 入力画像に対して、反転などの単純な弱いデータ拡張と強化学習を用いた強力なデータ拡張の2通りのデータ拡張を行う
2. 弱いデータ拡張を行った入力に対する出力から擬似ラベルを作成する
3. 強いデータ拡張を行った入力に対する出力と2.で作った擬似ラベルの間でconsistency regularizationを行う

論文ではCIFAR-10という10クラス分類のベンチマークデータセットに対し、1クラス4枚の合計40枚の教師ありデータと、多数の教師なしデータを使って学習することで90%近い正解率を達成できることが示されており、少ない教師ありデータでも高い精度が達成できることがわかります。

# 3.おわりに
スキルアップAIでは、関連講座として「[現場で使えるディープラーニング基礎講座](https://www.skillupai.com/deep-learning/)」を開講中です。
本講座は、ディープラーニングの基礎・原理を理解し、ディープラーニングを支える最先端の技術をプログラミングレベルでマスターすることをゴールとした講座です。グループワーク・ハンズオンなどを取り入れ、アクティブラーニングを実践しています。

# 4.参考文献
[1] [Sajjadi, Mehdi, Mehran Javanmardi, and Tolga Tasdizen. “Regularization with stochastic transformations and perturbations for deep semi-supervised learning.” In Proc. NIPS, 2016.](https://papers.nips.cc/paper/2016/file/30ef30b64204a3088a26bc2e6ecf7602-Paper.pdf)
[2] [Lee, Dong-Hyun. “Pseudo-label: The simple and efficient semi-supervised learning method for deep neural networks.” Workshop on challenges in representation learning, ICML, 2013.](https://www.kaggle.com/blobs/download/forum-message-attachment-files/746/pseudo_label_final.pdf)
[3] [Sohn, Kihyuk, et al. “Fixmatch: Simplifying semi-supervised learning with consistency and confidence.”In Proc NeurIPS, 2020.](https://papers.nips.cc/paper/2020/hash/06964dce9addb1c5cb5d6e3d9838f733-Abstract.html)

# 25卒向け！AIエンジニアになるための長期インターンプログラム参加者募集中！
25卒学生向けに、AIの基礎を学びながら就活も一括サポートする無料カリキュラムを提供しています。
修了するとE資格の受験資格も獲得できるプログラムとなっています！

<img width="700" alt="長期インターン" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/889700/bfce4c26-1ebe-c54d-bacb-e804048a7a08.png">

**特長①AIエンジニアやデータサイエンティストの基礎が身に付く**
AIジェネラリスト基礎講座や機械学習のためのPython入門講座など、市場価値向上のための基礎を習得。

**特長②AI・データ分析領域の優良求人を紹介**
非公開求人や選考直結型インターンをご紹介し、早期内定の獲得をサポート。

**特長③長期インターンプログラム専用の学生コミュニティ参加可**
学生同士で就活情報をシェアしたり、学習を進めるうえでアドバイスをしあったりできるコミュニティに参加可能。

＞＞[長期インターン詳細](https://bit.ly/3pXW5JM)

☆☆☆
スキルアップAIのメールマガジンでは会社のお知らせや講座に関するお得な情報を配信しています。
配信を希望される方は[こちら](https://share.hsforms.com/1_XlReV-4Te-zcxCl9lhffA2mtef)

また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
Twitterは[こちら](https://twitter.com/SkillupAi)
Facebookは[こちら](https://www.facebook.com/skillupai)
LinkedInは[こちら](https://www.linkedin.com/company/skillup-ai)