日記

日記です

0223

これならわかる深層学習入門

 10章の続き。ボルツマンマシンのところ理論が難しい。いやまぁボルツマンマシン自体というより近似手法の問題かもしれないけど。

将棋ソフト開発

 バグが取れた気がする。後手番の時評価値反転させてなかった……。

競技プログラミング

 ABC012のDを解いた。ワーシャルフロイドやるだけだったので簡単(といってもワーシャルフロイドググらないと書けなかったけど)。13分でAC。

 疑似コードを真似しただけでアルゴリズムの根本を全く理解していないので、時間もあるし蟻本を開いてワーシャルフロイドのページを見る。なるほど、頂点0~kを通っていいときのiからjへの最短路をdp[k][i][j]として、dp[k][i][j] = min(dp[k-1][i][j], dp[k-1][i][k] + dp[k-1][k][j])ということになり、これは同じ配列を使いまわして書けるからdp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j])ということなのか。頭が良い。

 だいたい一個目の添え字が多いけど、dp[i][...]を求めるときにdp[i-1][...]しか参照しないなら上手いこと配列を使い回すことができるよねみたいなの、すぐは真似できなくとも意識はしておきたい。ある程度何か条件があるとは思うんだけど。

その他

 努力家だと思われるのは癪なのでオタク話を増やそう。

 まぁその前に多少言っておくと、僕が「息を吸って吐くように努力ができる人」だったら東大に受かっていたでしょうねぇ。そうじゃないってことはそうじゃないんでしょう。

 別の視点として、僕は自分の理解力とか思考能力に多少自信があるから「努力していれば東大受かってた」とか嘯くわけですが、競技プログラミングとかをやっていると自分は本当に頭が悪いなぁということを何度も感じるわけで、本当は努力してもダメだったのかもしれませんね。努力しなかったからそれすら確認できなくなってしまったわけだけど。

 プライドと実力にギャップがあると苦しくなりやすいと思う。高校受験のあの日だけ実力以上のものが出て、高校3年間は実力以上にプライドをむくむくと育ててしまう期間だった。その分、大学に入ってからの3年間は実力を上げてプライドを下げることに費やすことになったわけだけど。最近ようやくなんかまぁ普通くらいでいいやっていう気持ちになってきましたかね。

 この「ワアワア言う人」を目指したい。

東方

 だるまさんの絵を肴に東方について語ろうシリーズ第3弾。存在は知っているけど名前はわからないキャラクターだ……と思ったらだるまさんがアリスと言ったいたのを見てアリス・マーガトロイドという名前を思い出した。どんなキャラクターかはさっぱり知りません。敵(という言い方でいいのか)なのか味方なのかもわからない。

 そもそもわかる(名前と見た目が一致する)キャラクターが霊夢魔理沙を除いたら、あとはチルノくらいしかいないのでは。

 キャラクターの話はわからないので音楽の話をすると、まぁ知っているのはニコニコ動画などで有名ないくらかの曲と天空璋の曲くらいですか。天空璋では最初の道中曲と、双子? っぽいボスの曲(クレイジーバックダンサーズだっけ)が好きだと思った。音楽を聴くついでにシューティングゲームをプレイするみたいな感覚がある。

Vtuber

 昨夜は月ノ美兎さんの生放送を観ていたので寝るのが遅くなってしまった。この人小学生の頃にいろんな雑草を味見していたとかいう話をしだして意味が分からなかった。モミジは不味いらしい。

 相槌? として「そうそうそう……」って言うのが好き。こういうの観てると口癖とか移ってしまいそうで怖い。僕が「そうそうそう」って言いだしたら誰か止めてくれ。

0222

これならわかる深層学習入門

 今日は下宿先に戻ったりするので忙しかったのであまり読めなかった。

将棋ソフト開発

 自己対局からの学習、評価関数を2つ使えるようになった(多分)。まだバグがある可能性の方が高いとは思う。

 しかし時々なんか固まるなぁ。回しっぱなしで放置できないのはちょっと困る。しかしこれ強化学習で無限に強くなるのでは!? とか思ってしまうな。無限に強くなってくれ。

