脳・心・人工知能 数理で脳を解き明かす (ブルーバックス)
いま人工知能と呼ばれているのは知能ではなく機械学習で、そのハードウェアはPCなどとは違うニューラルネットである。これが実装されるようになったのは1990年代だが、甘利俊一氏は70年代にその原理を論文で数学的に定式化した。時代の先を行きすぎてハードウェアに実装できなかったが、これが今の深層学習の原型である。

脳の情報処理は、外界からの刺激によるニューロンの興奮の伝達で行われる。たとえば猫の映像は網膜で多くの画素に分解され、ニューロンはその刺激を隣のニューロンに伝える。こうした多くの刺激を総合して画像認識が行われ、そのとき多くのニューロンの出力の重みWの合計で出力値(猫か否か)が決まる。

zu2a
日経XTRENDより

これをモデルにしてニューラルネットでは素子の入力層と出力層の間に中間層を設定し、出力値を答と照合して誤差に応じて重みを補正する。これは1990年代に誤差逆伝播法として実用化されたが、この重みづけの変化を微分方程式で表現したのが甘利氏の確率降下学習法だった。

多くのニューロンが猫と知覚したら猫と判断する脳のしくみは、民主主義に似ているという。出力の重みは人間の影響力のようなもので、多くの人が賛成すると重みが大きくなる。他人に影響されやすい人が多いと社会全体が興奮しやすく、付和雷同が起こる。

複雑な最適化問題を試行錯誤で解く

ニューロンへの入力と出力の関係を重みWと誤差Eの関数と考え、

 E=f(W)

とする。それを次のような曲線で描くと、ある出力層の重みを増やしたら誤差が減るときは、図の左側のように減少関数になっているので、Wを増やすとEを最小化できる。Wを増やしたらEが増えるときは、図の右側のようにWを減らす試行錯誤で問題を解く。

bpai002

このように誤差を物理学の力学的ポテンシャルと同じように扱うと、そのふるまいは微分方程式で書ける。微分係数(曲線の傾き)をゼロにして、誤差を最小化する最適解を求めるのが確率降下学習法である。

複雑なネットワークになると、誤差関数には局所解ができることもある。たとえばAでは局所的に微分係数がゼロになり、それ以上Wを増やすとEが増えるが、WがBを超えて増えるとEが減る。

ニューラルネットは多くの出力が猫と知覚したら猫と判断する多数決なので、多くの出力がAのような状態になると、そこから動かなくなる。このような場合は、Wの値を大きく変えて「ゆさぶる」ことも最適解を求める手法である。

脳は「ニューロンの社会」

脳のしくみも多数決で、民主主義に似ているという。ニューロンの重みは人間の影響力のようなもので、多くの人が賛成すると重みが大きくなる。他人に影響されやすい人が多いと社会全体が興奮しやすく、付和雷同が起こって局所解に陥りやすい。脳も多くのニューロンの集まった社会なので、そのふるまいも似ているのだろう。

これは数学的シミュレーションであり、実際のニューロンがどう動いているのかはわからないが、全体最適解がわからないときはトップダウンの解法はないので、ニューロンが並列分散的に試行錯誤で解くしかない。

この点で計算量の多い問題を多くの素子に分解して解くニューラルネットはすぐれた技術だが、人間の脳のニューロンは1000億、シナプスは100兆ぐらいあるといわれる。処理速度はコンピュータのほうがはるかに速いが、並列性という点では脳にはまだ遠く及ばない。