この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です
著者の岡野原大輔氏
著者の岡野原大輔氏

 ニューラルネットワークは脳(神経系)を模して作られた。神経細胞(ニューロン)は、入力刺激が閾値を超えた場合に発火し、活動電位を発生させ、他の細胞に情報を伝達する。この発火が連鎖的に起こることで情報を伝え、計算を実現する。神経細胞間の情報伝達には、シナプスと呼ばれる化学物質を用いた機構が使われている(別の仕組みもある)。

 脳は活動の中で、ニューロン間のつながりの強さを変えていくことで(例えば、シナプスに放出された化学物質の受容体の数を変化することで)環境に適応、つまり学習していく。それを模したニューラルネットワークも同様に、ニューロンとシナプスに対応する重みで構成され、学習は重みを調整することで行われる。現在のニューラルネットワークでは逆誤差伝播法(BP:back propagation)がその学習効率の高さから広く使われている。しかし、脳内ではどのような学習則が働いているのかについてはまだ解明されておらず、脳内でBPと同様の学習則が動いているかは分かっていない。

 BPを利用した学習則について簡単に紹介しよう。学習問題の多くは、目的関数を最小化することで実現される。パラメータθに特徴付けられた目的関数L(θ)が与えられたとする。例えば、入力xから出力yを予測したい回帰の教師あり学習を実現するには、教師データ{(xi,yi)}と予測関数f(x;θ)、誤差関数l(y,yi)が与えられた時、L(θ)=∑il(f(xi;θ),yi)を目的関数として使う。目的関数が小さくなる、つまり教師データと予測関数の値が同じなるパラメータを探す問題だ。

 この時、目的関数L(θ)を最小化するようなパラメータθは、L(θ)のθについての勾配を求め、θ:=θ− αvと更新することで求められる。ただし、α>0は学習律と呼ばれるパラメータである。vは教師データの一部を使って推定することもできる。これを確率的最急降下法(SGD)と呼ぶ。現在では、Adamなど2次の勾配情報をオンラインで近似した手法が広く使われている。なお、目的関数が凸でない場合、SGDは必ずしも最適解は与えないが、深くて大きいニューラルネットワークの場合、SGDにより見つかった解はほとんど全て同様の性能を持つことが予想されている1)

 関数fがニューラルネットワークのように複数の関数が組み合わさって構成されている場合、勾配vをどのように求めるかが問題となる。この問題に対し、1986年にDavid Rumelhart氏らが逆誤差伝播法を提案した。これは後ろ向き自動微分とも呼ばれる。出力から入力に向けて逆向きに、目的関数のそれぞれの関数の出力に対する勾配を再帰的に計算していく。誤差を出力から入力へ伝播させていくように見えることから、逆誤差伝播法(BP)と呼ばれる。BPは通常の順計算の2倍の計算量で求められるため、パラメータ数が多くても効率的に求めることができる。そして、目的関数に対する各パラメータの勾配を直接求めることができるため、学習が非常に効率的であることが知られている。

脳内で逆誤差伝播が難しいと考えられていた理由

 脳内でBPの実現が難しいと考えられているのには、次の理由がある。1つ目は、BPの中で誤差を出力から入力に向けて逆向きに誤差を伝播させる際、順方向の時に使った重みをWとした時、Wの転置を誤差に掛ける必要があるためだ。ニューロン間のつながりは一方向であるため、Wの転置を求め、それを掛けることはそのままでは実現できない。

 2つ目は、BPは順方向の計算をした後に逆方向の計算を必要とする点である。順方向と逆方向の計算が混ざってしまわないよう、全てのニューロン間で「順方向の計算中なのか、逆方向の計算中なのか」の同期を取る必要がある。3つ目は、デジタル計算機では誤差の伝播は正確であり、100層を超えても学習できるが、脳の機構にはアナログな部分が含まれ、雑音もあるため途中で誤差が消失する可能性が高い点だ。

 こうした理由から、脳内ではBPではなく別の方法で学習がなされているのではないかと考えられている。例えば、Helmholtz MachineやBoltzmann Machineはいずれも局所的な情報のみを使って重みを更新できることから、脳内の学習機構として有望視されている。一方で、BPは工学的には有効なため、脳の仕組みの上でもBPが実現できると分かれば、脳の学習機構としても有力候補として挙がってくる。

