自己進化する AI をどう作るか。

自作の 0次オプティマイザーの振る舞いを視覚化したグラフの図。 凹凸の有る青色の 3D 螺旋曲面上を橙色の点が転がり落ち、その軌跡が表示されている。 最終的に螺旋の最も低い窪みの緑色の領域に点が辿り着いている。
Zeroth と名付けたオプティマイザーの挙動。 最終的に大域的最小値に到達出来ている。

上のアニメーション画像は自作の Zeroth オプティマイザーの挙動を Himmelblau 関数 + 螺旋曲面上でプロットしたものです。
下のアニメーション画像は従来の偏微分による勾配降下法の各種オプティマイザーの挙動のプロットです。

AI機械学習のオプティマイザーの振る舞いを視覚化したグラフの図。 凹凸の有る青色の 3D 螺旋曲面上を色とりどりの複数の点が転がり落ち、その軌跡が表示されている。 何れの点も最終的に螺旋の最も低い窪みの緑色の領域には到達出来ず、手前の浅い窪みに捕らわれている。
MatplotlibによるPyTorchのオプティマイザーの振る舞いを視覚化した図。
SGD, Lion, AdamW, AdaBelief, AdaDerivative, AdaBC の各種オプティマイザー。
局所最小値に捕らわれ、大域的最小値には到達出来ません。

2025 年 7 月 10 日現在主流の LLM 系 AI も、基本的には計算グラフの勾配について誤差逆伝播法でパラメーターを最適化しているようです。
一部で進化的アルゴリズムなどの応用が行われており、成果も現れつつ有るようです。

私は、人工知能について、現実世界の多様で複雑な環境に適応しつつ、高度で複雑な知力を獲得させる事を目指して開発したいと思っています。

詰まり損失関数の微分が出来ません。

ですので、遅延報酬に基づいてパラメーターを最適化する必要が有ります。

取り敢えず上記画像に有るように、大域的最小値に到達出来るオプティマイザーで FlexNeuroAI のネットワークを発達させてみようかと考えております。

詳しい仕組みは秘密です。

実は通常の進化的アルゴリズムのように 2 体以上の優れた成績の親を選出してネットワークを表現する遺伝子を交叉させ、突然変異でトポロジーとパラメーターを進化させようとしていたのですが、ネットワークの規模が大きくなるに連れ、トポロジーとパラメーターの探索空間が爆発してしまい、収束が困難になる問題が立ちはだかっていました。

今回は工夫してそれを克服する事を目指そうと思います。

もし成功したら画期的ですが、無理かもしれません。

尚、オプティマイザーの挙動を視覚化する Python スクリプトについては以下のページに書いています。
ブログ記事: オプティマイザーを視覚化してみました。
https://widedeepspace.net/2023/11/23/1369/

コメント

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