PR

 一般に有能な選手は日々、大量の練習をすることで自分の身体の使い方を感覚として鍛える。そして自分の身体の使い方を研ぎ澄ませることで、他人のプレーを見る際の“審美眼”も同時に磨かれてゆくだろう。結果として他人の上手なプレーを見た際も、その動作をうまく解釈して消化し、自らの動作として再現できる。

 他人のお手本を真似て参考にするといっても、有能な選手の場合はただ漠然と眺めるのではなく、自分の身体を使った練習の経験により、どこをポイントにして見ればよいかの感覚が他の凡庸な選手よりも鋭敏になっており、より効率的に真似られるといえる。一流選手ともなれば、コーチの助言やお手本を通常の選手より素早く理解し、吸収して実践していることだろう。

 DAMLは、こうした有能なスポーツ選手の練習と似た仕組みで、one-shotでの模倣学習を実現している。具体的には、スポーツ選手の日々の練習の積み重ねに相当するものとして「meta-learning(メタ学習)」というアプローチを導入。また、練習を積み重ねることで次第に磨かれていく、他人のプレーを見る際の審美眼のようなものとして「adaptation目的関数(objective)」という仕組みを導入した。この2つがDAMLの肝となる中核技術である。

効率的な再学習を実現

 「大量の練習の積み重ね」というと、何も模倣学習やDAMLに限らず、一般のディープラーニングでも似たことが実践されていると思うかもしれない。実際、一般物体認識であれば、100万枚の画像データとラベルを揃えたデータセット「ImageNet」があり、既にさまざまな用途で使われている。

 ImageNetで学習済みのディープニューラルネット(DNN)のモデルでは、特に前段の層で画像認識に汎用的に役立つ特徴(representation)が獲得されている。このため、後段の総結合層などを用途に応じて変え、再学習(fine-tuning)させれば、さまざまな用途に使える。ImageNetのデータでプリトレーニング(事前学習)済みのモデルを、再学習の際の重みパラメータの初期値として使えば、用途に応じた画像認識システムを効率的に組み上げることができるようになった。

 こうしたImageNetなどによるプリトレーニングと今回のDAMLは何が違うのか。基本的には、大量のデータで事前学習しておき、そこで得られた重みの初期値を用途ごとにfine-tuningしようというアイデアは、DAMLも通常のプリトレーニングも同じである。DAMLが特徴的なのは、fine-tuning時の学習効率とスピードを極力高められるような特別な仕組みを設けている点である。この仕組みにより、わずか1サンプル、one-shotでのfine-tuningを可能とした(図3)。ImageNetなどでプリトレーニング済みのモデルを再学習させる際は、そうした仕組みがないことから、一般に2桁以上多い千枚ほどのサンプルが必要だ。

図3 再学習がわずか1サンプルで済む
図3 再学習がわずか1サンプルで済む
DAMLによる模倣学習は、DNNの重みを何らかの学習データで初期化しておくプリトレーニング(事前学習)の一種と見なせる。ImageNetなどのデータでプリトレーニングさせた場合、fine-tuningのための再学習には数千枚のデータが必要だが、DAMLではわずか1サンプルのデータだけでfine-tuningが完了する。(写真:UCB)
[画像のクリックで拡大表示]

審美眼となる専用の目的関数

 実は、このDNNのfine-tuningのスピードを極力高めるための特別な仕組みというのが、前述のスポーツ選手の練習の例で説明した「他人のプレーを見る際の審美眼」、つまりadaptation目的関数(objective)である。この仕組みの有無が、通常のプリトレーニングとDAMLの決定的な違いだ。

 DAMLにおけるadaptation目的関数の役割は、おおむね次のようなイメージである。いざコーチや監督からお手本を示された際、1回見るだけでその動作のポイントやコツを瞬時に理解できるよう、普段から他人のプレーを見る際の審美眼も磨いておこうというものだ。そうすれば、コーチの動作のどこに着目すべきか、コーチの身体のどの部分にどのような力が働いていそうか、身体の軸はどのように傾き回転しているか、といった有能な選手ならではの良い視点を持てるようになる。自分の身体を使った練習のみに固執するのではなく、他人のプレーを見る眼も鍛えようという発想だ。

 通常のDNNのプリトレーニングでは、大量の学習データを使ってひたすらDNNのパラメータを学習させる(鍛える)のみであり、後々のfine-tuning時に役立つ審美眼を鍛える仕組みはない。

 これに対し、DAMLではDNNを学習(プリトレーニング)させる際、DNN本体のパラメータを更新するだけでなく、DNNの外側に“審美眼”専用の目的関数を置き、それも同時に鍛えて学習させる。通常の学習よりも一手間増え、余計なものを抱えて学習することになるが、その結果得られた審美眼専用の目的関数が“鋭敏なセンサ”となり、いざコーチのお手本を見た際に、自分がやるのであればどこを直せば良いか(adaptationの方向と量)を瞬時に予測できるようになる。

2段階で学習するDAML

 そのような有用な審美眼となるadaptation目的関数を、なぜ実現できるのか。DAMLでは、巧妙な仕組みにより半ば無理矢理に、この目的関数を学習させている。以降では、DAMLで実際に使われているDNNの構成を見ながら、詳細を解説しよう。