日記

日記です

0531

大学

 11:50に研究室着。今日は本当にひどい。昨日ほぼ寝落ちみたいな恰好で寝たらやっぱり5時に目が覚めてしまい、家を出る準備をノロノロとしたところで二度寝してしまい起きたらこんな時間だった。睡眠……。

 着いたあとも昨日の進捗をまとめるくらいで生産性が低い。なんなん。

 数日前の自分のブログを読み直していたら「サーベイ量が象さんくらいある」とかいう文章に突き当たって一瞬何かの誤字かと思った。よくわからない表現をするのはやめろ。

 微妙に何もする気が起きない。競技プログラミングをちょっとやった。

 やっぱりオーダリングの時点でいろいろやろうとするのは無謀かなぁ。NPSが死んでいく。しかしNPSってそんな重要か? という気もするのでなにもわからない。

 学習が上手くいかない。ちょうど昨日上手くいったのと全く同じ条件でやっているのになぜ。最初の方で良い乱数を引くことが大事みたいなそういうことがあるんだろうか。

 いい加減研究の方を考え始める。この時点で全然具体的な方針が見えてこなくて結構まずいのでは。なんか僕程度が思いつくことなんてすでにやられているorやられていそうなことばかりなんですよね。どうしたものか……。将棋ソフト開発ばっかりやっている場合じゃない。

 進捗発表のスライド、1ページ目で強化学習の分類とかやり始めてしまうんだけど、やはりこれはおかしい気がする。最初は問題意識が来ないといけないのでは。手法の分類とかその後でしょ。

 いやー、来週までになんかしら進捗出さないといけない気がする。ひえー。サーベイすらまだまともにできていないのに。

 18時からは競技プログラミングの練習会。union findに拘って簡単な問題が解けないとかいうゴミムーブをかましてしまった。ダメですね。ちゃんと問題を考えろ。

漫画

微熱空間 2 (楽園コミックス)

微熱空間 2 (楽園コミックス)

 ああっ! あああっ!

 というのが読んだ直後の感情です。感情をシェアしました。

 という感じのツイートをしようかと迷ったけどできなかった。Twitter、やはり人様の場所という印象があり、どこか気恥ずかしさというか、遠慮があるというか。

 ちょっと落ち着いてから作品を振り返ると、誕生日前日の話が素晴らしい。主観的な解釈と自罰がキャラクターの内面に流れ、それが溢れ出てしまうというシーンがやはり好きなわけですね。そして、虚構世界においてはそこに寄り添ってくれる他者が都合よく存在するのだ。これは救いの物語だよ。

 大学の、特に3,4年になってからというもの、こういったシーンに弱くなってしまったように思う。前はもっとエンターテインメントに全ての評価軸を乗っけていたはずなのに。エンターテインメントだけでは救われないのではなかという疑念が生じてしまっているのだ。

 僕は「現実と虚構の区別をつけろ」と賢しらに言うような人間ではない。むしろそれらが混ざり合って、いろいろな境界が曖昧になると良いと思っている。しかしある種の一線として、まさに自分自身そのものと、虚構世界の在り様そのものを混同したくはないとも強く思っている。きっとその勘違いは人を殺せる。

その他

 最近ちょっと日記の分量が多すぎる気がする。なにもかも書こうとしてはいけない。

0530

大学

 10時過ぎに研究室着。ここ最近本当に遅くなってしまっている。原因はわかっていて、上手く睡眠が取れていないからだ。なぜだか朝6時前に目が覚めてしまい、2度寝もなかなかできないまま8時とかになって覚醒しない頭で支度をしているとつい遅くなってしまう。

 午前中は輪講発表の資料を改善していく、が名人戦を観ながらなのであまり集中できず。睡眠不足もあって今日は作業効率が低そうだなぁ。

 資料もなかなかまとまらない。どの程度事前知識を仮定していいものかという感覚がつかめてこない。まぁでもこんな感じでいいかぁ。

 論文を読んでいるときに変数の型がよくわからなくなる。特に今回読んでいる論文はイタリック体とローマン体の区別がついていない気がしていて、確率変数なのか普通の変数なのかがわからない。

 飽きたので午後は将棋ソフト開発の方をやってしまった。やるべきことをなにもやらない。

 眠気に負けてなにもわからなくなった。

