文系社会人から東大情報理工に進学する話(2019冬入試)
約一年ぶりの更新です。
タイトルにある通り、東京大学情報理工学系研究科創造情報学専攻に合格し、今年度から大学院に進学することにしました。
自分のような経歴の人が少ないこともあり、進学のプロセスや院試の勉強を進めるにあたって難儀なことが色々あったので、今後の誰かの参考となるようにそれらのことについて書いておきます。
TL;DR:東大情理院試は勉強過程でCS・数学・プログラミングの知識が身につくのでお勧め
略歴
自分の経歴は MARCH文系卒→IT企業→1年ニート→現在です。
普通に社会人してたら今年度で四年目になります。
会社では営業・マーケティング・ディレクターの仕事をしていました。
ニート期間は4~8月プログラミングスクール、9~2月 院試勉強という感じで過ごしていました。
9月時点での知識はCS関連はゼロ、数学の知識は高校2年レベルも無いくらいでした。
数学については例えば、Σの意味すら知らなかったし、logの意味さえ忘れていました。
プログラミングはRailsでウェブアプリ作れる程度でした。
試験概略・結果
試験は、
・専門科目(コンピュータサイエンス )
・プログラミング(or数学(夏のみ選択可))
・英語(TOEFLibt(orTOEFLitp(夏のみ選択可)))からなります。
また、最近は時流もあってか試験の倍率が上がってきています。
2019冬入試の合格者は14/51でした。
ところが、得点率で言えばそこまで高くは要求されないように思います。
5割前後で合格する人もいたようでした。
要求される知識の幅が広いのでそのくらいに落ち着くのかもしれません。
自分は下記の点数で合格しました。
専門科目 178/300
プログラミング 180/300 (去年の200点から配点が上がった?)
TOEFL 89/120
専門科目
大問3構成で得点率は7割解けたら十分、最低5割って感じかなと思います。
勉強量は、当初過去問を見ても見積もりが難しかったのですが、とりあえず
「とても広い分野の基礎知識を抑えて頭の中で再構成できる程度の知識量」が必要かなと思います。具体的には僕は約2000h程度時間を投下しました。
というのも他の大学院試では、毎年同じような分野から問題が出題されるので割と少ない勉強時間で行けるようなのですが、
創造情報学専攻では、専門科目の特に大問1,2は近年顕著な傾向が掴めないため特定の分野のみ勉強するという事が難しいように感じたので多めに勉強しました。
まぁ、とは言ってもなんとなく出やすい分野に若干偏りもあるような気がします。
また、「自分が出題者だったらどこが出しやすいか?」を想像しながら勉強すると結構絞れる気がします。
例えばアルゴリズムなら、効率の悪いアルゴリズムの処理を追わせた後にそれを改善ができるかを考えさせる問題、
アーキテクチャなら、なぜ3オペランド形式が採用されているのか、などの本質的な問いが出やすい、などが見えてきます。
そういった出題の思想を理解するためにも過去問は早めにやってみると良いかもしれません。
他にも、ILSVRCで深層学習が優勝した翌年(2013)には画像処理の問題が出たり、
アルファGOがバズった年(2016)には強化学習の問題が出たりと、その年のニュースをテーマにした問題が出ているようにも感じました。
参考に自分の勉強した分野を記載します。降順で優先順位って感じです。
・アルゴリズム
・論理回路
・コンピュータアーキテクチャ
・機械学習
・ネットワーク
・オペレーティングシステム
・コンピュータグラフィックス
---頻度の壁-----
・ロボティクス
・情報理論
・離散数学
・数値計算
・(信号処理、形式言語、言語論) *語彙問題のために軽く勉強
■大問1,2
とても範囲が広いので、自分の合格志望度と勘案してどの範囲をどの程度やるのか考えて勉強するのが良いと思います。
そして、当たり前なのですが、専門科目の顔してその内容には普通に数学が入ってきます。
(アルゴリズムの計算量証明、機械学習のパラメータ最適化法、グラフィクスの座標変換など)
なので、全く数学をやってなかったという人は、最低限の微積・確率統計・線形代数(学部2年程度?)は結局必要になるなと感じました。
そしてそれらの理解には、当然指数対数関数・三角関数・ベクトルなどの知識が必要になります。
これらの概念を直感的に理解、再現するのに結構時間を使ったので勉強時間は多くなりました。
本番では、下記の問題が出ました。結構忘れてるので雰囲気のみ参考にしてください。
①ハフマン符号化
⑴:ナイーブに符号化した場合の平均符号長
⑵:⑴の欠点
⑶:⑴の改善方法
⑷:⑶の平均符号長
⑸:⑶のアルゴリズム
⑹:⑸の計算量と証明
⑺⑻:符号化の問題を最適化問題として定式化する?(わからなかった))
②色々な構成でのメモリアクセス速度・キャッシュヒット率
⑴:1階層のメモリアクセス速度
⑵:配列[0]、[8]、[16]と飛び飛びにアクセスする際のキャッシュヒット率
⑶:⑵の平均メモリアクセス速度
⑷:忘れた
⑸:キャッシュを2階層にした時の⑵を100回行った時のキャッシュヒット率)
■大問3(語彙問題)
他の人を参考にwikiで概念をまとめ、自分で再現できるまで覚えました。
具体的には、8行まとめを200個くらい作って覚えました。
他の大問の問題の振れ幅が大きいので、ここで9割程度取っておきたかったのですが本番では事前に覚えたうちの1つしか出ず焦りました。w
(他の3つは字面から予想して書いて、幸運にもあとで調べたら合っていました。)なのであまりお勧めはしません。
本番では下記の用語が出題されました。
サポートベクタマシン
サーバーのスケールアウト
ハッシュ表
ブルートフォース攻撃
ラグランジュの運動方程式
ボリュームレンダリング
ECL(emitter coupled logic)(多分)
プログラミング
1つのテーマに沿ってアルゴリズミックな問題が合計7問程度出ます。7割程度を目標に、でも3割でも合格している人もいるみたい。。?
1日2時間程度、創造情報の過去問を1年分またはAtCoderのABCセットを解いていました。
行列計算・文字列処理・乱数生成・メモ化・コッホ雪片・フィボナッチ数列・幾何など様々な分野から出題されます。
基本的な処理を覚えて過去問練習とAtCoderC問題が7割くらいの確率で解けるようになれば割と解けるようになるかと思います。
本番では無向グラフ問題が出題されました。
「1 0 1 0 1 0 0 0 1」のように1と0からなる数字が無数に並んでいる1次元データを隣接行列に直して色々答える問題です。
⑴連結成分の数
⑵頂点/辺/次数の最大数
⑶⑵の最短経路
⑷別のファイルの頂点/辺/次数の最大数
⑸⑷の最短経路(実装の際に工夫したところを口頭試問で問う)
(テキストファイルが圧縮されているのでそれを復元し)
⑹橋となる辺の数
⑺忘れた
午前のプログラミングパートは全ての回答を回答用紙に記入してそれを提出する形式でした。
午後は、⑸の工夫した点、1次元データをどのようにグラフ処理したか、と最短経路算出にどの程度時間がかかったか聞かれました。
めちゃくちゃシンプル。
終わりに
今回の院試の勉強はそれなりの時間をかけて勉強をしたので、とても身になることが多かったです。
一年前までは数学はlogすら忘れており、プログラムも全く書けず、だったのでできることは増えました。
特に数学は本来は高校3年から積み上げていくものを半年で詰め込んでいるのでまだまだ穴だらけかと思いますが、
それでも応用を視野に入れた数学の勉強はとても楽しかったのでこれからも毎日継続していきたいと考えています。
入って終わり、にならないようにこれまで以上に研究に力を入れて成果を出せるように精進しないと。。
そして、自分の場合は身近に院進している人が少なく得られる情報が少なかったのですが、
ネットで受験記を書いている人やツイッターでの質問に快く答えてくれる人のおかげで適切にやるべきことを整理できて、結果合格できたと思います。
その方々には本当に感謝しています。
最後に、もし今受験を考えている人がいるのであればできる限り力になりたいと思うので、
お気軽にコメントやツイッターのDM等で質問いただけると嬉しいです!
勉強につかった資料・その他
自分が勉強で使った資料をここに貼っておきます。
・アルゴリズム
定番。ですが今年はここにないアルゴリズムの問題が出ています。
- 作者: 五十嵐健夫
- 出版社/メーカー: 数理工学社
- 発売日: 2007/10/01
- メディア: 単行本
- 購入: 14人 クリック: 122回
- この商品を含むブログ (10件) を見る
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書
- 作者: Thomas H. Cormen,Clifford Stein,Ronald L. Rivest,Charles E. Leiserson
- 出版社/メーカー: 近代科学社
- 発売日: 2018/01/09
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
- 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)
- 出版社/メーカー: マイナビ
- 発売日: 2015/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
・論理回路
鉄板。ですが過去問の出題形式と問題で若干違う。
(カウンタをD-FFで作るか、JK-FFを使うのか、など)
- 作者: 坂井修一
- 出版社/メーカー: 培風館
- 発売日: 2003/10/01
- メディア: 単行本
- 購入: 9人 クリック: 112回
- この商品を含むブログ (3件) を見る
・コンピュータアーキテクチャ
鉄板。わかりやすい。今年のアーキテクチャの問題もここにはなかった。
コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)
- 作者: 坂井修一,電子情報通信学会,電子通信学会=
- 出版社/メーカー: コロナ社
- 発売日: 2004/03/01
- メディア: 単行本
- 購入: 8人 クリック: 75回
- この商品を含むブログ (2件) を見る
キャッシュヒット率とかの問題はこっちの演習問題にあった。
- 作者: ジョン・L.ヘネシー,デイビッド・A.パターソン,成田光彰
- 出版社/メーカー: 日経BP社
- 発売日: 2014/12/06
- メディア: 単行本
- この商品を含むブログ (2件) を見る
- 作者: デイビッド・A・パターソン,ジョン・L・ヘネシー,成田光彰
- 出版社/メーカー: 日経BP社
- 発売日: 2014/12/06
- メディア: 単行本
- この商品を含むブログ (2件) を見る
・機械学習
- 作者: 中川裕志,東京大学工学教程編纂委員会
- 出版社/メーカー: 丸善出版
- 発売日: 2015/11/01
- メディア: 単行本
- この商品を含むブログを見る
- 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
- 出版社/メーカー: 丸善出版
- 発売日: 2012/04/05
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 33回
- この商品を含むブログ (20件) を見る
- 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
- 出版社/メーカー: 丸善出版
- 発売日: 2012/02/29
- メディア: 単行本
- 購入: 6人 クリック: 14回
- この商品を含むブログを見る
・ネットワーク
ネットワーク工学―インターネットとディジタル技術の基礎 (新・情報 通信システム工学)
- 作者: 江崎浩
- 出版社/メーカー: 数理工学社
- 発売日: 2007/07/01
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (1件) を見る
- 作者: 河野健二
- 出版社/メーカー: 朝倉書店
- 発売日: 2007/10/01
- メディア: 単行本
- 購入: 2人 クリック: 19回
- この商品を含むブログ (6件) を見る
・コンピュータグラフィックス
- 出版社/メーカー: 画像情報教育振興協会
- 発売日: 2016/09/20
- メディア: 単行本
- この商品を含むブログを見る
・ロボティクス
・情報理論
- 作者: 甘利俊一
- 出版社/メーカー: 筑摩書房
- 発売日: 2011/04/08
- メディア: 単行本
- 購入: 4人 クリック: 48回
- この商品を含むブログ (11件) を見る
・離散数学
- 作者: 石村園子
- 出版社/メーカー: 共立出版
- 発売日: 2007/09/30
- メディア: 単行本
- 購入: 6人 クリック: 97回
- この商品を含むブログ (8件) を見る
- 作者: 松原良太,大嶌彰昇,藤田慎也,小関健太,中上川友樹,佐久間雅,津垣正男
- 出版社/メーカー: オーム社
- 発売日: 2010/10/21
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 122回
- この商品を含むブログ (1件) を見る
・数値計算
- 作者: 久保田光一
- 出版社/メーカー: 数理工学社
- 発売日: 2010/08/01
- メディア: 単行本
- 購入: 1人 クリック: 2回
- この商品を含むブログ (1件) を見る
・数学
スバラシク実力がつくと評判の微分積分キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!
- 作者: 馬場敬之
- 出版社/メーカー: マセマ
- 発売日: 2018/09/01
- メディア: 単行本
- この商品を含むブログを見る
スバラシク実力がつくと評判の線形代数キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!
- 作者: 馬場敬之
- 出版社/メーカー: マセマ
- 発売日: 2017/10/01
- メディア: 単行本
- この商品を含むブログを見る
スバラシク実力がつくと評判の統計学キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!
- 作者: 馬場敬之
- 出版社/メーカー: マセマ
- 発売日: 2018/12/01
- メディア: 単行本
- この商品を含むブログを見る
やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~
- 作者: LINE Fukuoka株式会社立石賢吾
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/09/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
参考書読んでもわからないところ、高校までの範囲は下記の動画お勧めです。
・高校の全範囲を短い時間でおさらいできる www.youtube.com
・高校の範囲を単元ごとに問題とともにおさらいできる www.youtube.com
・大学の単元をスーパーわかりやすく説明してくれている。雑談系の動画も面白い。 www.youtube.com
ためになるブログ sho-yokoi.hatenablog.com