競技プログラミング

 ABC011のDを解いた。そうか……、僕はこれが解けないのか……。という感じ。1時間かけてもダメだったので解説を見たけど考え方自体は間違っている気がしなくて、しかし解説のやり方で実装したら解けた。意味が分からない。こういうとき本当に自分の頭の悪さを痛感する。なにもわかりません。

 競技プログラミング、なんとなくスキルアップ(この言葉も好きではないが……)に近いもののような気がしていてついやってしまうんですが、本質的にはゲームとかで遊んでいるのと大差ないんですよね。毎日1時間以上ゲームしているので本来ならこれ以外の遊びをやっている余裕はないんでしょうね。

東方

 だるまさんの絵を肴に東方の話をしようシリーズ第2弾。霧雨魔理沙さん、どういうキャラクターなのか一切把握していない。天空でも使ったことないんだ……(初心者なので? 博麗霊夢さんしか使っていない)。

 「博麗霊夢さんと霧雨魔理沙さんの関係性!」というオタクが多い気がする。よくわからないけどそういうことなんだろう。

 片側だけ編んで垂らしている髪型がキュートですよね。ヴィジュアルでは博麗霊夢さんより好きかもしれない。

デレステ

 久しぶりにがっつりやった。知らないうちに城ヶ崎美嘉さんの5話目(!)が解放されていた。感想は特になし。

 美に入り彩を穿つがプレイできるようになっていた。初め聴いたときはちょっと忙しないとか思った気がするけど、まぁ慣れればですね。忙しなさがVOCALOIDの曲っぽい(雑なくくり)とか思ったりもして、最近また自分の中でボカロ曲に回帰するような流れが起きつつあるのでそういうあれもあるのかもしれない。ないのかもしれない。

 イベント曲は別に……という感じですかね。

その他

 日々の進捗を記録していく日記のつもりなのになんかオタク話するところになっていないか? まぁいいや。

0221

これならわかる深層学習入門

 10章の続きを読んでいく。ギブス・サンプリング頭良さそう。話の抽象度がわりと高いので何か上手いこと例を考えてやっていきたいなぁと思っているところ。

将棋ソフト開発

 学習部のバグを取る取る。ちょっと回してみた感じだと上手くいっている気がするけど、わからん。一応損失は吐かせてみてるけど、明確な教師ありでもないからそんなに変化するものなのかなぁ。自己対局させてみて検証するしかないとなると大変な気がする。やっぱり学習用局面生成自体を自己対局の検証にした方が良さそうなんだけど、自己対局で2つの異なる評価関数を使う実装をどうすれば楽にできるか。楽にしようという考え方が間違っているか。

 探索って結局何をしているのかわからなくなってきた。根本的に探索深さを大きくすると強くなるっていう話がよくわからないっちゃよくわからないんですよね。もちろん詰みまで読めていればそれは強いんでしょうが、詰みの関係ない序中盤でも深い方が強いっていうのはちょっと不思議な話にも思える。

競技プログラミング

 ABC010のDを解いた。いやーこれABCの中ではかなり難しい方に入るのでは。1時間考えてもわからなかったので解説を見るが、それでもなかなかパッとは理解できず計2時間13分かけてAC。結局、この人の提出を丸写ししたような感じになってしまったけど……。典型問題ではあるんだろうからこういうの解けなきゃな。

 他の人の提出見てもわりと同じような実装が多くて、みんな写しているのでは? とかちょっと思ったりする。まぁフローのライブラリを整備しているっていうことなんでしょうね。ライブラリを作るのは僕もそろそろ考えなくてはなぁ。

 にしてもとうとうフローの問題にぶち当たったか……。この辺ほとんど知らないのでちゃんと勉強したい。

将棋

 叡王戦・決勝戦のPVが公開されましたね。

 いやぁおしゃれ。ピアノかっこいいなぁ。どちらかというと高見六段持ちだったわけですが、これ観て一気に金井六段も素敵だなぁなどと(ミーハー)。

 1時間の対局が5,6戦目に来るということで、これがどうなるかという感じですね。一日に2局やるらしいというのも含めて面白い試みだと思います。楽しみ。

