人工知能生命体プログラムは電気羊の夢を見るか。

FlexNeuro-AI (自作の進化的アルゴリズム人工知能生命体)。
内部報酬系を持つ。
疎行列による効率的な計算が可能。
マルチプロセスであり、スケール アップも可能。
微生物の様な動き。
可能性は無限大。

[2025年1月14日更新]
2024年12月15日、私が実験中の進化的アルゴリズム人工知能生命体プログラムを “FlexNeuro-AI” と命名しました。
進化的アルゴリズムで遺伝子の選択により柔軟にネットワークのトポロジーを変化させ、更に内部報酬系によって各神経細胞のバイアスやシナプスの接続強度を柔軟に変化させる事が可能である事から、この名称としました。

人工ニューラル ネットワークの通常の順伝播に加えて内部報酬ニューロンを実装しています。
順伝播用のノードと接続の遺伝子の交叉、そして内部報酬ニューロンからのドーパミン投射についての遺伝子の交叉が可能です。

上に掲載しているシミュレーション動画では、他の個体を追い掛け回して捕食しているような場面が見られます。

私の状況次第では、年明けくらいには “Meta-learning” (学習の仕方を学習する事)が可能で交配により進化を行うロボット概念実証実験機も製作出来るかもしれません。

ところで余談ですが、2024年12月15日現在のChatGPTサーヴィスは非常に優れており、プログラムのコーディングに加え、ビジネス プランニングなども高度に行う事が可能になっていますね。

以下の図は以前掲載したもので、2024年12月25日現在の実装と比べて非常に簡素ですが、疎行列(Sparse Matrix / スパース マトリックス)で人工ニューラル ネットワークを表現する例です。
上に掲載した動画の人工生命体はそれぞれの個体が特別な複数の疎行列を持ちます。

疎行列。 0から10までのインデックスの付いた行列の表の一部の枡目にx印が記入されている。 右隣りには疎行列の各種プロパティーが表示されている。
ニューラル ネットワークのグラフ。 番号が記された円形のノードとそれらを繋ぐ矢印で構成されている。

私の現在の実装では上記の図よりも複雑な仕組みとなっています。
ですが詳細は秘密です。
順伝播と内部報酬投射は PythonSciPy の scipy.sparse モジュールの .csr_matrix() による疎行列とvectorのドット積で計算しています。
遺伝子管理などはPythonの辞書形式です。
プログラムのコードはPythonスクリプトでコメント、空白行込みで1,100行余り。

もしこの開発が巧く行けば、正解データの無い現実の複雑な世界との相互作用から、自然に物事を理解し、学習し、新たな発見をし、創造をし、意志を持ち、人間の様な知能を獲得する可能性を秘めた、汎用人工知能(AGI / Artificial General Intelligence)を創り出せるかもしれません。

[2024年12月15日]
FlexNeuro-AI” のマルチプロセス化を実施しました。

[2024年12月17日]
マルチプロセッシングのボトルネックを解消、高速化を果たしました。
具体的には、遺伝子の交配の処理をmainプロセスから専用の子プロセスに外部化しました。

[2024年12月21日]
各FlexNeuro-AI個体の遺伝子データ及び状態データを、JSONファイルに書き出し、後にこれを読み込ませてFlexNeuro-AI個体をデータから再構築する機能もマルチプロセス化しました。
これにより、FlexNeuro-AIのシミュレーション プログラムの中断と再開や、別のシミュレーション空間への移動、及び別のタスクへの挑戦などが可能になりました。

[2024年12月25日]
ニューロン(ノード)やシナプス(接続)のIDの値が大きくなってくると、実際の値を持つ要素数が少なくても、疎行列の形状(Shape)が肥大化し、結果的に処理が激重になってしまう問題に気付き、これに対してindicesを密に変換する事により、indicesが密な疎行列で処理をして高速化する事に成功しました。
お陰で、今後のスケール アップも可能になります。

マルチプロセッシングには、Pythonスクリプトの multiprocessingProcess(), Queue() を利用しています。

上の動画の例では、多数の個体を同時並列に処理し、24個の論理CPUコアをほぼ満遍なく使用している様子が分かります。
ニューロン(ノード)とシナプス(接続)の数が更に増加しても対応出来そうです。

このまま開発を続ければ、現実世界で多数の個体が動き回って自然に交配するロボットが誕生しそうです。

ところで、非常に素晴らしい事に、アメリカの複数の有名大学とNVIDIAなどが共同で開発した物理シミュレーション エンジンの “Genesis” が一昨日オープン ソースとして公開されたので、これと私のFlexNeuro-AIやロボット ハードウェアを組み合わせれば、かなり本格的な汎用人工知能(AGI)の開発が出来そうです!
実は2024年12月20日に早速インストールして試してみたのですが、不具合からかレンダリングのフレーム レートが0.07 FPSと極度に低く、しかもそのままハングアップしてしまい、強制終了せざるを得ませんでした。
この問題が修正されたら、使い倒してみたいです!

それと余談ですが、独自ドメインをもう1つ追加して、FlexNeuro-AIなどの開発関係の内容専用に、このブログよりもフォーマルなブログとBlueskyアカウントを立ち上げようかと考えているところです。

[2024年12月29日]
FlexNeuro-AIなど、AI系技術を一緒に実験、開発、勉強してくれる仲間を募集する為、専用のブログを立ち上げました。
https://cresdea.net/2024/12/28/1/

[2025年1月14日]
FlexNeuro-AIに運動を促す為、活力値と疲労度のパラメーターを持たせました。
素早く動くと一時的に強くなります。その際、ドットの見た目も大きくなります。
ですが、動き続けると疲労が蓄積して逆に弱体化するようにしてあります。
因みにですが、Python, 機械学習系AI, ロボット作りのCRESDEAサークルはメンバー&候補が10名(私を含む)となりました。
良き仲間に出会えて光栄に存じます。
ありがとうございます!

コメント

タイトルとURLをコピーしました