クレイグ・スミス(Craig S. Smith)氏による、ジェフリー・ヒントン(Geoffrey E. Hinton)氏へのインタビューの続き(3)をお届けする(文中の用語説明や訳注はいずれも日経クロステック)。
スミス氏: Nature、確かNatureだったと思うのですが、脳における学習機能としてバックプロパゲーションのアイデアを復活させるという論文がありました。活動の違いによる神経勾配表現、NGRAD(Neural Gradient Representation by Activity)についての論文です。これについて話してもらえますか?
ヒントン氏: 神経学者は、バックプロパゲーションのようなことを脳ができるかどうかについて非常に懐疑的でした。大きな問題の1つは、脳が勾配をどうやって伝えるかということです。バックプロパゲーションでは、誤差関数が何であれ、誤差の勾配に比例して重みを更新する必要があります。NGRADでは、神経活動の変化率によって誤差を表現しています。この手法の良い点は、神経活動が高まったり、低下したりすることで誤差がプラスとマイナスの両方の符号を取り得ることです。それは、勾配に基づく学習ルールが、スパイクタイミング依存可塑性(Spike Timing Dependent Plasticity:STDP)と呼ばれるものであろうことを意味します。つまり、シナプスの強さを変更するときは、誤差の微分値に比例してその値を変更します。 NGRADではその誤差関数の微分(導関数)がシナプス後細胞†の活動の変化率に相当します。
STDPの確認前に“予測”
脳神経学者が脳内で発見したSTDPでは、この変化率がシナプス後細胞の活動の変化率にシナプス前細胞の活動を掛け合わせたものになります。実際、私は長い間、脳は神経細胞の活動の違いで動作しているのではないかと言ってきました。
私がジェームズ・マクレランド(James McClelland)氏 と、神経細胞の活動の時間差が誤差関数の導関数として使われていると指摘した論文 1)を発表したのは1987年で、STDPの発見前のことでした注1)。
2005年ごろに私は再び神経細胞の活動差に興味を持つようになりましたが、最近ではより多くの人がこの理論構築で素晴らしい業績を上げています。
ただし、私はまだ少し懐疑的です。脳はバックプロパゲーションを行うと思えばできるはずですが、どこかぎこちなさがあるのです。バックプロパゲーションは脳にとって良いアルゴリズム過ぎるのです。しかも、脳は、多くのニューラルネットが扱っているものとは全然違う問題を扱っています。 ほとんどのニューラルネットは、多くの知識をたかだか10億個といった程度の数のパラメーターで表現しようとします。一方、脳にとって、10億個は極めてちっぽけな数で、おおよそ脳の1mm3分のパラメーター数にしかすぎません。つまり、脳全体では無数ともいえる数のパラメーターがあるのです。しかし、我々はそのうちのわずかしか学習に使っていません。我々が生きられるのは10億秒か20億秒程度だからです注2)。
いくら膨大なパラメーターが脳にあっても、我々がその間に経験できることは限られているのです。一方、ニューラルネットは多いとはいえないパラメーターで多くの学習をする。もし仮に、パラメーター数がずっと多くて学習データが少なければ、学習則はバックプロパゲーションではなかったかもしれない。
それで、非常に面白いアイデアが1つ浮かびました。それは、この脳とニューラルネットの働きの違いをうまく活用するやり方、つまり、トップダウン的表現とボトムアップ的表現の中間を採るのです。具体的には、ある部分の1つの階層を見て、次にある画像を見た場合に、全く違う階層の部分を生成するようなことです。高い階層の部分から、低層の部分をトップダウン的に予測します。いわば大局からの予測ですが、これがより細部の文脈に依存する部分のボトムアップ的な抽出結果と一致するかどうかを見るのです。
例えば、画像でいえば、全体のある1領域から部分を抜き出し、その幾つかから全体を予測し、今度は全体から各部分を予測するのです。ただし、この部分の予測結果には、より多くの情報が含まれています。全体を基にした予測だからです。
ここで期待したいのは、部品表現のトップダウン予測とボトムアップ抽出結果が一致することです。正確には、1つの同じ画像については高精度で一致していてほしいのですが、違う画像については一致してほしくないのです。
これは、SimCLRでしているのと同じ対照学習ですが、同時にバックプロパゲーションとは別の、脳の学習則を示唆しています。これにはとてもわくわくしました。バックプロパゲーションほど効率的ではないかもしれませんが、脳にとっては数多くの層を遡らなくてよい分、ずっと楽なのです。することはトップダウン予測とボトムアップ予測を比較するだけですから。私はこれを「バックリラクゼーション(Back Relaxation)」と呼んでいます。それを何度か繰り返すうちに、バックプロパゲーションと同じ結果が得られます。1回やってみただけではだめでしょう。バックプロパゲーションでは1画像における1特徴表現について、情報をニューラルネットワークの多くの層を後ろ向きに遡らせますが、バックリラクゼーションでは、1つの画像から複数の特徴表現を得る一方で、それぞれ1層しか遡りません。
それでバックリラクゼーションとそれが脳の多層のネットワークにおける脳の学習の説明になるかもしれないことに興奮しました。ところがその後、2006年に自分で導入したある種の貪欲ボトムアップ学習のほうがうまくいくことに気が付いたのです注3)。それまでそうした比較検討を十分慎重にはしていませんでした。これには本当にがっかりしました。今もバックリラクゼーションが貪欲なボトムアップよりもうまく機能するかどうか、もう一回検証してみたいと思っています。
スミス氏: なるほど、6月のあなたのツイートですね注4)。
ヒントン氏: はい。それはちょうどバックリラクゼーションが貪欲ボトムアップ学習よりもうまく機能しないことを発見したときです。
スミス氏: 脳が非常に効率的で、貪欲ボトムアップだけで学習が済んでしまい、トップダウン機能はないということでしょうか。あるいはトップダウン機能はあるけれど、最適化のツールのような位置付けということでしょうか。
ヒントン氏: このトップダウン予測を気に入って、それをボトムアップ抽出と一致させるようにしたかった。それが、単にオートエンコーダーのスタックを一度に1層ずつトレーニングするよりも勝っているようにしたかった。ところが、実際にはそれを採用する意味はなく、オートエンコーダー、あるいは制限ボルツマンマシン(rBM)の隠れ層を1層ずつトレーニングさせるほうがずっとよいことが分かってしまいました。