日記

日記です

0216

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

 9章の前半を読んだ。RNNの基本辺り。しかし基本とは言っても普通に学習アルゴリズム難しいので完全に写経するだけになってしまった。通時的誤差逆伝播(BPTT)の方は多少わかる気がしなくもないけど、実時間リカレント学習法(RTRL)の方はもうちょっと頑張って式をかみ砕かないと理解できなさそう。まぁそれは自分で必要に応じてやることなので……。正直RNNはあまり触らない気がするのでモチベーションがそこまで高くないという問題があったりする。

将棋ソフト開発

 精神が死んだりしていたので進捗なし。たぶん評価関数やらなきゃいけないし、それはまぁ方針あるかなーって感じなので

将棋

 3局指して最初の1局だけ棋譜を保存していなかったのが悔やまれる。後から見れるものだと思っていたけど、もうちょっと対局数こなしてなんか制限を解放しないとダメっぽい?そこに制限かけるのはどうかなぁとか思ってしまうけど、まぁ他の面では使いやすいししばらくはここを主戦場にしようかなぁとは。

競技プログラミング

 ABC006のDを解いた。1時間近くかけて50点の部分点解法までたどり着いて、どこで諦めて解説を見た。なるほど頭いいなぁ。こういう視点の切り替えみたいな考え方をもっと身に着けていきたい。解説読めば実装は楽だったので1時間8分でAC。そしてそうか、他人の提出見て気づいたけどlower_boundが有効利用できる問題だったか。使えるところではそういうの使っていきたい。

その他

 AtCoderランクについての話で他人(chokudaiさん)が叩かれてる(というか難癖つけられてる)のを見て勝手にダメージ受けてしばらく機能が停止してしまった。なんというか、他人の悪意に慣れてなくてそういうものが存在するっていうこと自体にちょっとショックを受けてしまうようなところがある。温室育ち、というかあまり人間関係をやってこなかったツケなのだろうなぁ(高校帰宅部・大学サークル入らず・バイト経験もなし)。

0215

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

 8章の後半を読んだ。CNNの誤差逆伝播の理解がきわどい。実装しろと言われたら絶対にできない。空間計算量がめっちゃ必要そう?

 Adversarial Exampleに近い話が載っていて面白いなーと思ったけど、Adversatial Exampleの解説によるとどうやら高次線形性が問題っぽい? 強化学習に対するattackとかもあって面白そうな話題だ。

将棋ソフト開発

 久しぶりに強くできたかもしれない。嬉しい。

 にしてもSquirrelが公開されているのは知らなかった。

 僕もあまり目立ちたがりではない方だけど、だるまさんは輪をかけて秘密主義というか、いや公開しているんだから秘密にはしてないわけだけど、Twitterに通知を流さない人だというか。優秀な人なのに。

 世の中にはこういう目立たないけど強い人というのがもっとたくさんいるのだろうし、能力で競っていくみたいな考え方は地獄しか生まなそう。

競技プログラミング

 ABC005のDを解いた。これはすぐ解法が見えて20分で解けた。たまにはこういう日もないと。よーしよしよし。

ゲーム

 1日1ACに時間がかからなかったのでその分をゲームに費やす。Doki Doki Literature Club!日本語化パッチ当ててやりました。うん、結構面白かった。途中までやってたの、結構進んでたんだな。この手のゲームが好みであるというの、二重の意味で言うべき感じになったかもしれない。ある種のボーイミーツガールものとして捉えられないかなぁ。

その他

 発見されてて笑った。どうやったらこんな辺鄙な日記を発見することができるんだろう。まぁ別に声かけることでもないので黙っているけど。一応Twitterのリンク貼っているので本気で探ろうと思えば探れるはず。

 いろいろ中途半端に隠しながらやっているので誰が何を知っているのかがよくわからない。特に僕のAtCoderアカウントはどれだけの人が知っているんだろう。一時期は本気で隠そうとしていたけど最近はレートを明らかにしているのでランキングをたどれば確実に発見できるし、そもそも診断人さんへ質問した自分の提出ツイートを見れば一発である。

 真名を教えないインターネットの風習にしたがう。が、僕は完全にリアルとインターネットを分離させる気もないので、調べればわかるという感じになっている状況はわりと気に入っている。顔と名前が出てしまっている時点であまり怖いものもないなーとは思うものの、発言には気を付けなければいけない。

 たいていのサービスで同じ名前を使っているから一つでバレると全部つながる気がする。このブログも、将棋ウォーズも、デレステミリシタも、AtCoderも、steamも、同じIDとか名前でやってるわけだしな。

0214