将棋ソフト開発

 昨日の進捗をまとめたら短い記事にしかならなかった。しかし書いていかないと自分が何をしているのかも忘れてしまう鳥頭なので書くべきなんだろうな。隠すような新規性なんて全くないわけだし。

 もうそろそろ5月も終わるけどまだWCSC版より強くはできてませんね……。やっぱり次元下げが必要な気がする。パラメータの頻度分布を簡単に見ているけど値が付いていないパラメータがめちゃくちゃ多い。あとはやっぱり探索部。しかし探索部の改善は本来2駒の方にも適用できるはずだから本来は評価関数だけの性能でkkp_kpptが上回っていることをちゃんと検証しなければいけないんですよね。そういうのをgitのブランチ管理でなんとかやっていければ良かったんだけど、現状はそうなっていない。

 プリプロセッサのif~elif~endifでめちゃくちゃ場合分けていくのはソースコードが汚くなる気がしていて嫌いなんですが、実践的にはやっていくべきだなぁと感じる。あー、いろいろ書き直しかなぁ。

 CounterMoveも入れてみたが強くなっている気がしない。とりあえずいくらかの局面において探索深さが落ちている。オーダリングにかかわる部分はほぼ探索深さで効果を測れると考えていいはずだよね? 枝刈り系はもちろん重要な読み抜けが発生しているかもしれないからそれではダメなんだけど。

 オーダリングの方法を変えたらNPSが1/40とかになった。しかしLMRを激しく入れられる気がするので探索深さは伸びた気がしなくもない。これは強いのか? 必要な検証作業が膨大で厳しい。

 できるだけパラメータとか枝刈りの数を減らさないとまともにチューニングできないのでは。

 あと各種枝刈りでdepthがいくらいくら以上のときだけ(あるいは以下の時だけ)適用するみたいな条件文が入っているのが個人的にはものすごく気に食わない。そういう条件を入れるにしても、マージンが大きくなることなどにより実質的に意味がないという形になっていてほしい。手動でその条件入れてしまったら地獄以外の何物でもないのでは。どうやってそれを決定すればいいのかがわからない。実験量が爆発する。StockFishとか強いソフトのパラメータをパクれ? はい……。弱い人間が無駄に拘るの、本当に意味がない。

 グリッドサーチやっていくのはキツすぎるので、なんとかしてパラメータ調整法を考えないとなぁ。最悪の最悪でも自己対局からチューニングするのを自動化しないと本当につらすぎる。

 探索厳しいなぁとか言っている人間なんだけど、そもそもkkp_kpptの時代が終わる感じですか。今更kkp_kpptを導入しているのアホっぽいかなぁ。まぁ半年後まではそれでいくけど……。

将棋

 名人戦は名人が第5局を制して防衛にリーチ。横歩取りのあの形は名人の領域という感じがするなぁ。

その他

 日記の書き方として何か出来事があるたびに下書きとして書いていく方法と、夜にその日一日を振り返ってまとめて書く方法がある。最近はもっぱら前者となっていて、しかしこれだと文章が取っ散らかってしまうなぁという印象が多少ある。取っ散らかっています。

0529