東方

 唐突にだるまさんの絵を肴に東方の話をする。

 東方は最近Steamで出た、なんだっけ、天空璋? しかやったことないのでよくわからないんですが、このキャラクターは知ってる。主人公的な……、名前が出てこない、博麗霊夢さんか。

 東方の文脈がわからないの、なかなか致命的な問題な気はするんですよね。しかし今からやったところで青年期でやったという文脈を得られるわけではないんですよね。悲しい。

 天空璋、結局一番簡単な難易度ですらノーコンクリアできてないのでもうちょっと頑張ろう。

DDLC

 もうちょっとちゃんとやるべきだったなぁと反省している。うーん、やっぱり上手くゲームをプレイできないという感覚がある。作品をとことんまで味わい尽くせてない。

 ゲームでも本でもアニメでもいいんだけど、鑑賞しているときに焦りがずっとあるから雑な消費になってしまっているんじゃないかという気がする。こんなことしている場合ではないのでは? という焦燥感。

 そんなことをするべきなんだろう。時々は面白い作品に触れないと精神が濁っていくような気がするし、それは必要な時間だ。

 ちゃんと時間を区切ってもっとバランス良くやっていきたいですね。まぁ現実的にはちょっと今余裕がないと言えばないのかもしれないけど。競技プログラミングに毎日1~2時間持っていかれているのが結構厳しいですね。青コーダーになれたらちょっと休止して本読んだりする時間に当てますか。将棋ももっと指したいんだけどなぁ。

その他

 ナンセンス、シュール系のギャグが好きだというところはあるかもしれないなぁ。

 なにをどこに書けばいいのかわからなくなってきたのでまとまりのないブログになった。

0220

これならわかる深層学習入門

 10章のボルツマンマシンのところを読み進める。厳しい。式変形がさっぱりわからないぞ。

将棋ソフト開発

 自己対局から学習できるようにできた。まだ学習式が間違っているかもしれないけど……。とりあえず一晩回してから検証してみますか。

競技プログラミング

 ABC009のDを解いた。1時間考えてもわからなかったので解説を見る。なるほどですね。賢い。

 しかしこの提出ではTLEになるのか……? んん、わからない。累乗の高速化これではダメなのか。whileループでやっていくのと本質的には計算量同じな気がするんだけど。

デレステ

 イベント触ってないのは初めてかもしれない。ぐぬぬ……。

その他

 僕は精神が弱いの勉強をしているときに寂しくなって動画を付けてしまう。最近は月ノ美兎さんの動画を観たり。さすがにVtuberにハマるのは軽薄なオタクっぽすぎて嫌な感じもするけど、これは普通に中の人が面白いのでね。そういうのを売りにするのはVtuberらしくないと言えばらしくないのでそれでいいのかという気持ちもあるけど、まぁそれはそれとして。

 普通に3Dモデルを頑張るみたいな路線の人も好き(ねこます、みゅみゅ、もちひよことか?(敬称略))なんだけど、じゃあ僕も3Dやるかとはならないかな。やっぱり興味の中心はアルゴリズム系だと思う(思っているだけ)。

 僕は声優の方にはあまり興味ないんですが、声優にハマるのもこんな気持ちなんだろうなぁとかちょっと思う。背景で流すなら動画よりラジオの方が良くて、それなら声優ラジオとかどうなんだろうとかちょっと考えることもあるけど、時間に縛られたくないのでいつでも視聴できる形式であってほしくて、ラジオのアーカイブって探し方がよくわからない。

 いやそもそも勉強するときには集中してろって話なんですけどね。競技プログラミングとか将棋ソフト書いてるときはそういうの付けないので、やっぱり勉強は一段興味が落ちる感じがしている。まぁそんなでもやらないよりはマシかなーって。

0219

これならわかる深層学習入門

 10章を読んでいく。物理よりの解説でちょっとよくわからない部分も多い。うぇー厳しい。

将棋ソフト開発

 自己対戦できるようになったので後は学習を書こう。これいちいち局面書きだす必要はあまりない気がするんだけどどうなんだろうなぁ。

