学習機能の模倣

 

パーセプトロンとバックプロパゲーション

学習機能を自立的に持つコンピュータの存在が望まれている。脳のアルゴリズムを模倣、もしくは想像してコンピュータに適用することでノイマン型のコンピュータでは解けない、とくのに時間がかかる問題を容易に解こうというのである。ここでは学習機能を持つアルゴリズムとしてパーセプトロンとバックプロパゲーションを例にし、その理論と製品への応用について述べる。

歴史的にはパーセプトロンの理論が先にあり、後にこの原理が小脳で発見されることになる。またバックプロパゲーションは本物の脳での存在は示されていない。しかし広い意味でこれらは人間が脳の学習機能を模倣しようとして作られたものである。またこの分野での脳研究と数理的な学習アルゴリズムは同時進行しており、本物の脳を考えることでより優れたアルゴリズムを発見する方向が今後出てくると思われるのでこれを題材として選んだ。

 

小脳の働きとパーセプトロンモデル

小脳の構造と機能

小脳の国「神経回路もうの構造が詳細にわかっているのは小脳だけである。小脳は大脳の下部にいた重さ130グラムの後脳胞から発達した神経組織である。

小脳皮質は大型のプルキンエ細胞、ゴルジ細胞、中型のバスケット細胞、清浄細胞、小型の顆粒細胞の五種類の細胞から構成され、その様子は図1に示されたようになっている。

小脳は適応動作などの運動制御に関与していることが知られており、体で覚える記憶をつかさどる。この学習がどのように行われているかをつぎにしめす。

小脳の学習機能(パーセプトロンモデルとの対比)

図1をパーセプトロンのモデルに対比させて書き直したものが図2である。

パーセプトロン

パーセプトロンは心理学者のローゼンブラットによって提唱された理論で三層のニューラルネットからなる。

この繰り返しが最適な解を出力するシナプスの結合を作り上げる。

小脳との対比

小脳への入力には二つのルートがあり、一つは苔状繊維からのルートでこの信号は顆粒細胞へと入って行く。もう一つは登上繊維で、これはプルキンエ細胞にへの入力となっている。最終的な信号はプルキンエ細胞から出ていく。もしこの出力信号が間違っている時にはそれは誤っているという信号を登上背にからプルキンエ細胞にフィードバックする。

 

小脳とパーセプトロンの対比これをパーセプトロンに当てはめると、

  • 入力層………苔状繊維

    感各層………顆粒細胞

    反応層………プルキンエ細胞

    教師信号……登上繊維上をながれる信号

  • という対応関係がある事がわかる。小脳がパーセプトロンの原理にしたがっているかはプルキンエ細胞への顆粒細胞からのシナプスの結合強度が可逆的に変化するかにかかっている。この事実は伊藤正男氏らによって確認され、小脳での学習機構が解明された。

    パーセプトロンの簡単な数学的解析

    基本パーセプトロン

    反応層にはいる入力信号をYとする。Yはベクトルでである。反応層は入力のそれぞれに重み関数をかけた荷重和がしきい値を超えたか超えないかで、1か0を出力する関数であるとする。すなわち

    n次元空間上でこの阻止の意味を考える。のとき1式は結合荷重としきい値の値によって決定される超平面であることがわかる。したがって2式は点Yがこの超平面状のどちら側にあるかで1か0を示す関数であることになる。

    つまりパーセプトロンは食う感情でこの超平面によって分離される1つのカテゴリーを識別する能力を持つといえる。

    このように超平面によってパターンを2つのカテゴリーに分離できるような問題を線形分離可能な問題という。さまざまな問題を与えて超平面を最適な形にすることが学習である。このパーセプトロンをカテゴリーの数だけ用意すれば複数のカテゴリーを分類することができる。逆に基本パーセプトロンは線形分離ができない問題をとくことはできない。

     

    学習則

    線形分離可能な問題が与えられたとして、この超平面の位置と傾きを決定するアルゴリズムが学習則である。基本パーセプトロンは入力信号以外に教師信号を受ける。この信号により結合荷重を変化させ超平面を学習する。

    いましきい値を含むn+1次元の荷重ベクトル 入力信号ベクトルを用いれば式2は

    と簡単になる。学習則はこのとき次のようにあらわせる。

    の項から誤った信号を出力したときだけ荷重ベクトルを少しだけ変化させることを意味する。

    この学習則を用いると有限回で正しい識別をすることが証明されている。

    バックプロパゲーション

    パーセプトロンの限界

    先ほど述べたようにパーセプトロンでは線形分離可能な問題しか解けない。また感覚層での結合強度はランダムで変化がないので、感覚層に必要な素子の数は非常に大きくなる。現実のコンピュータに応用するときこの感覚層の組合わせをシミュレートするのは並列処理の高速化のメリットが得られない。

    そこでバックプロパゲーションと呼ばれる感覚層を含めた学習則が考案された。まずいくつかの中間層を持つ多層のネットワークを考える。同じ層の素子間に結合はなく、どの素子も1つ前の層からのみ入力をうけ、次の層へのみ出力を送る。このようなネットワークの中間層に対して学習則を導く。

    バックプロパゲーションの簡単な数学的解析

    簡単のためある層の1つのニューロンに注目する。このニューロンの出力特性はそこに接続するn個のシナプスの入力信号を、結合荷重度をとすると

    である。バックプロパゲーションはの入力を与えたときに、真値である教師信号に近い解を導く方法を与える。前述のようにこのは非線型であってもよい。

    データとして

    ように入力と出力があったとして、ニューロンが出す値との誤差は次のようにあらわされる。

     

    この誤差関数が最小になるようなが最適解である。は非線型であるから8式から直接最小になるを探すのは難しい。そこで最急降下法をもちいて少しずつを最適解に近づける。

    最急降下法

    最急降下法は8式の誤差関数をもちいて

    なる連立微分方程式で与えられる。ここでを更新した回数である。

    参考までにこの最急降下法を

    10

    のときに適用する。この関数の2次元へ射影はを中心とし軸が軸からだけ傾いた楕円を示す。9式は

    となりこれをルンゲクッタ法をもちいたプログラムでいくつかの初期値で解くとその様子は図3のようになる。確かにそのような楕円を最急降下して行くように最小値付近に落ちていくことが確認される。

    バックプロパゲーションの注意点

    実際には以上が各層の各ニューロンに適用される。式では示していないが上記のアルゴリズムは出力の誤差を前の層に伝えていくのでback propagationと呼ばれる。またバックプロパゲーションは実際の脳機能にはない機構である。実際の