にっき「続・コンピュータ科学」
今日の進捗はだいぶマシな方だった。といっても講義をややちゃんと聞いていた程度だが。
8時起床。本当は7時くらいが理想だったが、とても久しぶりに朝ごはんを食べたりゴミを出したりした。少し生きた心地がする。
2限は無理に2窓して普通に駄目だった。流体方程式をフーリエ変換だっけ。ふーん程度にしか聞いていないのでちゃんと論点が分かっていない感じがした。流体は非線形だからフーリエ変換後が面倒なことになりそうだが、果たして…?
2窓の反対側はキャッシュの話。1段キャッシュさえ理解すれば仮想化みたいな概念で多段キャッシュを組めると思っていたのだが、なんか違うらしい。挙動が難しいねえ。あと、自分の世代より後輩の方が授業内容も質問内容もちゃんとしていてえらいなあ。共有メモリのキャッシュの一貫性が崩壊するという質問が出ていて大変なことになっていた。偶然にもこれが4限への伏線となる。
お昼は迷った挙句、野菜たっぷりタンメンを頂いた。手っ取り早く健康になれる。具体的には便秘が治ったりする。
3限は涙の最終回。最後にreservoirという凄く汎用的な概念のお話を聞けた。日本語訳は「情報溜まり」とされるらしい。話は割と単純で
- 系を何か用意する
- 毎秒、入力を系に流し込む
- 毎秒、系の何かを出力する
これだけである。大事なのは入出力がストリームになっていることだと思う。最初のニューラルネットは入出力が1発で、時間の概念がなかった。RNNが時間らしき概念を投入したが、人間の脳には程遠い。
講義の方では「ここでRNNのところを一般の何かの系にしてみちゃいましょう」などと大胆な展開が中々衝撃的だった。そこから水槽やらタコ足やらを使った謎の系と謎の計算機械がわさわさしていて笑った。とにもかくにも、reservoirというモデルの視点から今までの講義を全部見つめ直してもいいんじゃないかとさえ思える、最終回に相応しい講義だった。
4限、ちょっと力尽きて序盤を聞き逃す。なんか気づいたら分散システムのキャッシュ一貫性の話をしていた。しかもレポート課題になっている。つまりちゃんと調べなければならんということですね。気が向いたら後輩に共有しよう。無事に書ければだけど。それと、本来全然共有でもなんでもないメモリ同士が同じライン(ブロック)に乗った挙句共有メモリみたいに制御されてえらいオーバーヘッドが出るという話。とてもやらかしそうなので忘れたくないですね。
後半は行列積のガチガチ最適化。ループ順を入れ替えたりアンローリングしてみたりで何倍も速くなるよということであった。長々と為になるお話を頂いたのだが、要約すると演算の計算量とメモリアクセスの演算量は別に考えるべきで、後者の最適化はキャッシュが非常に重要ということであった。アクセスはO(1)と信じて疑わないのは現実的にダメである。これがコンピュータ科学の恐ろしいところなんですよー。
この講義は次回が最終章で、行列積多段最適化みたいなすげーことをするらしい。次回予告あると見る気になるよね。先生はもっと次回予告をしろ。
あとは大学院の夢をちょっとだけ見て、明日の説明会の資料をちょっとだけ見た。志望も人生も揺れに揺れているが、沖縄の件には一つの決着を見出せるかーもしれない。とりあえずあと2ヶ月くらいは封印しよう。
わーわー言っているが、目の前の課題は終わらない。普通に重い。なんだろうなー、普通に取りすぎですか。頭が回らない、無能をしています。
あ、そうだ。忘れてたけどこれは書いておこう。「象は鼻が長い」の解説をする動画を見た。日本語の「は」には凄い力があるのだという。これも今日気を取られた要素の一つである。それはそれとしてNLPの論文探しをしろ。ぎえー。おわり。