最終更新日:
メタ学習入門
こんにちは。スキルアップAI下山です。私は現在、ディープラーニングを用いた視線推定の研究に取り組んでいます。
視線推定というタスクは視線方向のアノテーションが難しいため、十分なデータを用意することが容易ではありません。
そのため教師ありデータが少なくても上手く学習できるような方法の開発が期待されています。
そこで本ブログでは、少ないデータから学習する方法の1つであるメタ学習について入門的な内容をご紹介します。
「メタ学習とは、学習の仕方を学習する方法である」というようなことを聞いたことがある方も多いかと思いますが、 この記事を通じて「メタ学習とはどういうものか?」について具体的なイメージを持っていただけたら幸いです。
1.メタ学習の位置付け
メタ学習はfew-shot学習という枠組みの⼀部に属する手法です。
few-shot学習というのは、学習時とテスト時に異なるクラスのデータが与えられるという問題設定で、数枚(a few)のテストデータを使って上手くモデルをテストデータのクラスに適応させて、学習時には無かったクラスに属するテストデータに対して正確に予測を行えるようにすることを目指す手法です。
例えば、テストではライオンとトラの分類を行いたいが、ライオンとトラのラベル付き画像は多く集められず、イヌとネコならラベル付き画像を集めることができたとします。
この場合、イヌとネコの画像で学習を行った後、ライオンとトラの画像を数枚(通常は3~5枚程度)だけ使ってライオンとトラの分類をできるようにモデルを適応させるのがfew-shot学習というものになります。
実際にはfew-shot学習やメタ学習の性能を評価する際のベンチマークとしてOmniglotというデータセットがよく用いられています。
これは平仮名、片仮名、ラテン文字、ギリシャ文字など50種類のアルファベット、1623種類の文字からなるデータセットです。
図1:Omniglotデータセット
(OmniglotのGitHubリポジトリより引用)
これを学習用とテスト用のデータに分けて、学習用データで学習した後に、テスト用のデータを数枚だけ使ってモデルを適応させた後、適応に使用しなかった残りのテスト用データに対する精度を測ることで手法の性能を比較します。
この文字認識の例の場合、メタ学習に期待されているのは、全ての文字に共通の特徴を上手く学習し新しい文字にすぐに適応できる能力を獲得する、つまり「学習の仕方を学習する」メタな学習をすることです。
2.メタ学習の具体的な方法
どのようにして「学習の仕方を学習」しているのでしょうか。
ここではメタ学習の代表的な手法であるModel-Agnostic Meta-Learning (MAML) [Finn+, ICML’17]をご紹介します。
例として先程のOmniglotデータで5クラス分類をしようとしている状況でMAMLを用いる場合の説明をします。
手順としては次のようになります。
- データセットをタスクと呼ばれるサブセットに分割する。
- ミニバッチ学習の要領でタスクの集合をサンプリングする。
- サンプリングした各タスクTiに対して手順4~手順6を行う。
- タスクTiから適応用のデータD(各クラス5枚ずつなど)をサンプリングする。
- サンプリングしたデータDを使って、通常の教師あり学習と同じように交差エントロピー誤差を逆伝播させてパラメータΘを更新する。
- タスクへの適応が上手くできているかを評価するためにタスクTiから先程のDとは別のデータD’i(各クラス15枚ずつなど)をサンプリングする。
- ミニバッチに含まれる全てのタスクについて、パラメータΘ’iのネットワークにデータD’iを入力し交差エントロピー誤差を計算し、全てのタスクの誤差の総和を逆伝播させて元のパラメータΘを更新する。
このとき、各タスクに5クラスずつ割り当て、各タスクは割り当てられたクラスの全てのデータを含むようにする。
ただし、ここでのパラメータ更新はタスク毎に適応させるためのものでありタスクTiに適応したパラメータΘのパラメータはΘ’iと表し、更新前のパラメータΘは更新しない。
手順2~7が1エポックにおける処理であり、これを収束するまで何度も繰り返します。
手順7は、「各タスクに対する適応が上手くできているか」を評価していると解釈することができます。
従って、上記の操作を繰り返すことにより、各クラス5枚ずつの小さいデータセットからそのタスクに上手く適応できるようなネットワークになっていくことが理解できるのではないかと思います。
MAMLで行っていることのイメージを下図に示します。
MAMLでいくつかのタスクに対する勾配(∇L1、 ∇L2、∇L3)でネットワークを更新することで、他のどんなタスクにも適応しやすいネットワークのパラメータを見つけ(Θ1、Θ2、Θ3はそれぞれ異なるタスクに適応させたパラメータ)ます。
図2:MAMLの学習アルゴリズムのイメージ
(参考文献[2]より引⽤)
MAMLは学習の方法に関しての提案であり、どんな構造のネットワークにも用いることができます。
このことから、名前にmodel-agnostic(モデルに依らない)という言葉が入っています。
3.おわりに
スキルアップAIでは、関連講座として「現場で使える機械学習・データ分析基礎講座」を開講中です。
本講座では、機械学習プロジェクトの一連の流れと様々なアルゴリズムの詳細を、ハンズオンを通じて学ぶことができます。
また、毎週水曜日に実践的AI勉強会「スキルアップAIキャンプ」を開催しています。勉強会では、様々な実践的テーマを取り上げ、データ分析・AI開発の実務力アップにつながるヒントをご提供します。講師が参加者の皆さんからの質問や悩みに答えるコーナーもあります。
興味がある方はぜひ参加してみてください!
4.参考文献
[2] Finn, C., Abbeel, P., Levine, S.: Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. In Proc. ICML, 2017.
【監修】スキルアップAI 取締役CTO 小縣信也
AI指導実績は国内トップクラス。「太陽光発電発電量予測および異常検知」など、多数のAI開発案件を手掛けている。日本ディープラーニング協会主催2018E資格試験 優秀賞受賞、2019#1E資格試験優秀賞受賞。著書「徹底攻略ディープラーニングE資格エンジニア問題集」(インプレス)。
配信を希望される方はこちら
また、SNSでも様々なコンテンツをお届けしています。興味を持った方は是非チェックしてください♪
公開日: