見出し画像

エフェクトモデルの研究:生命と知性の探求

ソフトウェアを用いて複雑なシステムを開発する時、モデリング(モデル化)という作業を行います。

モデルとは模型やひな形の事です。例えば、建物の設計をする時も、小さなサイズの模型を作る作業を行います。これにより、建物の全体像を捉えるのです。

システム開発におけるモデリングでは、システムで扱う必要のある情報と、その情報同士の関係を整理する作業を行い、それらの情報や関係の変化を考えていきます。

例えば企業の人事システムであれば従業員と部署の一覧の情報が必要です。そして従業員同士の上司と部下の関係、従業員と部署の所属関係、部署同士の階層構造などの関係があります。そして、従業員の入社や退社、部署異動、組織改編などの情報の変化が考えられます。

私は、生命の起源や、知性の性質について、個人研究を行っています。この記事では、これらの抽象的なモデルとして、エフェクトモデルというものを考えていきたいと思います。

エフェクトモデルは、複数の要素が互いに影響を及ぼし合うことをモデル化したものです。情報としては要素の一覧を持ち、要素同士が影響を与え合うという関係を持ちます。そして、時間が経つと影響を与え合って要素が変化します。

先ほどの人事システムの例に比べて、抽象度が高いためイメージが掴みにくいモデルだと思います。一方で、抽象度が高い分、モデルとしてはシンプルです。

このエフェクトモデルは、ライフゲームと呼ばれ生命のような振る舞いをするセルオートマトンというアルゴリズムの抽象モデルになっています。また、人工知能に使われているニューラルネットワークのうち、ループ構造を持つものも、エフェクトモデルと言えます。

つまり、エフェクトモデルは生命や知性という現象の一つの側面を俯瞰するための一つのモデルになっている可能性があります。もちろん、生命や知性は非常に複雑であるため、一つのモデルで全てを把握しきる事はできませんが、様々な側面からこうしたシンプルな抽象モデルを考えていくというアプローチで、徐々に全体像を捉えていくことができるでしょう。

前置きが長くなってしまいました。以下、エフェクトモデルについて詳しく考えていきます。

■エフェクトモデル

要素が影響を与え合うシステムを、エフェクトシステムとしてモデル化したいと思います。これを、エフェクトモデルと呼びます。

エフェクトモデルの基礎は、要素と影響です。影響は、要素に変化を与え、要素の構造や、影響の与え方や受け方をも変化させることがあります。

ただし、構造や影響の変化を取り入れるとモデルは複雑になります。

そこで、まずは要素と影響が固定的である場合から考えてみます。

要素が一列に並んだ構造を思い浮かべてください。一つの要素は複数の要素に影響を与えます。そして一つの要素は、複数の要素から影響を受けます。

このシンプルなエフェクトモデルは、一つの層だけが存在し、その層の出力が、その層自身の入力となっている特殊なリカレント型のニューラルネットワークとして表現できます。単層リカレントニューラルネットワークと言えるでしょう。リカレントとは、ループ構造を持っているという意味です。

このニューラルネットワークのパラメータを固定し、初期状態を与えて、計算を繰り返すと、影響が波及し合って複雑なものに変化をしていきます。

これは、セルオートマトンでもあります。セルオートマトンは、隣り合ったセルが影響を与え合います。そのことは、先ほどの特殊なニューラルネットワークで、パラメータを隣り合うニューロン同士のみが影響を与えるように設定することで、再現できます。

また、セルオートマトンのルールは、隣り合ったセルの合計値が一定の値であるかどうかで、セルの出力を決定します。これも、ニューラルネットワークの出力を決定する関数をセルオートマトンのルールに合わせて設定することで、同じく再現できます。

従って、セルオートマトンも、単層リカレントニューラルネットワークも、シンプルなエフェクトモデルとしての性質を持っていると言えます。

■エフェクトモデルの振る舞い

セルオートマトンは、ライフゲームと呼ばれるように、生命を連想させるような複雑な変化をする事が知られています。

単層リカレントニューラルネットワークは、セルオートマトンの性質を内包していますので、同様の複雑な変化が起きます。

以下、図1にセルオートマトンの時間変化、図2に単層リカレントニューラルネットワークの時間変化の様子を示します。5つの平面がありますが、上から下に時間変化している様子を示しています。

図1.一般的なセルオートマトン
図2.単層リカレントニューラルネットワーク

セルオートマトンは、隣接しているセル(マス目)から影響を受けて次のセルの状態が決まりますので、変化は局所的に起きます。

一方で、単層リカレントニューラルネットワークは、1つ前の全てのニューロン(マス目)から影響を受けて、次のニューロンの状態が決まります。このため、セルオートマトンのような局所的な変化は見られません。その代わりに、全体がダイナミックに変化していきます。

以下のリンク先のページで、これらの時間変化の様子を確認できます。Resetボタンを押すと初期状態がランダムに変化し、Startボタンを押すと、時間変化が始まります。

a) 一般的なセルオートマトン

b) 単層リカレントニューラルネットワーク

一般的なセルオートマトンは、インターネットで検索すると変化のルールが乗っているサイトが簡単に見つかります。

一方で、ここで示した入出力を持たない単層リカレントニューラルネットワークは、私が独自に作ったものです。基本的にはニューラルネットワークの考え方に基づいて、重みづけと閾値のパラメータがランダムに設定されるようになっています。上記のサイトではjavascriptで作成していますので、ご興味がある人は処理内容やパラメータを確認いただくこともできます。

■夢を見るシステム

ここで示した、セルオートマトンや、単層リカレントニューラルネットワークは、外部からの情報の入力がなく、外部への出力もないまま、内部で影響が波及して複雑な状態変化を起こしていることになります。そう捉えると、これは夢を見ている状態と似ています。

人間の脳も、外部からの入力も外部への出力も絶たれた状態で、複雑なイメージを頭の中で生成していきます。

■夢という現象

私は、人間が夢を見るのは、脳が特別なモードになっているのではなく、単に入力と出力の神経が閉ざされているだけだと考えています。

夢は荒唐無稽で、現実には起こらないことが起きたり、子供の頃に戻ったりします。このため、脳が起きている時とは違うモードになる現象と考えることもできます。

しかし、単純に入力と出力の神経が閉ざされるだけで、私たちの脳は、現実にはありえないことを思い浮かべたり、現実の異なる年齢や立場に自分が置かれていることに疑問を抱かなくなるのではないかと考えています。

生成型の人工知能が、ありもしない情報を捏造する現象が知られています。それは現実の情報に紐づけて情報を判断するグラウンディングが、人間にはできていて、生成AIにはそのための仕組みを追加する必要があるという議論につながっています。

私の考えは、人間も眠っているときはグラウンディングが行えないということなのだろうと捉えています。

■物語と現実世界によるグラウンディング

逆の見方をすると、人間の脳も、起きているときも荒唐無稽な夢のようなことを常に思い浮かべていることになります。しかし、神経を通じて入ってくる情報が、その夢をすぐに打ち消します。これがグラウンディングの効果です。

そう捉えると、小説を読んだり映画を観たりしている時に、その世界に没入してしまうことも説明できます。文字や断片的な映像から、私たちは夢を見ているときのように自らその世界を頭の中で思い浮かべ、その世界の住人となったかのように感じる能力があります。

そして、その最中に騒音や体の痛みなど現実からの刺激が入ると、没入状態が解除されることも、同じ理屈で理解できます。頭の中で思い浮かべた世界は脆く、身体的な刺激ですぐに訂正されて壊れてしまうのです。これもグラウンディングです。

さらに、小説や映画の中に、無理筋の展開や世界観が崩れるような設定があると興ざめする事も、説明できます。小説や映画のストーリーや設定とのずれが大きすぎても、頭の中で思い浮かべた世界は崩れてしまうのです。

夢は、自分で創作していますので、このような自己崩壊はしにくいのでしょう。

また、現実の世界も、脳にとっては小説や映画のようなものです。断片的に得られる映像や、他人から聞いた話を元に、私たちは現実世界を思い浮かべています。

現実世界は、それ以上に強いグラウンディング先がないため、夢から覚めたり、物語の世界から興ざめしたりすることに似た現象は起きにくいでしょう。

■エフェクトモデルのグラウンディング