将棋

 千田-三浦戦は角換わり。後手の棒銀に対してもああいう受け方で大丈夫なのか。参考になる。やっぱり腰掛銀がさいきょーですね。とか思ってたら千日手になってて面白かった。千田六段の角換わりが2局も観れるなんてお得だぜ。まだ途中だから結果はわからないけど、やっぱり角換わりは面白いなぁ。

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

 8章前半を読んだ。CNN、本当にフィルタ適用なだけなんだなぁ。学習可能なフィルタというのが大きいんだろうか。単純型細胞と複雑型細胞の話を読むとそれっぽく感じるけど、まぁそういうものなのか。うーむ。

 最大プーリングと平均プーリングがLpプーリングで統一的に書かれるっていうの、まぁ基本だとは思うんですが面白い話だと感じる。

将棋ソフト開発

 並列化に手を付けたり。ふらふらしてるなぁ。成果は上がってないし。体力不足でなかなか集中力が続かない。

競技プログラミング

 ABC004のDを解いた。ACまでに2時間半かかりました。地獄です。

 1時間くらいでアルゴリズムはわかった気になっていたんだけど、2つだけWAがどうしても取れない。assertで入力の大きさを二分探索して正解しているコードをコピーしてきて比較してようやくGの中心をずらす必要がある場合があることに気づく。邪悪な提出をしまくってごめんなさい。僕は頭が悪すぎる。

 なんだろうなぁ。座標でやっていくということを考えなければならなかったのか。伸ばす量でできると思い込んでいた。

 こういうのコンテスト中だとどうやって修正していくんだろう。厳しい。

 とにかくつらかった。AtCoder、唯一と言っていい欠点がテストケースがわからないことなんだけど、それがかなり重大に思えてくる。chokudaiさんもAtCoderは過去問を解くサービスではなくコンテストを開催するサービスだって言ってたし、まぁそういうことなんだろうなぁ。しかしつらかった。

その他

 Doki Doki Literature Club!の非公式日本語化パッチが公開されてますね。どうですか。僕はというと、やるかは微妙だなぁ。

0213

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

 7章の後半と8章の冒頭を読む。

 7章の後半は積層自己符号化器、デノイジング自己符号化器、収縮自己符号化器あたりの話。収縮自己符号化器の話がよくわからない。多様体のイメージがつかめてこない。縮小正則化が重み正則化とかスパース正則化、ティホノフ正則化あたりに結びついていく? のが面白い気がする。理屈はよくわからない。

 8章からは畳み込みニューラルネットワークの話になる。わりと気になっているところなので頑張って読んでいこう。

 章の数で考えると良いペースなんだけど、ページ数で見るとあまり良くないなぁと思って確認してみたら10章のボルツマンマシンのところがかなり量が多いみたいだ。まぁ記述量が多いのは悪くないことだと思う。ボルツマンマシンも気になるところだしなー。

将棋ソフト開発

 Null Move Pruningが上手くいかない。探索まだまだ改善の余地があるはずなのに全然わからない。苦しい。

 これ以上詰まっていても仕方がないので評価関数の方に手を付けるべきかなぁ。はぁ……。

競技プログラミング

 ABC003のDを解いた。今日からABCのDだからちょっとは楽になるのかもしれないと変な期待をしていたけどそんなことはなかった。さすがに部分点解法は一瞬だったけど、包除原理わからんくて解説読んでも「?????」って感じだった。このブログが参考になってなんとか通せたけど、よく見たらkivantium御大ではありませんか。

 川奈氏、高校の頃は同級生だったのにあまり接点がなくてどれほど優秀な人かわかってなかったんだけど、各種ブログ等々での活躍を見るとすごい人だなぁと思うことが多い。そんな彼でもなかなか苦労は多いようで、やっぱり僕程度では生きていけませんね。

デレステ

 もう1週間近くまともにプレイしていないし完全にログインボーナスだけもらう人間になっている。そのうちログインボーナスをもらい忘れて全く手を付けなくなるパターンだこれ。まぁあまりやることもなくなってきているしなぁ。

 デレマス自体が好きかというと微妙なところがあって、単にアイマス周辺にいる悩みがちなオタクと北条加蓮さんが好きなだけだなぁという気はする。しかし前者は結構重要な問題で、好きなタイプのオタクを効率的に発見するためには人が多いコンテンツを多少追いかけていないといけない。流行イヤイヤ期になっているのでそれもちょっと辛いことではあるんだけど、まぁまぁ上手くやっていきましょう。

 とはいってもこの前発表された新しいアイマスを追いかけていくことはなさそうかなぁ。なんとなく、触る余裕がない気がする。まぁミリシタすらまともに触ってない時点でお察しです。

アニメ

 生存、戦略~~!

 昨日生きる戦略がどうのとか言っていて輪るピングドラムを思い出したりした。僕はアニメという表現形態がそもそも得意ではないと思うけど、幾原邦彦の作品はわりと好きな気がするんですよね。といっても輪るピングドラムを1周とユリ熊嵐をちょっと観たくらいなんですけど。ウテナは長くてなかなか観る気がおきない。ユリ熊嵐をちゃんと観たいなぁと思っている。

 そういえばポプテピピック6話は結局観れてない。りゅうおうのおしごと! もそうだけど将棋を題材にしたフィクションはなんか手が伸びないことが多い。これは野球でもそうで、なんかプロスポーツがちゃんとしている競技だとわざわざフィクションじゃなくてプロのを観ればいいやって思ってしまうんですよね。だからそういう方ではノンフィクション作品のを読むとかそういうことになる。

 流行しているアニメの話をしたくない気分なのでゆるキャン△の話はできません。嘘ですします。斎藤さんが好き。志摩さんが露骨に眼鏡の子を敬遠しているのが面白い。関西弁の子と志摩さんが社交辞令っぽい人間関係をやっているのが良い。そんな感じです。