大学

 10:51に研究室着。名人戦第5局の先崎九段の解説を観ていたら遅くなってしまった。たこすけですね。

 さすがにそろそろ研究の方やっていかないといけないということでまずはMeta-Gradient Reinforcement Learningを読み始める。根本的なところでは強化学習のpredictionとcontrolって概念がピンとこないんですよね。Sutton & Barto本でそういう分け方をされていたから話としては分かるけど、方策を単純に価値関数最大化としていたらpredictionとcontrolの切れ目があまりない?

 discount factorである\gammaとTDの係数\lambdaが混在してくると一瞬わからなくなる。\gammaは小さいほうが性能良いらしい。そういうのも全然知らなかった。\lambdaの方はバイアスと分散のトレードオフに関わる?  そういうものなのかー。

 とりあえずこの研究はメタパラメータをオンラインで最適化しようという話らしい。というか今気づいたけどまたこれもDeep Mindの論文? はい……。

 まぁほーんって感じ。

 現実的に研究のネタが出てこなくて結構まずいのでは? という気持ちになってきている。

 サーベイの分野がどんどんわからなくなっていく……。研究してから見つけたってなるの地獄でしかないのでそういうところちゃんとやっていきたいんだけど。

 AlphaZeroの論文を読み直す。elmoの存在感ですね。

 ようやくChess Programming WikiのBootStrapについてのページの意味が理解できるようになった。わかってから見ると、わかりやすい図に思える。

 この論文ではabstにshogiなる文字列が見えて驚いたけど著者みたら保木さんと金子さんで、さもありなんという感じだった。これがBonanzaメソッドの論文ですか。

 David Silver氏の、これは何論文なんだろう博士論文かなが強そうだった。しかし説明がかなり多いので読んでいくのが大変そうだ。

 Sutton & Barto本の第9章プランニングのところはよくわからなかったんだけど、これがいわゆる探索の部分と関係しているっていうことか。確かに強化学習の文脈で言うと探索はまだ学習できてない状態空間を探ることを意味するっぽくて、プランニングとか言ったほうがいいのかな。

 図10.1が本質的という気がする。この本すごいな。すごい。

 最新ドラフトが見れるということで覗いてみた。え、これひょっとして凄まじい本になっているのでは? は~強い。どうすんのこれ。サーベイ量が象さんくらいある。やっていける自信がなくなってきた。

 強化学習って言葉の指す範囲広すぎない? 抽象度が高く、共通した性質が取れるのは良いことだけどつらい面もある。

 午前はそんな感じで終わった。ちょっと一息入れてから将棋ソフト開発をする。探索部をちょっと改善して少しだけ強くなった気がする。評価パラメータをごちゃごちゃいじりすぎてどれが一番強いやつだったかわからなくなってきた。

 バカなので今更ShogiGUI自体を2つ開いて並列に対局させてもいいことに気が付いた。ので対局させてるんだけど、同じ条件なはずなのに2つの勝率が全然違う……。まぁ100局ちょいではそんなものなのかな。統計をちゃんと勉強していないので計算する気が起きない。片方64%でもう片方は55%みたいな、まぁこの中間なんだろうな。計230局くらいで打ち切りますか。さすがにそれ以上ってなると計算時間が厳しい。もっと計算資源が欲しい。

 115局 57勝 12引き分け 44敗 と 120局 70勝 10引き分け 40敗。合わせて235局 127勝 22引き分け 84敗。結局引き分けって無視するのか0.5勝0.5敗なのか、どっちがいいんでしょうね。僕は0.5勝0.5敗の方が好みなんですが。その計算によって勝率は58.7%、Eloレート差にして61.1だそうです。まだまだだなぁ。

 あとはCounterMove周りを入れようと思った。もっとたくさん手を動かさねば。

 5限はグラフについて。なんとかギリギリ付いていけるけど自分では絶対思い浮かばないなぁ。

 そのあとは入玉周りをちょっといじって終了。19時45分ごろに帰宅。お夕食を大学で食べる気になれないのでこの辺の時間が限界なんですよね。そこのこだわりをなんとかできたらいいんだけど。

0528

大学

 10:11に研究室着。遅いですねぇ。

 離散凸解析の講義の課題をやろうとするがさっぱりわからない。L♮凸関数の性質として同値なものを証明する課題なわけだけど、どう変形すれば出てくるのかがさっぱり見えてこない。まだ期限までには多少余裕があるけどこれは困った。ググってもあまり情報が出てこない感じで探し方もわからない。

f:id:tokumini:20180528113305p:plain

 11:29にようやく終わった。気づいてみればまぁそこまで難しくもないかとも思う。諸概念に慣れてないせいでとっかかりが掴めなかったという方が大きそう。

 そのあとはしばらく競技プログラミングをやる。遊んでて大丈夫なのか? わからん。なんもわからん。

 午後はなにもやる気が起きないので何もやらない。何もやりません。やるべきことが何か控えているのか把握できていない。集中力ほんとに存在しない。

 講義まであと数十分となると何も手につかなくなる。こういう時間で精進できないからダメなんだろうなぁ。まとまった時間がないと何もできないのでは、まとまった時間なんてものはそうそう得られないので、何もできない。

 今日のここまでの進捗、課題と競プロ一問だけですか。ひどいですね。やはり時間ベースではなく実際の進捗ベースで評価をしないとダメなのは当たり前で、研究室にいるだけで何かやった気になっているの本当に最悪。

 5限はCVの講義。英語の講義なので何もわからない。講義室全体の幸福度があまり高くなさそうな講義だ。

 そのあとは1時間くらいSutton & Bartoの強化学習を読む。関数近似のところはかなり雑に読んだ。ほぼ読んでないのと一緒。さすがにここから先の内容はちょっと古そうにも思えるけど、だからこそ重要だとも思える。しかし深層強化学習の方に手を伸ばすべきかなぁ。どういう研究をするのかまださっぱり定まってこない。

