ニューラルネットと人工生命の用語集

宇津木明男(生命研)


目次


ニューラルネットワーク

ニューラルネットワーク(神経回路網)の研究には、動物の神経回路の研究と、 それから派生した人工的な神経回路の研究があります。 これらを区別する為に、前者をBNN(Biological Neural Networks), 後者を ANN(Artificial Neural Networks)と呼びます。ここでは、ANNの解説をします。 ANNはニューロン(神経細胞) と似た振る舞いをするユニットから構成されるシステムで、 何らかの情報処理を行ないます。 実際のニューロンはいろいろ複雑な事をしているようですが、ANNで使われる抽象化されたニューロンは、 (1)一つの数値で表される活動状態(興奮度)を持つ。 (2)各ニューロンは他のニューロンとシナプスと呼ばれる点を介して結合しており、 各ニューロンの活動状態は結合しているニューロンの活動状態に影響を与える。

学習

ニューラルネットのダイナミクスには幾つかのレベルが有ります。 すべてのタイプのニューラルネットは少なくともニューロンの活動伝播ダイナミクス は持っています。 これは、あるニューロンの活動状態が他のニューロンの活動状態に影響を与える仕方を規定したものです。 そのルールには様々なものがありますが、共通しているのは影響の強さをある数値で表すことです。 この数値はBNNのアナロジーでシナプス連結強度とか、 あるいは単に重み(ウェイト)と呼ばれます。

2番目のレベルのダイナミクスがウェイトの変化に関するもので、学習と呼ばれます。 すべてのタイプのニューラルネットが学習ダイナミクスを持つ訳ではありませんが、 学習こそが知的人工システムとしてのニューラルネットの主要な特徴と言えるでしょう。

さらに上位のレベルの構造やウェイト学習に関わるパラメータの調整などのダイナミクスも あり、これらもまた広い意味で「学習」と言えます。 しかし、ここでは単に学習と言えば、ウェイト学習の事とします。


教師

便宜的に学習は教師有り学習教師無し学習 に分けられます。 (統計学の言葉で言えば、「外的基準あり」と「外的基準無し」に当ります。)

教師有り学習の問題設定では、ユニットは入力ユニット、出力ユニット、内部ユニットの3タイプに 分けられます。また、入力ユニットと出力ユニットの活動値パタンの幾つかが訓練データとして与えられます。 この訓練データの出力パタンを、対応する入力パタンに対する教師パタンと呼びます。 学習の目的は、入力パタンのみをニューラルネットに与えた時に、対応する教師パタン に出来るだけ近いパタンを出力するようなウェイトを求めることです。 また、重要な事は、訓練データの中に存在しない入力パタンを与えても、パタンの類似性を考慮して 適切な出力パタンを求める事ができることで、これを汎化能力と言います。

一方、教師無し学習では、データと接する外部ユニットに入力と出力の区別は有りません。 外部ユニットの活動パタンの分布の仕方から、データの背後にあるであろう本質的な構造を抽出しようと します。この潜在構造を反映した、よりコンパクトな表現が内部ユニットの活動パタンとして 実現されるようにウェイトを調節します。 したがって、内部ユニットは特徴抽出細胞とも呼ばれます。 勿論、教師有り学習でも内部に特徴抽出細胞を形成しようとしますが、これは 特定の入出力関係に依存した物です。これに対し、教師無し学習ではすべての外部ユニットを対等に見ています。

教師有り学習と教師無し学習の間の中間的なものとして、教師パタンの代りに、 出力パタンの評価だけをニューラルネットに与えるやり方があり、強化学習と呼ばれます。


競合学習

