京都大学大学院情報学研究科知能情報学専攻に合格した話

最初に断っておくと、私は外部受験組なので、内部生がどういう勉強をしているとかは全くもってわからない。内部生には内部生の事情があるだろうからそれは内部生の方をあたってほしい。

はじめに 

今回このような記事を書くのは、私自身が情報学研究科を受験するにあたって同様のブログで発信されている情報に非常に助けられたからである。今後の受験生にとってこの記事が有用なものとなるように合格体験記として、合格までにしたことを伝えられたらと思う。

試験科目

知能情報の試験科目は大きく下の三つに分かれている。より詳しいものは知能情報学専攻のホームページで確認できる。ボーダーは6-7割と言われている。
・情報学基礎(100点)
 線形代数/微分積分/アルゴリズム
・専門科目(100点)
 希望研究室に合わせて6題中2題選択
・英語(50点)
 TOEIC/TOFELなどのスコア提出
専門科目は2題選択であるが、多くの人は3題分勉強して当日得点できそうな2題を解くという感じらしい。私もその事前情報に倣って統計学、情報理論、信号処理の3題を勉強することにした。

試験対策

使った書籍は最後にまとめておくので、そちらを参考にしてほしい。

情報学基礎

 情報学基礎は情報系の学生なら学部で必ず学習する内容だと思うので、おそらく一番勉強し始めるのが簡単だと思う。線形代数は固有値、対角化、証明問題が頻出。微分積分は定積分やラグランジュの未定乗数法などの求値問題が頻出。アルゴリズムはソート、分割倒置法、動的計画法、グラフ探索などが頻出。

 私は3月から4月にかけて数学の勉強をしていた。具体的には3月の前半に持っていた教科書をざっと1周。3月後半から4月末までは所謂黄色本と言われる問題集をゴリゴリ解いていた。そこで、線形代数で過去に出題された証明問題のいくつかは黄色本の問題と全く同じであることに気づいた。なので、もし手持ちの教科書だけでは問題演習が足りないと感じるなら黄色本はおすすめである。過去問の解答作成もこの辺りで並行して行っていた。

 アルゴリズムは5月に入ってから勉強し始めた。学部で使っていた教科書がJavaベースの教科書で、試験に出ているのは疑似コードかCだったので、そことの兼ね合いを考えて、京大の学部で使われているという教科書を図書館で借りて勉強していた。アルゴリズムの勉強は専門科目の勉強の合間に行っていたので、試験直前まで勉強を続けた。ソートなどは概念を覚えていれば大きく捻った問題は出ていなかったので過去問でもそれなりに解けたが、動的計画法は基本的な考えだけでは個別の問題には全く歯が立たなかったので苦手意識があった。動的計画法を使った問題はたくさんあるのでできるだけ多くのパターンに当たるのがいい勉強になると思う。

専門科目

 専門科目で勉強することに決めた3つの科目はいずれも学部で勉強したことがなかったので、5月の入試説明会兼オープンラボの時に先輩から教えてもらった教科書を買って勉強した。本格的に勉強をし始めたのはオープンラボの後、5月の中旬くらいからである。7月に入ってからパターン認識の方が統計よりいけるかもと思って少しだけ手をつけたが1ヶ月で物にできる気がしなかったので断念した。(ちなみにパターン認識は内部生がこぞって受けるため年々難化しているらしい)

統計学:とりあえず、マセマの演習を一週した。区間推定や、検定がいつまで経ってもできなかったので、サブ要員くらいの気持ちで勉強を続けた。過去問では区間推定、検定の他に分布の式や用語の説明問題などがあったので、マセマだけでは対策しきれないと思い、東大出版から出ている統計学入門を使って勉強した。時間に余裕があるのであれば、統計学入門をじっくりやるといいと思う。

情報理論:今井の情報理論と京大の西田先生のHPが勉強に最適だと教えてもらったので、その二つで勉強を始める。頻出なのはエントロピーと通信路容量。今井の情報理論だと初めから中盤ぐらいが対応していたのでとにかくそこを重点的に回した。演習問題の解答は大学の教科書あるあるでそっけないものだったが、重要なものは西田先生のHPで公開されている講義資料に詳しい解説があがっていた。通信路容量が7月前半になってもいまいち理解できていなかったので色々な大学の公開されている講義資料を見て勉強した。その中でも特に北大の講義資料はわかりやすかった。情報理論は今井の情報理論と西田先生のHPメインで過不足なく試験対策ができると思う。

