業務の方でいろいろ忙しい(?)せいで一週間があっという間だった。厳しい。
拡散モデル
(1)手駒まで生成できるようにした。
まぁこれはやるだけではあるんだけど、手駒の表現をどうするかという問題は若干あり、今は各持ち駒に1トークンを割り当てている。現状は1つの局面を「81マス + 手駒先後で14個 + 手番を表す1個」で96トークンの系列としてTransformerに投げている。凝ろうと思えばいくらでもやれそうだが、こんなところ考える方が面倒だ。
(2)条件づけをできるようにしている
ランダムな局面生成ができてもしょうがないので、現局面を条件として、次に有り得そうな局面を作りたい。最初は条件の与え方を「別トークンとして与えてCross-Attention」としていたのだが上手くいかず、「チャンネル方向に連結して入力」だとやや上手くいく気配が出てきている。が、どうも次の手ではなく現局面をそのまま返す意味のない学習をしてしまっているようだ。学習部分のなにかをミスしている気がするが、調査は後日。
とりあえず、1棋譜だけをデータセットとして過学習させて上手くいくかの確認結果。
項目 | 結果 |
---|---|
条件となる現局面 | |
生成結果 | |
教師局面 |
全く同じものが出てきてしまっている。
条件づけのやり方もどうするのが良いのかよくわからないな。こういうのは実装を読まなきゃわからなさそうなので、論文だけではどうにもか。
条件づけを強めるためにClassifier Free Guidanceとかもできるはずで、そういうところもまだ全然わかっていない。先は長い。
競技プログラミング
- ABC329 : レート変化 1841→1820(-21)
- マージテク解かれすぎ回。E問題で詰まり過ぎていたせいで、知識で勝ちにならなかった。
- ARC168 : レート変化 1820→1755(-65)(Predictor調べ)
わりとちゃんと時間中は考えられていて良い感触なのだけど、感触と結果が一致するわけでもなく、かなりレートが下がってきた。競技プログラミングは自分の頭が悪いということを何度でも確認できるとても良い趣味です。
土日のコンテストが終わってから週記書きたいと思ったがレート更新が間に合わないな。
その他
NeRFとかGuassian Splattingとか、3D再構成についてのモチベーションが地に落ちている。そこができてもどうにもならないなという気持ちが強い。
拡散モデルも土日のどちらかしか触れていない状況で、こんなのではいつまで経っても終わらない。悲しみ。