競合学習は殆どの教師無し学習の基本となっている学習法です。 最も単純な場合は、入力ユニット層と内部ユニット層からなる2層のニューラルネットを考えます。 データが与えられると、「入力ユニットの活動パタン」と「入力ユニットと内部ユニットの間の ウェイト」から、内部ユニットの活動値が計算されます(順方向活動伝播)。 次に、内部ユニットの活動値が、強いものはより強く、弱いものはより弱くなるように 変換されます(内部ユニット層競合過程)。極端な場合は、最初に最大の活動値を持っていた内部ユニットのみが 活動を維持し、その他のユニットはすべて活動を止めます。これを勝者全奪と言い、 このような競合学習をハード競合学習と言います。ハード競合学習は単純で扱いやすいけれど、 多くの内部ユニットが 何の役にも立たないままに終わってしまう危険があります。 一方、一等賞でない内部ユニットも成績に応じて、それなりの活動値を維持できる場合は、 ソフト競合学習と言います。(しかし、最初の活動値をそのまま維持するのは駄目で、 上位のもの程、利得を得るようにする。) 最後の段階が、ウェイトの調整で、基本的に、内部ユニットのウェイトパタンを入力パタン の方向に修正します。内部ユニットの現在の活動値が大きい程、修正量も大きくします。 これはいわゆるヘッブ学習規則に似ています。 このようなプロセスを繰り返す事で、各内部ユニットのウェイトパタンに対応するデータ空間上の参照点は、 データパタンの分布上に一様に分配されるようになります。 こうやって、各内部ユニットは、固有の特徴を獲得して行きます。


自己組織化写像(SOM)

自己組織化写像は競合学習の発展形で、その特徴は内部ユニット層にトポロジー を持つ事です。 トポロジーとは要素の間の距離の構造の事です。 動物の脳では、協調的な神経活動の基本単位(コラム)が2次元シート上に配置されていて、 類似した機能を持つコラムは空間的にも近い場所に配置されている場合があります。 その結果、2次元シート上に機能地図と呼ばれるものが形成されます。 この機能地図を学習する為の一つの方法がSOMです。 競合学習の内部ユニットが、自分以外はみな同じ距離を持つというという特殊なトポロジー を持つ(と言うか、意味のあるトポロジーは定義されていない)のに対し、 SOMはもっと一般的なトポロジーを持ちます。 学習方法で競合学習に新たに付け加える事は、内部ユニットのウェイトを修正する際、 空間的に近い他のユニットのウェイトも, その距離に応じて同様の修正を受けるということです。 これにより、内部ユニットのウェイトパタンに対応する参照点の集合は、データ分布を覆う 滑らかな多様体(曲面)を形成するようになります。

SOMアプレット


誤差逆伝播学習(バックプロパゲーション)

誤差逆伝播学習は教師付き学習法の代表的なもので、この学習法とホップフィールド型ネットの発見が、 1980年代後半以降のニューラルネットブームの引金と見なされています。 誤差逆伝播学習は、順方向結合多層ネットワーク と言う構造を持ったニューラルネットに対する学習法です。 ユニットは入力層, 内部層, 出力層からなる階層構造をなしており、活動の伝播はこの方向にのみ 行なわれます。学習の目的は、出力パタンと教師パタンの間の食い違いを最小にするような ウェイトのパタンを求める事です。 誤差逆伝播学習は、この手の問題で良く使われる最急降下法というアルゴリズムに過ぎないのですが、 出力パタンと教師パタンの間の食い違い信号が、出力層から入力層に逆伝播することによって 学習を実現する為にこういう名前が付けられてします。具体的には、シナプス前ユニットの活動度と シナプス後ユニットにおける食い違い信号の積に比例した大きさで各ウェイトを修正します。 ヘッブ学習規則に似ていますが、これは一般化デルタ規則と呼ばれます。 誤差逆伝播学習は使い道が広く、実際、非常にたくさんの応用研究がなされて来ました。 簡易的なデータ解析ツールとして使われる事が多いのですが、構造が殆ど無いと言っていいので、 あまり有用な情報を抽出できない場合が多いようです。


制約充足ネットワーク

ニューラルネットワークに中には学習を伴わないものも有ります。この種のネットワークは、 活動伝播のみで何らかの計算をしようとします。数学的な問題が与えられていて、 それが活動伝播ダイナミクスの結果として解かれるように、ネットワークの構造を設計します。 ウェイトの値も、この目的に合うように、研究者によって設定されます。 この手のもので最も有名なのが, ホップフィールド によって開発されたネットワークです。 その特徴は対称結合, すなわち、 2つの方向のユニット間の結合強度が同じになっている事です。このような性質をもった ネットワークの活動パタンは最終的にある安定状態に落ち着きます。 例えば、各ユニットが何か「命題」を表しているとして、 (人間の脳の中のユニットがそんな事をしているとはとても考えられませんが) その活動度が1の時は「真」, 0の時は「偽」を表すとものとします。そして、ユニット間の結合強度が正の値の 時は、2つの命題は両立しやすく、負の時は両立しがたいと考えます。 いくつかの命題とその間の両立関係という制約条件が与えられたときに、 この制約を出来るだけ満足するような命題の真理値を求めると言う問題に対して、 このネットワークをランダムな活動度から出発して、勝手に活動伝播させると、 最終的に適当な答えに収束します。このネットワークは, 両立しない命題が 共に真であるという好ましくない事態(これをフラストレーションと言います。)が 少なくなるように活動状態を変化させると言う性質が有ります。 しかし、事はそう簡単ではなく、 普通は、局所最適解と言う不完全な解に収束します。 本当の最適解を求めるのは難しく、いろいろな戦略が考えれています。 模擬焼きなまし(SA)はそのような戦略の一つです。また、遺伝アルゴリズム(GA)も、 このような用途に使われます。


