seri::diary::graduate_school

大学院修士課程での研究生活について書いています

2018年4月-8月を振り返って思ったこと

2018年9月12日

インターンの業務でアメリカのカリフォルニア州マウンテンビュー市に滞在し始めて今日で10日になる。10日もいれば些細なトラブルにも直面するもので、プリペイドsimで取得した電話番号に変な間違い電話がかかってきたり、バスが時間どおりに来なくて遅刻しそうになったり、同僚と英語で1on1してもらっても全然会話できなかったり。ちなみに普段の会話は多分半分は聞き取れていないが、聞き返しまくったり前後の文脈から全力で類推してかろうじてコミュニケーションが取れているような状態である。米国に滞在することはインターン参加前から分かってたのだから英語を少しは勉強しとけばよかったものを、期末テスト&レポートラッシュを乗り切った安心感からか7月は腑抜けてしまい全く英語学習をしなかった。そのせいか大分苦労しているが、一方で自分の英会話スキルの低さを身を以て体感することができ、多分今英語を勉強するモチベーションは非常に高まっている。いや、ホントね、なんか会話できないと申し訳ない気持ちでいっぱいになるし、英語をペラペラ喋ってる日本人の同僚がめっちゃカッコよく見えるし、絶対「英語」で「会話」ができると人生の幅が広がるなと思うに至っている。日本にいる時は英語の論文やライブラリや言語のdocumentが読めればそれで事足りてしまうのだが、どうも会話のスキルは(当たり前だが)個別に磨かない限り中学生レベルで止まったままになるということがよくわかった。

なんの話を書こうとしたのか。そうか春学期の振り返りである。

成績

まず単位は一通り全部とれた。具体的な評価で言えば、現時点で成績が明らかになっている講義についてのみ内訳を記載すると下記の通りである。

評価 講義数
A+ 3
A 3
B 3

半分以上がA以上なので恐らく悪くはないのではないだろうか。*1他の人の成績がどんなもんなのか分かってないので比較はできない。

ちなみにCまでは単位が付与されDが不可である。A+は講義を受ける前から知ってる話題が多かったので取れたという気がする。Aは知らない話題が多かったが普通に講義受けてたら取れたという印象。Bは露骨に提出物の出来が悪かった、ということなのだろう。なんのフィードバックも得られないので改善しようがなかったりするのであまり気にせず、後から振り返った時に自分が苦手な分野としての目印ぐらいに思っておけば良い気がする。

研究

Chainerの使い方を覚えたり実際にGPU積んだマシンクラスタでデータ並列学習を試してみたりと良い経験はできた気がするが、具体的な成果は今の所何もない状態である。ヤバい。関連論文もそれなりに読んだが「自分の」研究になりそうなものはまだ決まっていない。

指導教官がストレージやI/Oパフォーマンスの最適化とかが専門なのでそれに近いことをテーマとしてやった方が指導は受けやすいのだろうけど、一方でGPUのI/Oパフォーマンスの最適化にも興味がある、というか実際自分がChainerでConvLSTMのモデルを回す時に時間がかかりすぎて困ったのが訓練データのCPU<->GPU間のtransferだったので、この辺を最適化する方法について興味がある。ただ、探しても関連論文が見つからず、唯一見つけたのは、Ideinが開発しているラズパイに最適化されるコンパイラでCPUとGPU間のデータ転送を最小化する最適化をやっている事例である。

ascii.jp

これと同じことがChainerでもできないだろうか、というのが最近考えていることであるが、とりあえずは読むように指示されている論文があるのでそれを全部消化するのが先かという状態である。いずれにせよ秋学期は早々に具体的な成果を出すために動き出さなければならない。

プライベート

全く生活に余裕がなかったため殆ど何もしてなかったように思う。

1回だけreject kaigiというRubyKaigiで応募したトークが採択されなかった人たちの集まりみたいなやつに参加したぐらいで、あとはtechカンファレンスや勉強会の類には顔を出していない。あとはインターンの面接で東京に何度か行ったぐらい。この数ヶ月ほとんどつくば市から出てすらいなかったのではないだろうか。その分大学の講義やら研究活動はちゃんとやっていたということの裏返しでもあるのだが、こういう過ごし方は久々である。東京にいると大抵のイベントが電車で数十分、しかも殆ど待たずに乗れる、という程度の移動コストで行けてしまうのでホイホイ出掛けてしまいがちであるということを再認識した。つくばからだとまず駅に行くまでに下手すると30分とかかかるため、そこからさらに1時間かけて東京まで出ようとも思わないという事情もある。

結果的に休日は勉強してるか引きこもってスプラトゥーン2やってたりニコ動観たり平日にブクマしたサイトを読んで1日が終わるみたいなことが多く、生産的でなかったように思う。この辺を反省し、たまには興味のあるイベントに顔を出したり、後述するが自分の勉強を計画的に進めるように改善していきたい。

個人的な勉強

この辺が大分ヤバいのだが、全くと言っていいほどやっていない。いや大学の講義が勉強と言ってしまえばそうなのだが、仕事していた頃にやっていたようにd言語を勉強するとかelectronでチャットアプリ作るとかそういう全然関係ないことを全くできていないことに気づいた。。やりたいことをまとめてgithubのprivate repositoryのissueにまとめていたりするのだが全然消化できていない。原因としては大学生活で余裕がなかったからというのもあるが、やはり明確な期限を設けてなかったからのような気がする。先に述べた「やりたいことリスト」みたいなやつもざっくりとクォーター単位で期限をつけてみたが見事にスルーしてしまった。今リストを見返すと以下のようなものが列挙されている

Cのsubset compilerはrui ueyamaさんの9ccをcommitの古い順から写経して四則演算ができるぐらいまでは再現したりとかしてるのだが、インターンで平日は1日8時間程度働いていることも相まって完全に止まってしまっている。

github.com

これはちゃんともう少し細かいスケジュールを切って勧めていきたい所存。特にNFSRFCをざっと読むと作れそうな雰囲気を感じるのでいろんな言語でこれを作ったら言語の勉強にもなるのではないかと思っている。一度作ったら多分他の言語で作るのはかなりハードルが下がるはずである。

総括

学生生活はまぁまぁちゃんとやっていたように思うが、余暇の過ごし方がちょっとまずかった。いつまでも部屋に引きこもってスプラトゥーンだけではマズいのである。その辺反省しつつ、土日も有効活用するようにしていきたい。

TRY

急にKPTっぽくなった。まずは毎週末ごとに自分の勉強や、何か有意義っぽいことを1個でもやって、それをこのブログに書いてみることにする。とりあえず今週はApple Park Visitor Centerに行ってみるのだ。

*1:少なくとも「可」「良」「優」「秀」の4段階評価で「良」と「可」だけで埋め尽くされた学部時代よりは良い気がする