第6回人工生命研究会
第6回人工生命研究会 人工生命研究会の6回目はリアルとオンラインのハイブリッドで、リアル会場はつくば駅前のco-enスペースで行われました。 Evolving soft robots in neighboring environments 提案するNeighbourhood Modelという手法が面白かったです。 これは共通祖先からさまざまな環境ニッチに適応したフィンチのように、人工生命のエージェントがどのように環境に適応するか・適応した形態がどのように近隣の環境に進出するかを観察できるモデルです。 このモデルの骨子は通常の遺伝的アルゴリズムです。 一般的な遺伝的アルゴリズムと異なるのは、異なる環境をグリッド状に並べて、遺伝的アルゴリズムによる個体評価をする際に、近隣のグリッドのエージェントを一定数混ぜて一緒に評価するという部分です。 それにより、近隣に異なる環境がある場合はひとつの形態の独占状態が生まれにくく、逆に近隣に同質の環境が多い場合はひとつの形態が多くのグリッドを寡占するという状態が生まれます。 面白いのは、エージェントの混合は隣り合ったグリッド間でしか起きないので、ある形質が広がるかどうかにはグリッドの配置が影響するという点です。 発表では適応困難な環境をロの字型に配置することにより、外側の環境に対して適応して複数のグリッドに広がった形質が、ブロックしているロの字部分を越えられずに中央グリッドに進出できない様子がありました(↓ 赤枠部分が同種の支配種) このモデルの特色としては、 大きな空間的広がりを使わずに、同等の効果を得られる 遺伝的アルゴリズムにかける内容は、それ自体が移動できなくても良い という部分になると思います。 特にエージェントそれ自体に移動能力がなくとも"移動"による影響を導入できるのは応用範囲を広くしてとても面白いですね。 ピクセル単位で年齢推定するニューラルセルオートマトンの考案 Neural CAと同じアーキテクチャを使用 ピクセル単位で推定が行われるため画像の欠けなどに対してロバスト 学習させると、与えられた顔画像の各部分(目元、口元など)に対してそれぞれ異なる年齢が推定されて、その後計算を進めるにつれてどれかが優勢になり全体に広がる 異なる推定年齢が衝突した際にどちらが優勢になるのか、そのプロセスはまだわかっていない EvoJAX Tutorial EvoJAXはPythonで書いた計算をJust In Time CompilerでCUDA実行形式に自動で直し、CPU/GPU/TPUで計算してくれるフレームワークです。 コードを適合させるための制約は副作用のない純粋関数にすることだけで、GPU利用の計算をとても簡単に書けるらしい。 We will also have a hands-on tutorial from Bert Chan, Yujin Tang and Yingtao Tian from Google Brain about EvoJax. EvoJax is a NeuroEvolution ToolKit improved by hardware acceleration technologies, that is also used for evolutionary computation and alife simulations....