模擬焼きなまし(SA)

焼きなまし(アニーリング)とは、溶かした金属をゆっくり冷やす事で、丈夫で固い金属を作る事を言います。 金属に限らず、液体を冷やして個体にする場合、冷却速度をゆっくりにすればする程、最終産物は より安定した状態、秩序の高い状態になります。逆に急激に冷やすのを焼き入れといい、秩序の 低い脆い状態になります。これを、一般の最適化問題で考えると、安定した産物は良い解、 不安定な産物はつまらない局所最適解に当ります。

上で述べた(対象結合の)制約充足ネットワークでは、基本的によりフラストレーションが少ない (あるいはエネルギーが小さい)状態に遷移するとい性質があるのですが、 この「近くの解にまっしぐら」という性急な性質が、つまらない局所最適解に捕まってしまう原因でも あるのです。そこで、もう少しじっくりと解の探索が出来るように、ダイナミクスに「じらし」を導入します。 つまり、時にはエネルギーがより大きい状態へも遷移するようにします。 しかし、やはり、エネルギーが小さくなる方向への遷移を起こりやすくするべきで、 エネルギー差に応じて遷移の確率を割りふることにします。エネルギーをより小さくする状態への遷移ほど 選択される確率が大きくするわけです。 ここで、温度というパラメータを導入し、 温度が高い時は、状態遷移の確率がエネルギーの変化にあまり依存しないようにします。 逆に温度が低い時は、エネルギーをより小さくする状態遷移が有利になるようにします。 極端な場合、温度が0の時は、決して、より大きなエネルギーを持つ状態には遷移しなくなります。 温度がずっと0のままなのが、従来のやり方に当ります。 これに対し、模擬焼きなまし(シミュレーティッドアニーリング) では、高い温度から初めて, ゆっくりと温度を下げていくことで、より良い解を見つけようとします。


ボルツマンマシン

ボルツマンは19世紀末の物理学者で、統計熱力学の創始者です。 ヒントンはこの偉大な物理学者の名を冠したニューラルネットのダイナミクスを考え出しました。 ネットワークの構造と活動伝播ダイナミクスは、ホップフィールドのものに模擬焼きなましの 機構を加えたものです。有限温度の下では、活動伝播プロセスを十分繰り返した後に、 ユニットの活動パタンの確率分布は、ある定常分布に収束して行くのですが、 これがボルツマン分布 (あるいはギブス分布)になることから、ボルツマンマシンと呼ばれます。

ヒントンはさらに、この活動伝播ダイナミクスの上に、巧妙な学習ダイナミクスを導入しました。 環境情報(データ)と接している場合には、ヘッブ規則にしたがってウェイトを修正するのですが、 次に環境情報を切り離して、活動伝播をフリーラン状態にし、ここでは、 逆ヘッブ規則でウェイトを修正します。 これを繰り返す事で、外部ユニットの活動パタンの 定常分布がデータの発生分布を最も良くシミュレートするようなウェイトの値を見出します。 ヒントンは環境情報と接している状態を覚醒状態、 環境情報から切り離されている状態を 睡眠状態に対応するものと見倣しました。

ボルツマンマシンは、非常に魅力あるニューラルネットなのですが、誤差逆伝播法などと比べて 流行りませんでした。 その理由としては、以下の事が考えられます。 (1)学習に要する時間が多すぎる。(2)対称結合ネットワークに制限されていて、 構造化しずらい。(3)初歩的とはいえ統計熱力学的記述が敬遠された。 (1)(2)に関しては、平均場近似法やヘルムホルツマシンなどで克服されています。


巡回行商人問題(TSP)

