平日の5日中で4回も出社してしまったのもあって、疲労感も強く、一週間があっという間に過ぎ去った感覚になっている。
拡散モデル
以下の論文のアイデアが良さそうと感じており、
自動運転向けの将来点群分布の行動条件付予測に離散化拡散モデルを利用。精度を大きく改善。点群をVQ-VAEを使い鳥瞰図方向で離散符号化し、拡散モデルで予測する。Masked GITを修正したものは(非マスクにもノイズを加える)拡散モデルとみなせ同じ枠組みで学習/推論できる。https://t.co/n0npqwpGfN
— Daisuke Okanohara / 岡野原 大輔 (@hillbig) 2023年11月10日
まずは標準的な拡散モデルから触っておくかということで将棋を題材にちょっと進めている。例題ということで、floodgateの棋譜を使って、条件なしで局面(手駒もなく盤面だけ)を生成させている。
UNetは9x9の将棋盤に使おうとすると、途中のボトルネック部分でサイズが壊れてしまうようだったので、全部TransformerでとりあえずShapeの整合性がつくようにしている。Transformerが性能良いかどうかはわからないけど、トークン化すれば適当にぶち込めるという便利さはある。コードは以下の通り。
まぁHuggingfaceのtutorialを参考にぼちぼち変更を入れただけなので特に見るべきところもない。ノイズスケジューラのところが隠蔽されると本当に特別なことがなにもないので、そこを自前実装しなければ理解にはならないだろうな。将棋部分ではcshogiが便利でありがたかった。
10エポックほど回してみたが、普通に二歩の局面が出てきたりするのでややイマイチな印象ではある。
まぁ大まかには「こういう局面ありそうだよね」という気配はある。今後は
- 手駒の追加
- MaskGIT(Masked Generative Image Transformer)形式の導入
- 条件付けとしての現局面を導入して次局面を生成させる
- 読み手数導入
などを考えてはいる。どこまでやる気が続くかはわからない。
拡散モデルで世界モデルをやろうとすると、拡散モデルのタイムステップと世界モデルのタイムステップで2つタイムステップが出てくるのでやや混乱しがち。
ゲーム
だいたいリバース:1999をやっていた。第4章『群虎黄金』の最後までクリア済み。2,3,4章はどれも終わり方が印象的だった。迂遠な言い方も多くて若干理解するのが難しいところは多いんだけど、完全に意味不明でとっ散らかっているわけではないバランス感。でも全体的な世界観とかまだ掴みきれてないのはテキストなにか読み落としてしまったからだろうか。
読書
円城塔とか伊藤計劃とか、以前読んでいたSFを振り返る時期が自分の中で到来している。自分が機械学習系の分野に足を踏み入れるきっかけになったと言えばそうなんだろう。そう思えば今は微妙に変な道に来てしまってはいないか。気づいたら思ってもいなかった方向に進んでいることはよくある。
その他
しばらく若干忙しそうなのが不穏。忙しいというか、なんか、微妙。