話が横道に逸れましたが、元の話に戻ると、セルオートマトンや単層リカレントニューラルネットワークが、この夢という現象のシンプルな原型であると考えられます。

これは、外部と入力と出力のないエフェクトモデルは夢のメカニズムを持つという事を意味します。そして、外部と入力と出力を接続すれば、それがグラウンディングの効果を持つことになります。

つまり、人間の脳もエフェクトモデルであるということです。

現実世界の物事を学習し、断片的な情報から、それらの世界を頭の中に思い浮かべています。この世界を思い浮かべるという能力は、眠っている時は夢でしかありませんが、起きているときは現実世界の推測となります。

この推測のお陰で、例えば地面や階段を凝視しなくても、チラッと見た時の断片的な情報から、そこに地面や階段があると信じて歩く事ができます。これは経験に基づいたパターン認識による推測でしょう。

一定で、人混みの中を、お互いにぶつかることなく歩くことができるのは、シミュレーションによる推測によるものです。また、先ほどの地面や階段の形状把握はパターン認識ですが、その上を自分が歩いた時にどうなるかは、シミュレーションによって推測しているはずです。

私たちが現実世界の情報を隅々までじっくりとチェックすることなく行動できているのは、この推測能力のお陰です。そして、この推測は、パターン認識とシミュレーションの組み合わせで成り立っています。

このシミュレーションの能力は、夢のメカニズムによるものであり、エフェクトモデルが担っていると私は考えています。

そして、脳がエフェクトモデルだとすれば、現実世界の要素と影響を模倣できる必要があります。それが、学習です。私たちは現実世界の要素と影響を学習して、それを再現できるエフェクトモデルを脳の中に構築しています。

そして、そのエフェクトモデルを使って、自動的に現実世界を思い浮かべ、常時、推測を行っています。そして、眠りについた時も推測を行いますが、入力によるグラウンディングが行えないため、荒唐無稽な推測でも、訂正されることなく進行していきます。

この状態は、上の図1、図2で示したような、次々と自動的に複雑な変化をしていく入出力のないエフェクトモデルとして捉えることができます。

■さいごに

初めの方で書いたように、ここで示したセルオートマトンや単層リカレントニューラルネットワークは、非常にシンプルなエフェクトモデルです。ただし、シンプルではありますが、エフェクトモデルの本質的な性質だけが抜き出されたものです。高度なエフェクトモデルについて考える時も、このシンプルなエフェクトモデルが出発点になります。

高度なエフェクトモデルは、まず、影響を及ぼすパラメータが変化するものが考えられます。人工知能に使われるニューラルネットワークも、学習という過程でニューロン間の影響を示すパラメータが変化していきます。

次に、多層化が考えられます。これも人工知能に使われるニューラルネットワークにおけるテクニックです。複数の層で影響がループする構造になれば、より複雑な状態変化が見られるようになるはずです。

これらを基にして、グラウンディングを行う、という事が考えられます。入力を持たないエフェクトモデルから、入力も併せ持つエフェクトモデルへの高度化です。夢を見ているように自分の中で状態変化しているだけでなく、外部から入力を与えて、その入力に一致するような状態変化が起きるようにパラメータを変化させます。つまり、入力される情報を予測するように学習を行うという事です。

そこに、出力の機能を持たせることで、さらに高度化が可能です。一方的に外界からの入力を受動的に受けるだけでなく、エフェクトモデルからの出力によって外界にも影響を及ぼすという事です。これにより、外界へも影響が波及しますので、このエフェクトモデルと外界を含んだ全体も、大きなエフェクトモデルという入れ子の構造になります。

そして、外界の中には、他の同様の仕組みを持つエフェクトモデルが存在し得ます。エフェクトモデル同士が、影響を及ぼし合うという構図ができるという事です。

これは、生物同士の生態系や、知能を持つ人間同士の社会を連想させます。従って、エフェクトモデルの高度化は、生命や知性のモデル化に繋がり、さらには生態系や社会のモデル化まで射程に入れる事ができそうです。


サポートも大変ありがたいですし、コメントや引用、ツイッターでのリポストをいただくことでも、大変励みになります。よろしくおねがいします!