脳内でのシナプス強化の仕組みであるSTDP

 脳内の学習則はまだ分かっていないが、どのような場合にシナプスが強化されるのかは、いくつか現象が知られている。シナプスには向きがあり、シナプス前ニューロンをx、シナプス後ニューロンをyとする。Hebb則は、xとyが同時に発火した場合、シナプスが強化されるという現象である。この現象はより詳細に調べられ、STDP(Spike timing dependent plasticity:スパイクタイミング依存可塑性)と呼ばれる現象があることが分かった。これは、xが発火した直後にyが発火した場合、シナプスが強化され、その逆にxが発火した直前にyが発火した場合、シナプスが弱くなるという現象である。

 Yoshua Bengio氏らは、STDPは実は次のような更新則ではないかと予想した。xの発火率をρ(x)、yの発火率の変化をy'、xからyへのシナプスの強さをWy,xとした時、

⊿Wy,x∝y'ρ(x)  (1)

のように表されるというものだ2)

 このもともとのアイデアはGeoffrey Hinton氏が2007年に提唱したものである。なぜこれがSTDPと一致するかというと、図1のようにyの発火率が増えている場合、xの直後にyが発火する確率が高くなる。このように考えたのは、(1)の式は次の目的関数の最小化として導出されるからだ。

J=‖f(st−1t−1)−st+12    (2)

図1 y(シナプス後ニューロン)の発火率の時間変化
図1 y(シナプス後ニューロン)の発火率の時間変化
図:Yoshua Bengio氏らの論文2)
[画像のクリックで拡大表示]

 ここでstは時刻tのニューロン全体の状態であり、ηt1は雑音、fは脳のダイナミクスであり、次の時刻の状態を決める。これを最小化するように重みを決めるということは、脳は1つ前の時刻の状態st−1と、それに雑音が加えられた情報から、次の時刻の状態を予測できるようになるというものだ。雑音が加わっていることから、雑音除去自己符号化器と同様の効果が期待できる。雑音を加えた情報から、それを除去するように学習することは、確率分布の勾配を推定してその情報の重要な部分を認識し、そこから再生成することを意味する。雑音除去自己符号化器は確率分布自体を推定しているのと同じであることが示されている3)

 これは生物的にも意味があることと考えられる。これまで得た情報から未来の状態(未来の感覚器から得られる内部状態)を予測できるようになっていれば、敵を速く察知したり、獲物をより速く捕まえたりできるからである。脳の学習機構が常に将来を予測し、それと実際に観測された結果の誤差を基に学習しているのではないかという予想はこれまでもあった。それが実際に脳で観察されているSTDPとひも付けられた点で、興味深い予想である。

 脳の学習則はまだ分かっていない部分が多くある。2013年には神経細胞だけでなく樹状突起も発火することが分かり、これが誤差の逆伝播のように働くのではないかとの推察もなされている。また、脳内には電気信号以外にもタンパク質の相互作用や遺伝子発現の制御など様々な形で情報がやりとりされている。これらが脳の仕組みをどう支えているのかはまだ分かっていない4)。DNAが発見されてから50年、遺伝子の仕組みがますます複雑であることが分かり始め、謎が深まっているのと同様、脳の仕組みについても、解明されるに従って初めてその複雑さが分かってくるのかもしれない。

1)A.Choromanska,et al,“The Loss Surfaces of Multilayer Networks,”AISTATS, 2015
2)Y. Bengio, et al,“An objective function for STDP,”http://arxiv.org/abs/1509.05936
3)Pascal Vincent,“A Connection Between Score Mathing and Denoising Autoencoders,”
4)http://timdettmers.com/2015/07/27/brain-vs-deep-learning-singularity/
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。