競技プログラミング

 ICPC2011夏合宿の過去問?を解いた。英語も問題文を解釈するのに手間取ってしまい1時間23分もかかった。わかってしまえば難しくはないんだけど、まぁそこまでは大変。

VTuber

 ところでなぜ普通のYoutuberはあまり好きではない(というか全く観たことがない)のにVirtualなYoutuberならむしろ喜んで観てしまうというところに、ちゃんと説明をつけられるようになっておきたい。まぁやはり人体というものが根本的に好きではないのかなぁというのがまず一つ。あとはキャラクターとして振る舞うところ、なんだけど、正直これは多少怪しいVtuberもあるにはありますよねぇとは思うので微妙か。

VR

 多少違う話題にはなるけど、僕はもっと自分自身がVRに興味を持つものだと思っていた。結局今まで一度もVR機器には触ったことがないままになっている。Oculus Goとかはちょっと気になってはいるんだけど、やはり金銭的な障壁が大きいのか。

 実際にお金がないというよりは、収入がないのでお金は基本的に減っていく一方であるという心理的な不安が大きい。うっかり何かの間違いで博士課程までいくかもしれないことを考えると貯金はいくらあっても足りない。

その他

 生活が回らないと常に思っている。家事をする気にならない。部屋の掃除ができない。必要なものを買わないまま過ごしている。

 利用規約を読んでいると「本利用規約については、ユーザーに対する事前の通知なく、○○が変更できるものとします。本利用規約が変更された場合、当該変更後のユーザーによる本サービスの利用には変更後の本利用規約が適用されるものとし、当該利用により、ユーザーは当該変更に同意したものとみなされます」みたいな文言を時々みかけるけど、実際これってどの程度効力があるものなんだろうか。

 「努力・友情・勝利」みたいななんかよく言われるフレーズがあるけど、僕の人生にはどれもないなということに思い至って面白かった。「怠惰・孤独・敗北」ですか。

0527

大学

 09:17に研究室着。また今日から頑張っていきましょう。

 回していた学習の結果はあまりよくない。静止探索のバグを取ったら重くなって深さ3の探索すらかなり厳しい感じになっている。本当に探索深さって重要なのかな。よくわからない。

 しかし10:30くらいまであまりの眠気にほぼ寝ているような状態だった。これでは意味がない。

 Noviceの探索部を見ているが、さっぱりわからない。探索部、僕の頭脳に対して複雑すぎる。

 探索部難しすぎる。人間にできることではないでしょこれ。

 探索部無理。要素が多すぎてこんなのを最適化するの地獄でしかないじゃん。

 枝刈りホンマか? 嘘っぽすぎる。

 相当慎重に実験しないと何がどれくらい効いているんだかもわからなくなってしまう。そんな資源はないよ。

 探索部わからん。写経すらできない。意味が分からない。吐き気がこみあげてくる。

 探索部に対する違和感を何とかして取り除かないとプログラミングができない。

 20時過ぎに帰宅。疲れてしまった。

デレステ

 久しぶりにデレステの話。

 最近いらっしゃった水木聖來さん。アイコンがかっこいい。

 性能的にブライダル渋谷凛さんが欲しくていくらか回したけどまぁ来ない。代わりにライラさん、松永涼さんが来て、クールばかりが増えていく。

 Pa2,Co10,Cu4みたいなバランスの悪さ。まぁだいたいCoのキャラが好きなことは多いので別にいいんですが。

 システムの方では営業なる要素のNew表示を消すのがめちゃくちゃ大変なのが不満ですね。あまり面白くないスマートライブをやってでも消したい人間なのに。

 前も載っけたことあると思うけど、北条加蓮さん……!

 以上です。スクショ撮るためにスマホから入力しているけどやりにくい。

