記録によれば 7:55 に起きて、今見た夢を記録しようとして、
「夢日記。ノートブックサンダル」
と書いたメモがある。 これさえ書けば記録したつもりでいたのだろうが何のことか分からない。
Reinforcement Learning with Prediction-Based Rewards. 分野外の人間にも強化学習という枠組みはエキサイティングに見えるらしくて、こんな論文を教えてもらった. これもまたコンピュータゲームを解かせる為の強化学習的な枠組みである. 強化学習では、どういう状況に対してどういう報酬を与える、という部分を人間が設計する必要があって、そこが大変重要になる. (報酬は普通実数.) 普通はゲームであればスコアだったり、あるいは生命を模したエージェントであれば生きた時間であったり、あるいは二足歩行で歩くロボットであれば歩いた距離や速度であったりが報酬であってそれは大変直接的な意味を持つ. 彼らが提案する Random Network Distillation はそこが間接的になっていて、つまり、未来の予測不可能さを報酬としている. ゲームであれば、正しくステージを進めば今まで見たことのないステージが出てくるので、それは全く予測出来ない画面がモニターに映し出される. そういう状況を良いと定義しようと言っている. 逆にマリオが穴に落ちたら普通はゲームオーバーになる. これは大変予測が可能だからすべきではない. ゲームを解く強化学習でなくても、未来の予測不可能性は使えるかもしれない.
今日は金曜日でミーティング続きの日であるので時間がなくて、会社で出る社食を食べた. 私はこれを給食と読んでいる. 今日は何だかよくわからない肉の合わせ肉の塊を食べた. 美味しくなかったのが第一にあるし、一体何のお肉なのかどこにも書いてなかった (メニューが印刷された紙が貼ってあるのだが、そこには和風ソースを掛けたことだけをアピールしてあった)のが大変不気味で食欲がなくなった. ミートホープで YouTube で検索してあの動画をみんな見るべきだ. 内臓や血管も結局は肉と同質なものであって、混ぜてアレば分からないのだから.
コードレビューというものが本当に嫌い. 動くことが何よりも優先される正義だと思うし、次に人間の読みやすさだと思う. 読みやすさとはコードの簡潔さのことであって、基本的には短いものが良いものだと思う. コードゴルフのように変数名は一文字だとか、コメントは書くべきではないだとか、そんな過激なことを言ってるのではなくて、 \(n\) 以下の自然数の和を求めるのには、for文を回して足し算を \(n\) 回行うよりは、教科書に載っている公式を使う方が良くて、 せいぜいその上にコメントで、
// sum up to `n`
と書くくらいでいいと思う. 人間の感情なんてどうでもいい (どうでもいいと思うこの心も感情だが).
正直村の人間と嘘つき村の人間がいて〜という論理パズルがある.
「あなたはあなたですか?」
で全て克服できることに気付いた.
念の為: 「質問は一度まで」といった類いの制約は無意味である. 質問は本質的に不可算だからだ.