信号処理:信号処理は内部の情報系からくる人はあまり受けないようで内部の先輩に聞いてもあまりいい情報は得られなかった。外部から来た先輩に聞くとここ数年は問題が易化傾向にあるらしく、教科書の公式を覚えているだけで解けるものもあると教えていただいたので、見つけたブログで紹介されていた教科書を買って勉強を始める。過去問を解いていると確かにここ数年は恐ろしく簡単であったが、少し古い問題になると、買った教科書だけでは少し物足りないと感じた。そこで有名な某デジタル信号処理のページで勉強しようと思ったが、どうにも対話形式の書き方が合わずに要所だけ参考にするようにした。あとはひたすら過去問を回していた。

英語

 英語は何回か受験したこともあったTOEICのスコアを提出することにした。事前情報としてだいたい800点前後で出す人が多いというのと英語は早めにやっておいた方がいいというのを聞いていたので、とりあえず800点を目標に勉強を始める。私自身は英語が特別に得意というわけではなかったが、からっきしというわけでもなかったので、満点を目指す系の書籍で勉強して、結果的に800点が取れればいいなという考えで書籍を選んだ。TOEICは比較的点が取りやすい回とそうでない回があるので3月から6月まで毎回受験して一番いい点数のものを提出しようと思っていた。5月のTOEICで遅刻するという大ぽかをやらかしたが、他3回は全て受験した。結果は765が最高で目標としていた800点には届かなかったが、やむをえずこれで提出した。途中で英語の成績は各語学試験とCEFRを照らし合わせて点数が決まるという情報を得ており、受験生の平均的なスコアと言われている800点が位置するランクよりも一つ下のランクでの提出となった。換算得点でいうと50%ぐらいにはなっているはず。

追記(2023/05/13)
24年度入学の募集要項から英語の成績の変換式が載ってるらしいのでCEFR云々よりそっちを見た方がいいかも

試験当日

試験日は2日間あり、1日目の午前に情報学基礎、午後に専門、2日目は対象者のみ口頭試問が行われる。対象者はボーダー付近の受験生や第一志望の研究分野には届かないものの第二志望以下の研究分野で拾ってもらえる可能性のある受験生であるという噂があるが真偽は不明。
 試験当日は京阪電車が線路内の事故によりちょうど私が電車に乗ったタイミングで止まるというアクシデントが発生してかなり焦ったが、試験開始時間がそれに合わせてずれた。その結果、緊張する時間が増えたのでかなり精神的に参っていたが試験監督の先生が行きたい研究室の先生だったので少し緊張がほぐれた。

1日目:午前

 数学はこれまでの傾向とは異なる問題が、アルゴリズムは特に苦手としていた動的計画法の問題が2題出題されて正直終わったと思った。それでも試験を受けに来たからには諦めるわけにはいかないのでとにかく手を動かす。アルゴリズムが大きく足を引っ張り、埋めたところが全て合っている保証もなかったので全体として5割あるかないかくらいの気持ちで試験終了。以下所感。

線形代数:大問が2つ。1問目は5×5のLU分解。ご丁寧にLU分解の方法を教えてくれていたので、とにかく計算ミスがないように細心の注意を払って計算をする。ちゃんと分解できていることが確認できたので次の問題へ。2問目は4×4行列についての証明問題。一つ一つは簡単だが、証明すべきことが多いのでとにかく記述量が多い。思ってた証明問題と違う…と思いつつかける分だけかく。一度線形から離れて他の問題を解いていたので最終的に時間がきて全体の8割程度を埋めて終了。

微分積分:大問が3つ。1問目は色々な関数のn階導関数を示す問題。特に難しくなかったが一つだけ一般系がわからず空欄。2問目は連鎖律の問題。これも難問というわけではなかったが、2次の連鎖律を覚えておらずそこだけ空欄。3問目はガウス積分。ガウス積分は導出まで完璧に抑えていたので完答。全体としては7-8割程度点がもらえるくらいかなと思いアルゴリズムへ。

アルゴリズム:大問が2つあって2つとも動的計画法。それもどちらもよく理解していない問題だった。手を動かせばなんとかなるかもと思いつつ解き進める。1問目は始めの方に逆ポーランド記法の問題があったこともあり、7割程度埋められたが、2問目は問題をうまく理解できずに2割程度しか埋められなかった。アルゴリズムに完敗した時点で線形も微積も解ける分を全て解いていたというわけではなかったので戻って解ける分を解く。あとは書いたところがあっていることを祈るばかり。

1日目:休憩時間

