ドワンゴの人工生命が楽しそうなので、寝ないで自作してみた

ジョバンニが一晩でやってくれました。
157
深津 貴之 / THE GUILD / note @fladdict

遺伝アルゴのいいところは、俺が仕事をしている間に勝手に進んでくれるところだな。忙しい人にこそ最適。盆栽的に楽しめる。

2016-11-15 13:59:05
Nao Tokui / 徳井直生 @naotokui

Sodaplayを思い出した. 楽しそうだなぁ… twitter.com/fladdict/statu…

2016-11-15 14:19:14
深津 貴之 / THE GUILD / note.com @fladdict

遺伝アルゴのクリーチャーさんが、ジャンプを獲得した。先代に比べて無駄なパーツが削ぎ落とされてるのがわかる。この個体はそろそろ進化の袋小路で、これ以上は変わらなそう。遺伝子だけ保存してリセットする。 pic.twitter.com/RYHoCCuVUh

2016-11-15 13:50:17
深津 貴之 / THE GUILD / note @fladdict

@naotokui 原型は大学生の頃にSodaを模倣しようとして書いた物理エンジンですねぇ。姿を変えつつ、足掛け10年近く現役のコード。

2016-11-15 14:23:25
Nao Tokui / 徳井直生 @naotokui

@fladdict やっぱり!僕もSodaに憧れて色々作ったクチです (^^

2016-11-15 14:25:03
深津 貴之 / THE GUILD / note @fladdict

@naotokui やっぱ、その辺をニューラルなり遺伝アルゴなり、バンディットに任せるのが一番楽そうですねぇ。チューニング・・・

2016-11-15 14:32:50
深津 貴之 / THE GUILD / note @fladdict

@naotokui やっぱ、その辺をニューラルなり遺伝アルゴなり、バンディットに任せるのが一番楽そうですねぇ。チューニング・・・

2016-11-15 14:32:50
Nao Tokui / 徳井直生 @naotokui

@fladdict ですね! 逆にDeep LearningのハイパーパラメータをGPUクラスタ上で、GAを使って最適化するっていう研究をみました。力技! w

2016-11-15 14:34:03
Nao Tokui / 徳井直生 @naotokui

トーナメント選択とか色々試した気がします. 世代とは別に種という概念を導入するとか、ハイパーパラメータを最適化するGAを重ねるとかもやられてました. だんだん重箱の隅をつつくような話になっていくんですが… twitter.com/fladdict/statu…

2016-11-15 14:28:42
深津 貴之 / THE GUILD / note.com @fladdict

遺伝アルゴは、過学習というか局所最適化がネックだなぁ。局所最適化の発生を感知するコードを書いて、その瞬間に生存競争のルールを変化させたり、カンブリア紀を発生させるルールとか自動で作ればいいのかな?この辺って、誰か先行研究してないかなぁ。教えて、その筋の人!

2016-11-15 13:28:15
深津 貴之 / THE GUILD / note @fladdict

地面に接地してるとオシオキ…というルールにしたら、人工生命がジャンプを習得しました。ピョンコピョンコするよ!! なんか50年後ぐらい先には、AIの虐待で逮捕されそうな気がしてきた。 pic.twitter.com/JLkvvapmSR

2016-11-15 14:39:58
深津 貴之 / THE GUILD / note @fladdict

ついに馬のような挙動で走るクリーチャーが生まれた! 振動する点の塊が、幾多の生存競争の果てに足を獲得して、疾走し始めたよ! 人工生命ヤバイ。 pic.twitter.com/JxBMErKnym

2016-11-15 15:27:07
クスクス @Kus_02

お前もうクリーチャーなんかやない… 我らの可愛い人の子やで… 大きくおなり…(´∀`。)ホロリ twitter.com/fladdict/statu…

2016-11-15 15:34:47
深津 貴之 / THE GUILD / note @fladdict

ちなみに人工生命さんの挙動は、下記リンクのような遺伝子で管理されてます。 箱庭に放牧して、人工生命同士で掛けあわせたり、突然変異させたりして数千世代かけて進化させると、ジャンプしたり走ったりするようになるわけですね。 evernote.com/l/AAJ-FuTtp_xE…

2016-11-15 22:04:59
深津 貴之 / THE GUILD / note @fladdict

しかし遺伝アルゴやニューラルネットをJavaScriptで直書きすると、デバッグがシャレにならないことがわかった。エラーがどこにあるのか全くわからんwww

2016-11-15 23:02:38
深津 貴之 / THE GUILD / note @fladdict

超進化した人工生命。重心を後ろにずらしてウィリー。接地点を最小化した上に超振動をかけることで摩擦をゼロにして、蠕動運動ですっ飛ぶ。もはや生命と呼んで良いか怪しい進化をし始めた。 pic.twitter.com/TBpJY9G2ti

2016-11-15 23:27:13
深津 貴之 / THE GUILD / note @fladdict

遺伝アルゴリズムの局所最適化問題の最強ソリューションができた。スーパーカンブリアボタンっての作って、なんか進化が収束しすぎた時にポチッと押すだけでカンブリア紀が訪れるようにすると遺伝アルゴの弱点が一気に解決する。

2016-11-15 23:37:52
深津 貴之 / THE GUILD / note @fladdict

バレリーナのごときジャンプを獲得した個体。 pic.twitter.com/0sjjHFqxmy

2016-11-16 00:17:17
深津 貴之 / THE GUILD / note @fladdict

マイ人工知能と人工生命が、進化の末にカエルジャンプを学んだぞー! そろそろ名前をつけてあげたいピョコ太郎(仮) pic.twitter.com/glpas6gTCi

2016-11-15 21:15:45
深津 貴之 / THE GUILD / note @fladdict

乱数は重ねればコクが出るし、ニューラルネットは熟成させれば深みが増す

2016-11-16 00:23:29