その他

 Twitterをやる気がどんどん失われていく。

 極まりが足りない。

 集中力が足りない。

 体力が足りない。

0212

将棋

 棋王戦第1局を観た。永瀬七段の粘りがすごかったなぁ。96手目△4三角はすごい根性だし、148手目△3三香、164手目△3六歩とかこんな手をひねり出されたらたまりませんね。そういった追い上げを渡辺棋王が踏ん張り切って勝ったのは強さを感じます。

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

 第7章の前半を読む。自己符号化器とスパース自己符号化器について。棋王戦を観ながらだったのと内容が難しいのとが重なってほとんど写経しているだけになってしまった。しかしスパース自己符号化器の誤差逆伝播難しいな。

将棋ソフト開発

 可視化が大事ということでhistoryの様子を見るプログラムを書いていろいろ見てみたんだけど、バグがあると思ったら可視化プログラムの方のバグだった。historyはちゃんと動いているっぽい。

 そして雑に書いた感じなのに思ったよりhistoryの性能がいい。まぁ強いソフトのをパクったから当然か。しかしhistoryにはもっと伸びしろがあると勝手に思っていたんだけど。いやあるんだろうけど。

競技プログラミング

 ARC057のBを解いた。ほぼ解説なしでアルゴリズムはわかったけど、オーバーフローまみれでWA出しまくってしまった。int→long longにするだけで満足していて、LLONG_MAXで初期化していたところ掛け算が入ってオーバーフローしていたっぽい。うーむって感じですね。

 毎日一問解いているわけだけど、ハマると普通に2,3時間持っていかれるのが非常につらい。午前中と昼食後ちょっとを費やしてしまった。頭が悪いと訓練にも時間がかかり、賢い人との差が開いていく一方である。残酷なことだなぁ。

 ARC058からはABCのDとARCのBが共通になっているので、明日からはABCのDを古い順に解いていくことにしよう。

その他

 気合を入れて勉強しているようではダメで、呼吸をするように勉強していないといけないのだと思う。知らないこと、わからないことが多すぎる。

 一方でダメなことの何が悪いという気持ちもある。僕より優秀な人はたくさんいるので、僕は僕で自分が楽しいと思うことをやっていかないといけないなぁと。あまり「社会を良くする」みたいなことには興味がないし。

 うまくバランスを取っていかないといけない。人生における幸福度が最大になるような戦略を早く見つけたい。

0211

大学

 6章の後半から7章の頭、主成分分析のところまで読んだ。行列が入ってくると式変形が追いかけられなくなる。線形代数の記号的操作にもっと慣れなきゃいけない気がする。

競技プログラミング

 ARC056のBを解いた。うーん難しいなぁ。解説読まないとわからなかった。コンテスト開催当時にも解いた形跡があるけど、やっぱり全然考察が足りてない。

 日本橋ハーフマラソンにも出た。まともにマラソンマッチやるの初めてと言っていいと思うんだけど、想像よりかなり面白かった。しかし可視化って本質的に重要そうだなと思い始めてきた。頭の中だけでやっているときにはとんでもないバグばかりを生んでいた。ちょっと真剣に考えなければならない気がする。

その他

 Twitterの使い方を見つけてしまったかもしれない。

0210

大学

 ひとまず重たい章を抜けたので今日明日はちょっと楽かもしれない。と思ったら式変形が意味不明でかなり苦しんだ。ひ~。

将棋ソフト開発

 進捗なしです。

競技プログラミング

 ARC055のBを解いた。地獄のように難しい。こんなDPをサラッと書けるようになる日は来るのだろうか。最終的に再帰で書いたけど、結局DPをforループで回すのとどちらがいいかよくわかっていない。再帰の方が書きやすい気はするんだけど、やっぱり関数呼び出しのオーバーヘッドはあると思うから通らないケースとかがあり得るのかなぁと。

 みんなのプロコンにも出た。

その他

 進捗を産むことができず精神が苦しくなってくる日が多い。根性が甘い。

 自己肯定感をもっと高めた方が良いのだろうか。良いとしてもその方法がよくわからないのだが。

 もっと一日の中で集中力が高まる時間を増やしたい。何か方法を考えなければならない気がするが……。

 久しぶりにまじまじと鏡で自分の姿を見ていたら、白髪が増えていることに気づいた。若い時もすぐに終わる。つらいですね。