尾形哲也先生インタビュー(その3)

ディープラーニングの先へ

【ーー】  さきほどおっしゃったディープラーニングだと間違い方が予測できないというのは、重要な限界、注意点になるでしょうか。そのモデルがわれわれにはよく分からないものであるがゆえに、どうしても、画像認識における敵対的事例のようなものが必然的に出てきてしまうだろうと。
【尾形】  そうですね。従来型の説明可能なAIでセーフティーネットを作りましょうとか、ディープラーニング中はどんな表現になっているかを解析しよう、というアプローチがあります。もう一つが、人間の学習の仕方を意識したモデルを作ろうというアプローチです。僕は、最後の3番目のアプローチに興味があります。これは本当に大変ですが、まさにこれからの分野だと思っています。
【ーー】  3番目の考え方は非常に興味深いので、もう少しくわしく説明していただけますでしょうか。
【尾形】  物を見る(区別する)ということを考える前に、インタラクションをどうやって生成するかというモデルを作りましょうという考えです。そのキーワードとして「予測」という言葉が出てきます。
 昔から、「われわれは実時間で世界を予測しながら動いている、そして、その予測の修正を行いながら知覚というものが出来上がっている」という概念は数多く提案されてきたわけです。最近であれば、Karl Friston先生の自由エネルギー原理の話はまさにそういうことだと思っています。知覚と運動は予測誤差を最小化するべく動的に変化する。この理論には身体が入ってくるので、我々認知ロボット研究者から見て、とてもいいモデルになっています。
 神経回路で予測系を作り、実時間で予測誤差を小さくする。リアルタイムのバックプロップを使うこともありますし、我々の現在の実装だと、ニューラルネットワークの「引き込み」を使っています。過去の自分が覚えた感覚と運動のフローがアトラクターとして表現され、これが現実世界に引き込まれる。すると運動が変わることで実世界のほうも、そのアトラクターに引き込む。予測する未来の感覚は生成されるけど、それは実際の知覚、実際の未来とはちょっと違う。自分の都合のいい知覚イメージを作りながら、運動を調整する。
 2016年にロボットでタオルを畳むデモを実現しました。タオル畳みを学習するときには、3、4種類のタオルを、ちょっとしわをつけたり、位置を変えたりしながら、畳むというのを50回程度、人が遠隔操縦で学習させる。学習の後、学習していない位置にタオルを置くと、未来を予測している知覚の中のタオルはエッジがぼやける。現実に見ているタオルを知覚しているのではなくて、ぼやけたエッジになる。未学習なので。でも、それでも畳める。つまりその仮想の知覚がモデルと実世界の引き込みで生成され、腕の動きも調整されて畳む。
 本を置くと、本も未学習なので、タオルになります。色がちょっと変わったタオルが仮想的に知覚される。その知覚のまま畳んでいきます。世界を見るときに、見たままを見るのではなくて、自分の中にもともと持っている世界に対する強い予測が先にあって、現実世界と折り合いをつけた感覚と運動のイメージが刻々と作られていく。
 恐らく人間も似たようなことをしていると思っています。茂木先生の言うアハ体験が典型です。見えているけど見えない、自分と身体的な関わり合いがない、自分の行動の可能性に対して影響を与えない知覚は見えなくなる。都合のいい仮想の知覚が出来上がって、それで行動ができる。この都合のいい知覚を作って動くということがすごく大事だと思っているのですが、普通のロボット研究者には受け入れづらいだろうと思っています。やっぱり世界は生のセンサー値を見るべきだという立場を取られる。でも全部をリアルに見ちゃうと処理できなくなる。すべての誤差をモデルの学習(最適化)で修正しなきゃいけない、もしくはフィードバックで処理しなくちゃいけなくなる。やはり処理できる、処理しなきゃいけない誤差と、処理できない、処理する必要がない誤差がある。そういう誤差にモデルの中で仮想イメージで対応しながら体の動きも変えていく。
 Perceptual Inference、Active Inferenceと呼ばれるような概念は、いま言ったような話に関係があるのではないかと思っています。こういう話は、もともと谷さんが、1990年代から小さい神経回路モデルとロボットを利用して、やっていらっしゃる仕事です。それを改めて私なりにそのエッセンスを解釈し直して、大型のロボットとディープラーニングで実装し、複雑なタスクをさせてみた。その結果として、ドアを開けたり、紐を結んだり、食材を扱ったり、いろいろなことをやっているわけです。
 誤差をリアルタイムに埋める、というのは、フィードバック制御と似ています。ただ「制御」の問題設定では、世界で実現しなければいけない軌道(物理状態)を、人間がトップダウンで与え過ぎてしまう。そこが絶対の基準になるのですけど、我々の話は、モデルの予測イメージに沿うように、実現する軌道をリアルタイムに変える、ということになります。
 ディープラーニング自体は機械学習のモデルで、予測学習といった時にも機械学習の枠組みで捉えられがちです。でも実は先に述べたように予測学習の中では、最適性は求めない。機械学習では、たくさんデータを集めてきて、どんなデータでもそれなりに認識率が高い強いモデルを作ろうとする。世界に対して完璧に応えたい。でも、実際は多分無理で、実世界と自分が思っているイメージには不可避の誤差がある。その誤差を許容できるように学習ができればいいのですけど、時間圧がある状況では学習までできない。そこで、都合のいいイメージをその場その場で作りながら、世界とインタラクションする。
 学習するまで行く、記憶に残るということが多分、意識に上がるということだと思っています。誤差が大き過ぎると記憶に残さないといけないので意識に上がる。でもふだんはほとんど全然気づかずに、そのずれをずれたまま許容しながら生活している。僕らのモデルで、ロボットにタオル畳とか、粉体秤量とかやっていますけど、あれは引き込みを使っています。だから、誤差はあるのですけど、学習させるところまでは行ってない。将来的には引き込むだけじゃなくて、ずれを積極的に利用しながら知覚状態、ひいては記憶を変えるモデルにできたらいいなと思っているのですけど難しい。人間ってすごいなと改めて思っています。