巡回行商人問題(TSP), あるいは、巡回セールスマン問題とは、問題の記述は易しいが、 解くのが難しい代表的な問題です。 その問題とは、「いくつかの都市の位置が与えられた時に、その都市をすべて通って、 元の場所に戻る経路で最短のものを求めよ。」という事です。 一般的な都市の位置に対して、この問題を解くの要する時間は、都市の数の指数関数のオーダー になると考えられています。これでは、都市の数がちょっと大きくなると、実際には解けなくなります。 厳密な最短の経路を求めるのは困難のようですが、できるだけ短い経路を求める問題になれば、 合理的な時間で解く解法がいろいろ出て来ます。 ホップフィールドのニューラルネットは、TSPの近似解を効率的に求めることが できると 一時期騒がれましたが、実際はそれほど効率的な解法とは言えないようです。 SA, GA, 弾性ネット, SOM などもTSPの近似解法として使われた事があります。

TSPアプレット


人工生命(AL)

ANNの研究は、BNNを含むより広い神経回路のクラスを 対象にしていました。そこでは、神経回路は生物的実体から離れた 情報処理システムと見なされています。 人工生命の研究では、より広範な生命現象に対しても、それを情報処理システムと見なし、 現実に存在するものを含むより広いクラスを対象にします。 とは言っても、どういうものを生命とみなすかに関してはいろいろ議論のある所です。 結局は、その振る舞いが生き物っぽいかという感覚によるのでしょうが、 そういう感覚は時代や個人によって変わるでしょう。現在は、特に進化するという 特徴が重視されているようです。また、その振る舞いが複雑であることも 重要らしいです。以下で代表的な人工生命を紹介しましょう。

ライフゲーム:コンウェイによって作られたライフゲームは、 セルオートマトンの一種です。 セルオートマトンそのものは、物理系のシミュレーションシステムで、空間をます目(セル)に区切り、 各セルの状態(通常, 色で表される)が、周囲のセルの状態によって決定されるようになっています。 周囲の状態によって各位置の状態を決定するルールが、現実の物理系の運動方程式に相当するのですが、 セルオートマトンでは自由にこのルールを決める事が出来、ルールによっては、面白いパタンが発生します。 ライフゲームは、面白いパタンを生成するルールの一つで、生物集団の増殖のルールを手本にしているようです。 面白いパタンとは、上で言っている複雑なパタンの事で、予測不可能な展開を示すものです。 セルオートマトンルールの中で、ライフゲームのような複雑パタンを発生するものの比率は多くは無く、 生命とはこの数少ないルールの上にあるものと見なされています。

ライフゲームアプレット

Lシステム:リンデンマイヤーによって研究された植物の枝振りのパタンを生成するシステム。 いわゆる生成文法によって記述されています。

バイオモルフドーキンス がその著書「ブラインドウォッチメーカー」(盲目の時計職人)で、 ダーウィン進化を説明する為に作ったソフトウェア。Lシステムのように、分岐するグラフの 生成システムですが、微妙な分岐の仕方に関するいくつかのパラメータを遺伝子とみなしています。 基本パタンから出発し、遺伝子を微小にランダム変異させた子供を複数生成します。 次に、ユーザが、「おもしろいと思う形」という尺度によって、生き残る子供を選択します。 次に、この子供に対して、同じ事を繰り返していきます。結果的に、そのユーザのおもしろさの感性を 反映した形状が進化して行くのですが、それは、最初には予想もしなかったような複雑な形状になることが あります。(それは植物と言うより、怪物のようなものとなることが多い。) 自分の心の中に隠れていた感性が暴かれてびっくりというわけです。 オリジナルのバイオモルフは分岐グラフですが、 別のフラクタル図形を使ったもっと生々しいものもあります。

バイオモルフアプレット

バーチャルクリーチャーシムズの開発した人工生命は、動物の形態と運動パタンを進化させていくものです。。

ボイドレイノルズのボイドは、動物の群の運動を記述する方程式系で、そこから生成される 群運動はいかにもそれらしいものになります。

ボイドアプレット

ティエラレイのティエラは、仮想計算機上の機械語プログラムを生物個体と見なします。 この生物はエラーを持つ自己複製によって子孫を作り、 また、個体同士が有限の計算資源を奪いあって争います。 やがて、他の生物に寄生したり、それを出し抜いたりする巧妙な連中が発生して来ます。

参考ページ