0526

 今日は研究室に行かず家でゆっくりすることにした。土日のどっちかは休みにしたいと思っていて、AtCoderがある日を休みにしようかなぁという感じ。

 午前中は将棋ウォーズで多少指して、午後はカープ戦観ながら叡王戦観てという感じ。

 9時からはAtCoder。ダメでした。

叡王戦

 星が偏ってるから不利な方を応援するというのは、自分の中では無しのつもりなんだけど、さすがにこの叡王戦では多少金井六段を応援する気持ちも発生していた。

 しかし勝負というのは厳しい。実力差、なのかはわからないけど、4連敗というのはやはり大きな差があるということなんだろう。

 解説の三浦九段が「△5四香を打ってくれ」と言っていたシーンもあり、やはりどこか終盤に危うさがあると思われている面もあったんだろう。勝負の世界で舐められたらきっとダメだ。

 なんだか最近は感傷的な気持ちも強く、敗者に感情移入してしまうようなところがある。結果は4連敗だったけど、金井六段のタイトル戦が観れて良かったと僕は思う。

 気を取り直して。高見叡王が誕生ということで、基本的には髙見七段を応援していたので嬉しいです。おめでとうというよりも、やはりファンとして自分が嬉しいということが大事だというのが僕のスタンスです。

 高見叡王はインタビュー記事でも世代意識が強いということを明らかにしていて、そういうところでちょっと共感してしまうところもあるわけだけど、まぁなんというか僕は勝負師ではない、本当の勝負師というのは高見叡王みたいな人のことを言うのだ、という感じですね。勝負にかける情念。僕の中にあるのか?

0525

日記

 9時30分ごろに研究室着。起きたのはそこそこ早かったのにちょっとだらけてしまった。

 今日も強化学習本読もうかと思ったけど、やっぱりプログラミングの日にすることを決めた。気になっていたことに手を付けていく。

 1時間くらいかけて1.引き分けの評価値、手数をUSIオプションから指定できるようにする、2.玉が動いてCaptureではない手についてもSIMDを利用して差分計算する、学習の最初にランダムムーブを入れるのを完全ランダムではなくSoftMaxでのランダムにする(意味あるのか?)など。

 強化学習本を読む。\lambda収益アルゴリズムとTD(\lambda)という呼び分けがいまいちしっくりこない。前者もTD(\lambda)なんじゃないの?

 まぁそれ以外は結構わかってきて面白いなーって思うけど、今のところ全部テーブル形式で価値関数を表現する場合の話であって、関数近似し始めるとまた事情がかなり変わるんだろうなとも。特に非線形関数、まぁ今の流行で言えばニューラルネットワークですか、を使う場合にはいろいろ大変な事象が発生しそうだし、強化学習的な問題なのか深層学習の方の問題なのか切り分けられなくない? みたいな気持ちもある。ネットでポチポチ調べていたらRainbowとかいう全部乗せの最強アルゴリズムがあるらしくて面白かった。

 

 調べていたらICLR2018読み会@PFNなんてものがあったのか。参加してみたかった、というところでYoutubeライブ配信があるとの文言を見て素晴らしいと感じた。強い。 connpass.com

 報酬の確率分布をちゃんと考えようというの実にそれっぽい流れだと思うけど競争激しそうでウォーって感じ。

 ちらっと考えていたことも当然ながらもうやられているっぽいし、より高度な領域に踏み込んでいっているようで、ここに突撃するのきつくない?

 The Reactorってやつがそうですね。まだ全然読んでないので本当にそうなのかはわからないけど。というかDeepMindの論文ですか。うーむ。深層強化学習の分野、DeepMindだらけな気がしてしまうんだけどそれは僕がまだまだものを知らないから目立つところだけ見えてしまうということなんだろうなぁ。

 帰ってからはちょっとしてからオンラインでの競技プログラミング練習会。ちょっと現代って感じですね? 僕が遅れているだけである。

 書きたいことがいっぱいあったはずだったけど終わり。カープは勝ちました。