【ーー】  いまのお話も、やはりディープラーニングと人間の学習には、かなり根本的なところで、原理に違いがあるというお話ですね。
【尾形】  そうですね。どうしても機械学習という枠組みは完璧なモデルを作る、与えられた問題に応じた学習データを最大限に活用して、程々間違えない最適なモデルを作る、という発想です。けれど、実際の人間はずっとオープン(世界が開いている)、だから、最適といっても何が最適なのかが分からない。だから、現実にはモデルのエラーはある、モデルは不完全である、ということことを前提に、その状況を受け止められる機構のほうが大事になる。モデルの誤差をどうやって、実時間で解消するか、「もがく」みたいな感じです。解消し切れなくても解消し切れないまま動く、そういうことをやらないと実世界では動けない。多分、人間もそんなことしていると思っています。
【ーー】  そういう意味では、実時間で自分の行動を導くのに使えるモデルであれば、早く使えるもののほうがよいと。
【尾形】  はい。おっしゃるとおりです。ディープラーニングにしても、そういう使い方のほうが、少なくともロボットみたいなシステムには向いている、と思っています。もちろん良い学習は大事ですけど、あまりチューンアップして最適化しちゃうと融通が利かないモデルになるので、いかに実世界への適応性が高いかも同時に評価しなきゃいけないなと思っています。
【ーー】  いま伺ったお話からすると、普通のフィードフォワードのニューラルネットワークではなくて、むしろ生成方向の流れもあるようなものが、むしろ人間の脳の働きに近いように思われます。
【尾形】  そうですね。感覚と運動が同時に予測されながら生成される。感覚から運動が作られるという方向もありますが、運動が感覚を作るという方向もある。その2つが相まって、ダイナミックに動き続けるモデルであることが重要かなと思います。
【ーー】  私の予測した世界と実際のインプットのずれをチェックする、予測誤差最小化のようなモデルで言われていることですね。
【尾形】  おっしゃるとおりです。そういうことで、誤差を積極的に小さくしようとするときには、本当はもっといろいろな仕組みを入れなきゃいけないのですが、いま実装できている(タオル畳みなどを行うロボットに組み込んでいる)のは、リカレントニューラルネットワークで獲得したアトラクタの引込みで、感覚と運動の予測を調整する方法です。
【ーー】  いまの深層学習をもう一段階、アップデートしようとしたら、そのような予測的な側面が重要になるわけですね。
【尾形】  いま、「深層予測学習」ということで提唱しています。深層強化学習はもちろん重要なのですが、シンボリックな報酬やゴールが与えられる手前に、自分の持っているイメージとのずれを意識することも重要だと考えているのです。強化学習はその上に来るシンボリックなゴール、世界の抽象的な表現を手に入れることで可能になる。しかし、それを手に入れるのは結構難しいことだと思っていて、その前に、そういう予測系の話をしたいなと思っています。
【ーー】  そういう意味では、人間、あるいは生物が持っているような知能と同じようなタイプの知能を手入れるには、ディープラーニングだけでは道具立てが足りないだろうと。身体性ももちろんそうだし、いまおっしゃっているような予測の働きをさらに活用するというようなことも必要になってくると。
【尾形】  はい。確かにディープラーニングは非常に強力なツールであることは間違いないです。けれど、使い方や見方を変えて、もうちょっと世界とのインタラクション、もしくは実時間性のような、時間圧に耐えながら動くシステム、そういう発想が必要だと思います。
 情報系と機械系の大きな違いのひとつは、機械系の人は制御をやるので、時間圧にすごく敏感なことです。例えば、線形近似をした軽いモデルで、実世界の状況にフィードバックで合わせながらとにかく早く安定させたい、というのがあります。ところが、情報系では、1か月、2か月、1年かけてでも、十分なデータを集めて最適な大きい統計モデルを手に入れようとする。一旦、完璧な(最適な)モデルが手に入ってしまえば、入力から最適な出力が即座に得られる。だから、時間圧という概念はほぼない。ここはやっぱり、2つの世界の違いですね。時間圧の考え方が全然違う。
 人間は予測をするべき状況ではかなり短時間で実行しているけれど、同時に、すごく長期的なイメージを持つこともできる。ここがさっきの言語ともつながってくる話だと思っているのですが、何で遠い未来を意識できるようになるのだろうと。おそらく動物から人間にぽんと飛ぶ、すごいところですが、そこをやる前にまず実世界とのインタラクションが十分にできてないので、まずそこをちゃんとやりましょうというのが今の自分の立場ではあります。
【ーー】  いまの対比は非常に興味深くて、言ってみれば、生物としての人間の側面というのは、エンジニアが注目している時間的な制約が強い側面で、他方で、やはり人間ならではのより知的な側面というのは情報系の人が着目している側面だと。
【尾形】  という理解ですね。
【ーー】  人間の場合は、それを併せ持っていると。
【尾形】  そうです。矛盾なくやれる。これがすごい。全然違うことのように思えるのに。何が起こっているのだろうとずっと思っています。
【ーー】  記号ベースのアプローチと身体ベースのアプローチは、やはりそれぞれ強み弱みが違うということでもあるわけですね。
【尾形】  そういうことですね。おっしゃるとおりだと思います。
【ーー】  でも、それがどこかでうまくつながると。人間がそうなっている以上は。
【尾形】  つながらないとおかしいはずです。ただ、一朝一夕じゃないだろうと。僕はやっぱりボトムアップでつなげたいのですけど、同時にギャップもすごく意識はしています。

その1
その2
その4に続く