ディスカッション (10件)
ブラウザ上で動作するPPO(Proximal Policy Optimization)の学習デモを公開しました。tinygradの「TinyJit」から「WebGPU」カーネルへの変換機能によって実現しています。動作にはWebGPU対応ブラウザが必要です。
いいプロジェクトだね!トレーニングからウォッチ画面に切り替えてまた戻ると、スコアが一時的にガクッと落ちることに気づいたよ。
もっと詳細な説明や実装のポイントを教えてもらえる?
自分の平均スコアは最終的に3900くらいまで行ったんだけど、そこから3600〜3900の間で停滞しちゃった。これって皆も同じような挙動になるのかな?今のところステップ数は5kくらい。
すごく面白いね!でも4000に近づいたところで壊れちゃったみたいで、0以上のスコアが出なくなったよ。コードのバグなのか、ニューラルネットワークの問題なのかはよく分からない。
avg500 -4.6 (直近500エピソード)
peak 3959.3 (ベストウィンドウ)
roll/s 20.68 (20ステップ平均)
progress 4388 562749 エピソード
先月、テキストレンダリングライブラリで似たようなことをやったよ。
モデルを学習させて可視化ツールを作って、テキストをずらすようにしたんだ。
ちゃんと記事にまとめないとね: https://x.com/i/status/2038367016969724259
それいいじゃん、自分も数年前に全く同じことをやったよ。
スネークゲームで、リンゴを早く取らないとペナルティがあることに気づいたんだけど、それって本当に意図した挙動?スネークゲームは長さのバランスじゃなくて、どれだけ長く成長できるかが重要じゃないかな。
プログラムがイマイチだね。失敗から学習してないよ。スネークがエサを食べないのにエサが残って隙間ができるせいで、同じルートをループし続けてスコアがマイナスになる無限ループに陥ってる。まるで陰陽が固定化されたみたいにね ;) 隙間とエサの配置の間に反復パターンがあるんだ。
以前、RatatuiベースのTUIとして似たようなアイデアで動かしていたものだよ: https://github.com/bones-ai/rust-snake-ai-ratatui