gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

脳の知覚モデルをシミュレーションする

2021-04-11 11:30:33 | ブログ
 3月21日付のブログ「脳機能の統一原理を知る」に引き続いて、統一原理の核となっている知覚モデルをニューラルネットワーク上の処理としてシュミレーションしたらどうなるのかについて語りたい。

 まず、先のブログの知覚モデルの部分の説明を復習したい。

 脳は感覚信号sから隠れ状態uを推論する。このときsはuの関数g(u)であるとみなす。まず状態uの想定u0を定め、予測信号g(u0)を計算する。信号sとこの予測信号とのずれs-g(u0)が予測誤差信号である。脳はこの予測誤差信号が小さくなるようにuをu0からu1に更新する。次に更新した状態u1に基づいて予測信号g(u1)を計算して再び予測誤差信号s-g(u1)を求め、これが小さくなるようにuをu2に更新する。この作業を繰り返し行うと、s=g(u)に近い最終的なuが求められる。

 この知覚モデルを、sとuを確率変数とみなしてベイズ推定の方式で記述すると、u1の事後確率p(u1|s)は次の式で求められる。
   p(u1|s)=p(u0)×p(s|u1)/p(s)
p(u0)はu0に関する事前確率、p(s|u1)/p(s)は信号sが生じたという条件の下で状態uによって信号sが生じる条件付き確率である。以下u0をu1に更新し、u1をu2に更新すると、同様にu2の事後確率p(u2|s)の式が得られる。不等号記号が使えないので、AはBより小さいことをA less than Bで表すと、p(u0) less than p(u1|s) less than p(u2|s) less than …となるように推論を繰り返す。

 脳の統一理論に忠実なシミュレーションを行うのであれば、ベイズ推定の方式に基づいたシミュレーションを行うのが正しい。しかしながら、ニューラルネットワークに入力する画素パターンが文字認識や顔認識のような意味をもつパターンであれ、意味のないパターンであれ、統計学的に有意な結果を得るためには、膨大な数の画素パターンを作成して入力する必要があり、実施困難である。

 そこで、sとuを確率変数として扱うことのない予測誤差の推定方式に基づく処理とするとともに、できるだけ入力画素パターン数の少ない機械学習の処理結果をもって、本シミュレーションの近似的な代替としたい。もちろん、人工知能(AI)あるいは機械学習は、脳機能を模した工学の産物であり、脳機能の統一原理の忠実なシミュレーションを目的とするものではないので、両者の方式には差異がある。まずこの差異を確認したい。

 先の感覚信号sは、誤差のない正確な信号とみなしてよいだろう。そうであれば、この信号を正解信号Sと置く。ニューラルネットワークへの入力信号sは、信号Sに対して誤差をもつ信号であるので、不確実な変数sとして状態uに組み込んでよいであろう。ニューロンの重みとバイアスをそれぞれw,bとすると、u=(s,w,b)と表現できる。入力変数sは入力する画素パターンの数だけ存在する。また、パラメータw,bはニューラルネットの規模に応じて各々多数存在する。状態uは、ニューラルネットワークの隠れ状態を示す情報と考えることができる。

 このニューラルネットワークからの出力は関数g(u)と表すことができ、これが予測信号に相当し、予測値と呼ばれる。そうすると、S-g(u)は予測誤差信号に相当する。機械学習では、この予測誤差に基づくコスト関数(目的関数、誤差関数とも呼ばれる)が最小になるようにパラメータ(w,b)が決定される。入力する画素パターンごとにコスト関数値を計算し、すべての画素パターンについてこの関数値を合計したものがトータルのコスト関数値となる。

 状態uの初期値u0に関するパラメータ(w0,b0)として、例えば正規分布になるように発生された正規乱数が用いられる。これは事前確率p(u)が正規乱数であることに相当する。予測値g(u0)が計算されたとき、S-g(u0)が予測誤差である。AIは、この予測誤差が小さくなるようにuをu0からu1に、すなわちパラメータ(w0,b0)を(w1,b1)に更新する。次に更新した状態u1に基づいて予測値g(u1)を計算して再び予測誤差S-g(u1)を求め、これが小さくなるようにuをu2に更新する。この作業を繰り返し行うと、S=g(u)に近い最終的なuが求められる。

 u0をu1に更新した後、u2,u3,…と新たにuを更新するごとに予測誤差を小さくしていく技法は、勾配降下法と呼ばれる。多変数関数gの各変数w,bを微小量変化させ、関数gが最も減少する方向に変数を移動させる技法である。勾配降下法を実際にニューラルネットワークに適用して計算してみると、コスト関数の値が減少していく様子が確認できる。

 こうしてみると、AIに用いられるディープラーニング(深層学習)の技法は、上記の知覚モデルをほぼシミュレーションしていると言ってよいと考える。

 参考文献
 涌井良幸ほか著「ディープラーニングがわかる数学入門」(技術評論社)
 乾敏郎ほか著「脳の大統一理論」(岩波科学ライブラリー)