日記

日記です

0518

大学

 09:30過ぎくらいに研究室着。昨日は本を読んでいて寝るのが遅く(1時半くらいだったか)、なのに5時半くらいに目が覚めてしまい、どうしようもなく眠いという感じ。二度寝が上手くできないんですよね。

 午前中は強化学習のログをプロットするpythonスクリプトを書いた。pythonになれていないのでたったそれだけのことをするのですら結構苦労してしまう。

強化学習

強化学習

  • 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章
  • 出版社/メーカー: 森北出版
  • 発売日: 2000/12/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 5人 クリック: 76回
  • この商品を含むブログ (29件) を見る

 いろいろ考えてはみているんだけど、やっぱりこれをしっかり読んでいかないと始まらないかなぁという気分になってきた。そんな時間があるのかというと微妙なところな気もするけど、この先今以上に余裕があるタイミングなんてないのでは。悩んでいる暇があったら手を付け始めろということである。

 これは昨日のことだけど「分析系の研究は結果が出ないと地獄なのでやめておいた方が良いのでは」という話を先輩たちがしていた。しかしわけもわからずモデルをいじってなんか性能出ましたみたいなの、虚無では? とも思うので、まぁ難しいところですかね。上のはM2の人が話していたことなんだけど、B4も一年で結果出さないといけないのは同じで、まぁちょっと難しいところもあるよなぁ。

 研究より勉強がしたい、頭のいい人間が考えたことを知って「ほえ~」ってなりたいだけでは? そうですね。

 午後はサーベイの発表。論文の読み方が雑だったなぁ。反省点は多いですね。読みがひどいのに口頭では謎の断定をしてしまうゴミ人間なので人々に誤解を植え付けやすい。スライドの作り方ももっとわかりやすくしなくてはダメですね。関数の型を示すのと手順を明確に示すのかなり重要っぽい。あとは新規性がどこなのかちゃんと切り分けるとか。

 パッと先輩に話しかけられたとき、ナチュラルに「うん」って言ってしまい、これだから非体育会系は……とか内心思ったが特に突っ込まれなかった。僕ならぶっ飛ばします(しません)。

 発表の後はかなり朦朧としていたやはり睡眠不足ダメ。

 足元で学習しているマシンが動いているので席がとても暑い。

 何か勉強するときにメモを取ることもあるわけだけど、取るだけ取って見返すことがほとんどない。というか全く? というわけでルーズリーフじゃなくて適当なノートで良いのかなぁという気分にもなってきた。さっさと捨てるということですね。A4サイズのノートがちょっと気になっている。

将棋ソフト開発

 学習部、変更できるように標準入力から受け取りたい情報が多すぎてめちゃくちゃ汚くなる。やっぱりクラスを作った方が良いのかなぁ。staticまみれの邪悪なlearn_self.cppができあがっている。

 しかし2値の要素(○○をするかしないか)を入力から分岐させるとそれを保存する変数がぐちゃぐちゃになる気がしてなぁ。あとはクラス内部で持てるメモリの量? みたいなのもちょっと不安。動的確保をきっちりできれば問題はないんだろうけど。string, stringのmapで確保するというのはありかもしれないなぁ。

 一つしかインスタンスを作らないクラスを作りたくないという気持ちがある。namespaceとかでくくるのかな。でもそれはあまり本質的に思えない。どうしようか……。

 いやしかし学習時にしか使わなくて、そのときだけインスタンス作るみたいに考えるとクラスにするのも合理的なのかな。大幅な変更になるかもしれないけどやってみましょうかぁ。

 あとは探索深さが伸びないことだけど、オーダリングの性能がひどいってことなんだろうか。まぁ手抜きもいいところなのでひどいんだろうけど、オーダリングをカリカリにチューニングする気力が起きない。ここもやはり機械学習様になんとかしてもらうべき領域では? 具体的な方法はわからんけど。

 EvasionMoveにオーダリング入れてなかったことに気づいて入れた。ちょっとは強くなったのでは? こういうのを定量的に測れなくてあれ。

 探索部つらいという感情ばかりが溢れてくる。なんとかならないものか。

 学習部も表示上強くなっているはずなのに弱くなっているという現象がいくらか発生していてもうなにも信じられない。探索深さによってそんなに変わるということか、ランダム性が少なすぎて決まったパターンにハマっているか。多少のランダム要素を上手く入れていく仕組みが必要ですねー。

 とりあえず1手読み(+静止探索)の評価値をもとにsoftmax関数をかけてその確率で指す関数を作った。20手くらいそれで指させてみた局面をいくらか見てみた感じではそれほど極端に形勢差がつかない感じになっていて悪くなさそう。多分フルランダムよりはこっちの方がいいんじゃないかなーという妄想をしてみるが。

 うー、ちゃんと検証プログラム書いてみるべきだな……。明日にしよう。

その他

 藤井七段爆誕。しかし角換わり棒銀なんだかんだ手ごわいのでは。将棋もちゃんとやりたいなぁ。

 時間の配分をもっとちゃんと考えていかないと。コンピュータ将棋、競技プログラミング、将棋、読書くらいがメインで、そこから下に動画視聴とかプロ野球観戦とかがいくらかある感じ。やっていくしかないですね。頑張ろう。