競技プログラミング

 ABC008のDを解いた。1時間かけて全探索の部分点解法だけ書いて解説を見る。昨日DPは多少できるようになったとか言ってましたが嘘ですね。なるほどなぁ。こういう風に状態をまとめるのか。

 座標圧縮は実装が面倒そうなのでメモ化再帰をmapでメモすることによりAC。

 他の人の提出を見てたらこういう深いmapが必要な場合にいい感じの書き方を発見した。

 C++の知識が浅いのでこういうの全然知らないんですよね。

その他

 もう2月が終わってしまう……。やっぱり僕はダメだなぁ。

0218

これならわかる深層学習入門

 10章の序盤を読んだ。グラフィカルモデル、あまりそうやる意味が感じられない。条件付き確率というだけではなくて? うーん。

将棋ソフト開発

 教科書読むのに手間取ってしまったが無理やり進捗を生み出した。本当にちょっとでもいいから毎日やっていく習慣を崩したくはない。

競技プログラミング

 ABC007のDを解いた。1時間20分ほどかけてAC。一応解説は見ずに解くことができた。といっても桁DPという単語でググって、ヒットする記事の中にこの問題に言及しているものがあったから桁DPで解くのが合っていることは確認してからということになるんだけど。

 遷移をかなりゴリ押しで書いたのでもっと奇麗に書けるようになりたい。しかし解説を見ずに解けたのは結構自信になったぞ。典型DPくらいはようやく書けるようになってきたか。多少は状態をまとめるとか同一視して減らすとかそういう感覚がわかってきた気がする。

 AtCoder Problemsの毎日AC結構続いている。

f:id:tokumini:20180218121852p:plain

 ABC088にも出た。32:41、0WAで全完。110位でした。経路復元で微妙に手間取ったけど、ダイクストラ法もわりとスッと書けるようになってきた。

Twitterでの話題

羽生結弦さん

 羽生結弦さんがラプラス変換の勉強をしているという話、良さがありそう。ありますか?

 どうしても僕は大学生だし大学とか学問が良いものだという立場から抜けられないんですが、これは完全にポジショントークだよなぁという気はする。きっと良いことだと信じたい一方、他のあらゆる正義を振りかざす人も同じ気持ちなんだろう。

 羽生結弦さんはこの記事によると通信制の大学で勉強しているみたいですね。4年より多くかかるというのも実に自然な話で、こういう本業を持った人がやれるペースで大学の勉強をしていくっていうのは良い話に思える。みんながみんな4年で卒業する必然性も特にない気はするので。それにまぁ卒業できなくとも学んだことが消え去るわけでもないし。留年の問題はお金だけで、こういった人にはおおよそ関係がないだろうな。

早稲田の入試・小論文

 僕は結構この解答例1が好きだったりするわけですが、人々の反応を見てみるとわりとボコボコに言われてて「ア……」という感情になった。試験として出されたらその場で思いつける気は全くしないけど、思いついたら書いてしまいそうですね。そうしてハイになっていくうちに何を問われていたのかを忘れて解答としては0点になるパターンだ。僕はそういう受験生だった(現代文で全く点とれない)。

 自分の中にそういうアレなところがあるということをちゃんと知っておくのは大事なことに思えるのでこういう機会はわりと貴重な気がする。性格が悪いとはよく自虐するけど、その時に念頭に置いているのはこういうことではないんですよね。僕は悪い。

0217

これならわかる深層学習入門

 9章の後半を読んだ。LSTMとかGRUとか。ゲートが入ると複雑になって逆伝播とかちゃんと理解できてない。Seq2Seqは入力の表現をそんなに圧縮して良いものかとちょっと驚く。それでうまくいくものなのかー。

将棋ソフト開発

 自己対局から学習する準備をする。実装力がない。

競技プログラミング

 Code Festival2016の本戦Aを解いた。今日は時間がなかったので100点問題でお茶を濁すというムーブです。

 HACK TO THE FUTUREにも出た。マラソンマッチ=焼きなまし法というイメージが頭にあって問題を適切に考察できていないのは良くない。

その他

 今日は朝日杯とマラソンマッチで日課がまともにこなせなかった。明日から本気出す。