遺伝的アルゴリズム(GA)

GAは人工生命研究の代表的な技法で、最適化アルゴリズムの一つと見なされる為、 工学的応用も多い。まず、いろいろな性質を持った個体の集団を考えます。 この個体はそれぞれ遺伝子という記号列を持っています。遺伝子はある決ったやり型で その個体の性質(表現型と言う)に翻訳されます。この翻訳過程は生物の発生に当ります。 個体数の上限が決められていているため、成長した各個体は存在を賭けて闘争します。 この時、各個体の性質が闘争における強さに反映されるのですが、 このアルゴリズムの使用者に都合の良い性質を持つ物が強くなるようになっています。 こういう生存競走に加えて、遺伝子の変異によって、新しい性質をもった個体が創出されます。 変異は遺伝子の一部が出鱈目に変化する突然変異と、他の個体と遺伝子の一部を交換しあう 交差があります。 このように、新しい性質の出鱈目な生成と、生存競走による自然淘汰によって、 時間が立つにつれ集団の中に優秀な性質を持った個体が増えて行くだろうと期待するわけです。

GAでは遺伝子は1次元の記号列によって表現されますが、 遺伝子としてリスト構造を持ったプログラムを扱うのが遺伝プログラミング(GP)です。 この場合、欲しいプログラムの仕様を、自然淘汰のための評価関数として与えてやれば、 その仕様を満たしたプログラムが進化によって自動的に生成される訳ですが、そう簡単に行きますやら。


チューリングマシン

チューリングマシンは1930年代にチューリングが、ある数学の問題を解く為に考え出した仮想的な機械です。 それは機械と言っても、ハードは無く、数学的な手続きの体系の一つと言えます。 無限の長さの仮想的なテープがあって、それが桝目に区切られています。各桝目には 文字を書き込む事が出来ます。テープの上を移動する1個のヘッドがあって、命令によって、 真下の桝目の文字を読み込んだり、書き換えたり、右か左に1ステップ移動する事が出来ます。 また、停止命令もあります。 ヘッドはあらかじめ指定された幾つかの状態の中のどこかにあるものとします。 最初は初期状態にいる事とします。 ヘッドへの命令はプログラムで与えられるのですが、これは現在のヘッドの状態とヘッドの下の文字の 組合せに対して、上で述べた動作と状態遷移を指定するルールの集合です。 ある初期状態にあるヘッドを、ある文字列が書き込まれたテープのどこかに置いて、この機械を走らせると、 最終的に停止するか、永遠に停止しないかどちらかになります。テープ上の文字列を数字列として、 それを一つの自然数とみなすと、これを止まった時のテープ上の自然数に対応させる関数が定義できます。 このような関数は計算可能であるといいます。チューリングマシンによる計算可能性は、 我々が通常使っている計算機による計算可能性と一致します。

プログラムの数だけ、いろいろなチューリングマシンが作れる(したがって、計算可能な関数も作れる)のですが、 その中でも、万能チューリングマシンと言うものは特殊です。 これは、プログラムを表現した記号列を テープに与える事で、すべてのチューリングマシンの動作をシミュレートする事ができるものです。 このようなものが出来てしまう程、チューリングマシンは強力な計算機械ですが、 実際、チューリングマシンよりも原理的に強力な計算機械は作れないと考えられています(チャーチの提唱)。 (我々の脳ですら。しかし、これについては異論もあります。→ペンローズなど) しかしながら、これ程強力な計算機械でも原理的に解けない問題があります。 その一つが停止問題と言われるもので、 「任意のチューリングマシンのプログラムとテープ上の初期列が与えられた時に、 このチューリングマシンが最終的に停止するか否かを決定する。」という問題です。 これは、計算機械による問題解決の根本的な限界を示しています。 (これは、ゲーデルの不完全性定理の異なる表現とみなされています。)

人工生命の中にもチューリングマシンと同等の計算能力を持つものがあります。 (ライフゲーム、ティエラ、GPなど。) 特に、タークのターマイト は1次元のテープの代りに2次元のアレイを使ったチューリングマシンそのもので、 ヘッドを一つの生物とみなします。ラッカーの バッパーズというプログラムの中には、 GAによって進化するプログラムを持つターマイト、ボイド、およびそのあいの子の ターボイドがあって、 ディスプレイの上で暴れまわります。

チューリングマシンのアプレット


1998年8月10日更新