午前のできがかなり悪かったのもあり休憩時間中に食べようと思って用意していたおにぎり1つとパン2つを食べる気になれず、仕方なくパンを一つだけ食べて散歩をしていた。他の受験生の存在を感じたくなかったので、京大構内には残らず、吉田神社にお参りをしに行く。大学受験では吉田神社にお参りすると受験に落ちると言われているが、神頼みをした。そのあと、少しぼーっとしていたら時間になったので、教室に戻る。

1日目:午後

専門科目は予定通り、統計、情報理論、信号処理に決めていたのでそれぞれ問題をみる。パッと見て統計は少し易化している?と思いつつ他二つを見ると二つとも解けるだろうと思ったので統計とはここでさよならをした。以下所感。

情報理論:規約マルコフ情報源を設計して、エントロピーを求める。規約マルコフ情報源についてはあまり勉強していなかったので始めの2問には自信がなかったがエントロピーは計算するだけなので特に不安はなかった。強いていうなら、2問目の条件を使ってその後の問題を解いていかなければならなかったので、そこで間違えていたら全部落としているなと思いながら、とりあえず思いついたものを書いて解き進めた。解釈に間違いがなければ満点がもらえるだろうと思いながら信号処理へ。

信号処理:散々z変換や離散フーリエ変換を勉強してきたが、普通のフーリエ変換の問題だった。始めの問題は教科書の例題レベルの問題だったので、特に詰まることなくゴリゴリ計算。2問目は畳み込みの証明とその利用だった。畳み込みの理解はあまりできておらず不安だったので前日に確認していたのでこれはラッキーだった。神頼みが通じたなと思いながら、証明を書く。畳み込みの利用の問題は方針が全く立たずとりあえず手を動かして計算してみたが結局うまくいかずに時間が来て終了。全体で6-8割くらい点数が貰えていたら御の字。

2日目

 1日目の出来具合と見ていたブログで紹介されている点数を比べてボーダーに乗って口頭試問の対象者になることも十分考えられたので、口頭試問で聞かれそうなことの対策をしつつ対象者の発表を待つ。幸か不幸か対象者ではなかったので、これにて受験終了。あとは泣いても笑っても結果を待つだけとなった。

余談

 合格発表は試験から1週間後にあった。正直に言うと英語にビハインドがあり、午前試験がボロボロだったので、口頭試問に呼ばれなかった時点で落ちたと思っていた。ちょうど合格発表の日に友人と遊ぶ予定があったので、一緒に見に行った。受験票を持って、掲示板を見ると、自分の受験番号が載っていて自分の目を疑った。初めは一人で見させて欲しいと言っていた友達の元へ行き再び掲示板を確認して、友人に指差しで確認してもらってやっと気持ちが落ち着いた。その日は喜びと安堵と本当に合格しているのか不安な気持ちが行ったり来たりしていたが、後日正式に合格通知が郵送で届いたので間違いではなかったんだな、本当に合格したんだなととても嬉しい気持ちになった。
 オープンラボで色々教えてくださった先輩方、志望理由書の添削をしていただいた現在所属している研究室の教授、そして、一番近くで応援してくれた友人にここで感謝を述べておく。
 総括として、英語、数学はできる限り早めに終わらせた方がいい。専門科目はとにかく過去問の傾向を見て重点的に勉強する範囲を決め、教科書を一通り勉強できたらあとはよく出る範囲を回すのがいい。それから、これは私の第一志望の研究分野に限る話かもしれないが、教授に研究室訪問の打診の連絡をしたら受験生のコミュニティを紹介していただいたので、外部から受ける場合はとにかく早めに内部と繋がれるように連絡を取るのがいい。
 得点開示の結果がわかったらまた追記しようと思う。
 予想:英語(25/50)情報学基礎(50-60/100)専門(70-85/100)
合計(145-170/250)

追記(2022/09/8)
開示結果が出たので追記する。

英語:29.2/50
情報学基礎:59.0/100
専門:81.0/100
合計:169.2/250

英語は思ってたよりもらえていた。
情報学基礎、専門科目はおおむね予想通り。若干上振れたかな。
こうしてみるとガッツリ専門に助けられている。

追記(2023/04/27)
何かあればTwitter(@mgm0153)にDMを飛ばしていただければ反応できると思います。

参考書等

・線形代数
線形黄色本

・微分積分
微積黄色本

・アルゴリズム
データ構造とアルゴリズム

・統計
マセマ

統計学入門

・情報理論
今井の情報理論

西田先生のHP

・信号処理
ディジタル信号処理

この記事が気に入ったらサポートをしてみませんか?