JAIST社会人大学院進学を志してから合格まで

この4月から北陸先端科学技術大学院大学JAIST)の博士前期課程(先端科学技術専攻)に進学します。社会人大学院生として情報科学修士取得を目指します。

入学試験の対策に当たって、いろいろな方の受験体験記ブログに助けられました。私も、JAIST社会人大学院への進学を志してから合格に至るまでの記録を残しておこうと思います。この記事も今後JAISTを受験される方にとっての一助となれば幸いです。
www.jaist.ac.jp

背景

機械学習・深層学習スタートアップでエンジニア(3年目突入)をしています。前職までは経済学部⇨国家公務員なので、現職のエンジニアは未経験からのスタートです。

独学で学んでいたとはいえ、機械学習・深層学習はおろか、ソフトウェアエンジニアリングの基本の「き」の字もわかっていませんでした。正直よく入社させてもらったなと思います。それからは毎日ついていくことに必死でしたが、優秀な同僚に恵まれたおかげで、ここまでなんとかやってこれました。
(業務に慣れてきた今でも毎日必死です。このあたりは別で書きたいと思います。)

進学を志した理由

JAIST進学を志した理由は3点あります。

  • コンピュータ・サイエンス(CS)を学びたい
  • 指導教官の元で研究をしたい
  • 情報科学の学位が欲しい
コンピュータ・サイエンス(CS)を学びたい

これまで体系的にCSを学んだことがないため、純粋にCSを学びたいと思いました。CSといっても、様々な言語やツールを使えるようになりたいというよりは(もちろん使えるようになりたいですが)、新しい技術や課題が出てきた時に、何を調べれば理解できるか、この技術はどの技術の応用か、この課題はどの手法なら解決できそうか、などの「当たりをつける」ための要素・基礎技術を学びたい考えています。
現在の業務では主に機械学習・深層学習のアルゴリズムを扱っていますが、表層的な理解しかできていない時も多々あります。課題に対してどの手法を適用すべきかがわからなかったり、新しい手法を理解するために何から手をつければ良いかわからず途方にくれてしまい、基礎力の足りなさをひしひしと感じます。こういう時に、どこから始めればよいか、がわかるインデックスとなる知見を持っているか否かで、対応速度に大きな違いが生じます。この「当たりをつける」ための基礎力を身につけることが、大学院での学びに期待していることです。
大学院2年間で受講できる講義は限られており、期待する項目を全て網羅できるわけではないですし、CSの基礎を学びたければ学部4年間の方が良いのではないかとも思います。ですが、私は、研究もしたかったことと、学部4年間は長いと感じたため、大学院への進学を選びました。

指導教官の元で研究がしたい

深層学習のためのGPU演算処理高速化について興味があり、これを研究を通じて学べたら自分の身になるのではないか、と考えたことがきっかけです。現在の業務の中で、メモリや演算速度を原因として深層学習モデルが実運用にのらないケースがあることを知り、いかにして既存のハードウェアでメモリ効率的または高速に演算を行うか、という課題を解くための専門性を持ちたいと考えるようになりました。
研究を通じて学ぶ、という思いが生まれたのは、個人で論文を国際会議にバンバン出している同僚から刺激を受けたことが大きいです。私の場合、学部の論文しか論文執筆経験がなく、研究したい分野の知見も多くないことから、一人で論文を執筆するのが困難であると感じたので、指導教官の方に相談できる環境に身をおきながら研究をしたいと考えました。

情報科学の学位が欲しい

今後この業界で働く上で、情報系の学位を得ることで自分の選択肢の幅を広げられるんじゃないか、と期待しています。情報系の学位があることが必ずしもプラスに働くわけではないですが、海外の企業や大学院では最低条件として必要となるところもあるそうです。新しくチャレンジをしたいと思った時に足枷となるものは少ない方が良いです。
あと単純に情報科学の学位かっこいいです。欲しい。

なぜJAIST

他にも社会人が情報科学を学べる大学や大学院はあるのですが、その中でもJAISTを選んだのは、講義が土日で、働きながらCSについて学べる、研究もできる、ということが主な理由です。
CSについて基礎から学びたければ東京電機大学の社会人コースがありますし、研究もしたければ東京電機大学大学院、総合研究大学院大学などもありますが、私が調べた限りこれらの大学・大学院は講義が平日に集中していました。私は平日遅くまで働くことがあるため、通いやすさという観点から受験先はJAIST一択でした。
www.jaist.ac.jp

試験準備から試験結果発表までのスケジュール

JAISTの社会人コースの博士課程前期には、年間3回の試験があります。私は第1回の試験(2020年9月出願、10月試験)を受験しました。
試験は、出願時に提出する小論文と試験当日の面接で構成されています。試験当日は、小論文に基づいてプレゼン・質疑応答が行われます。
試験内容のメインは、小論文の内容「本学入学後に取り組みたい研究課題について」です。なので、研究テーマに関する調査が主な準備内容になります。
私の試験準備から試験結果発表までのおおまかなスケジュールです。

スケジュール

5月 JAIST社会人コース説明会参加、研究したいことを考え始める
6月 論文を5本ほど読み研究したい内容をまとめ始める
7月 研究したい内容の資料作成、研究室の先生にアポ取り
8月 研究室訪問*1、出願資料の作成
9月 出願資料のブラッシュアップ、指導教官に相談、出願、プレゼン資料作成
10月 プレゼン資料のブラッシュアップ、入学試験当日、試験結果発表

入学試験準備

入学試験に向けて、以下の準備をしました。

  1. 小論文の作成
  2. 発表用スライドの作成・発表練習
  3. 大学数学の復習
  4. 得意科目の復習
  5. 面接質疑応答 一問一答準備

※ その他、出願資料として、エントリーシートや職歴調書の作成があります。エントリーシートにはJAISTに進学するモチベーション、職歴調書にはこれまで経験とアピールポイントを記載します。

1. 小論文の作成

小論文は、エントリーシートや職歴調書と併せて出願時に提出するもので、公開されている所定の様式を使用して作成します。
小論文の課題は「本学入学後に取り組みたい研究課題について」です。A4サイズ1枚1,000字程度で、JAISTで取り組みたい研究内容について書きます。

私の場合、以下のような構成で作成しました。

  1. 研究の背景及び目的
    • 世の中的になぜその研究が重要なのか、なぜその課題を解きたいのか、を記載しました。
  2. 先行研究とその課題
    • 先行研究の概要と課題を記載しました。課題は複数の論文から共通して読み取れることや、論文のDiscussionパートで書かれている次の課題を参考にしながら、自分が取り組みたい内容を記載しました。
  3. 研究の方法
    • 小論文の段階では、上記課題を解決するための具体的な手法案が思いつかなかったので、研究の手順を記載しました。具体的な手法案は、試験当日までになんとかしようと思い、とりあえず出願しました。
  4. 研究の遂行能力及び現状の課題
    • これまでの経験から自分に研究する能力があること、研究を進めるに当たって自分に足りないこととNext Actionを記載しました。
研究したいテーマ決め

論文を5本くらい読んで決めました。研究内容をまとめるに当たっては合計15本くらい読みました。

注意したこと

その分野に詳しくない方でもわかるような文章を書くように注意しました。面接官の先生が必ずしもこの研究テーマに精通しているわけではないので、専門用語を使う場合は簡潔な説明をつけるようにしました。

反省点

研究方法の具体的な内容が書けなかったことです。聞き手が一番気になるのは研究方法なので、ここはできるだけ具体的にした方が良いです。
あと参考文献を書くべきなのですが、小論文の文字数が1,000字程度の中で参考文献を記載するとそれだけで文字数取られてしまうので小論文には記載しませんでした(発表資料の方では記載しました)。引用がある場合は、必ず記載すべきだと思います。

2. 発表用スライドの作成・発表練習

小論文を元に、試験当日の発表用のスライドを作成します。
発表時間の7分間で、ゆっくり話せる、かつ、スライド1枚あたりの情報量を抑えることを考え、スライド15枚(関連研究、参考文献除く)で作成しました。

スライドの目次

  1. 概要(目的、背景)
  2. 先行研究と課題
  3. 研究計画
  4. 関連研究
  5. 参考文献

発表用スライド

論文を書きまくってる同僚の強強リサーチエンジニアの方や、私のプログラミングの師匠と呼べる方、友人に発表練習に付き合ってもらい、コメントをもらいました。指摘を受けてからやったことで特によかったのが、「取り組みたいこと」「既存研究の問題点」「研究のアプローチ」の3点を書いたスライド1枚を発表資料の最初と最後に挿入したことです。これのおかげで、「最悪7分間におさまらなくても言いたいことは伝わっているはず」と焦らずに発表できました。

まだまだ研究テーマもアプローチも穴だらけで、科学的にも私の実力的にも上手くいくか自信はないですが、研究室の先生のアドバイスをいただきながら進めていきたいです。

3. 大学数学の復習

微分積分線形代数をマセマ本*2*3を使って復習していました。いざ面接の場で問われた時に答えられる自信がなかったので、範囲を絞って簡単にノートにまとめていました。
面接で聞かれることはなかったのですが、大学院の授業を受ける上で最低限必要となる知識なので、復習をしておいて損はないはずです。

4. 得意科目の復習

大学時代の講義ノートや教科書を押入れから引っ張り出して、聞かれた時に話す内容をまとめました。入学試験当日は聞かれなかったのですが、大学時代の学びを思い出す良い機会となりました。

5. 面接質疑応答 一問一答準備

心配性なので、面接対策用に一問一答を準備していました。

一問一答の内容例

  • この研究の新規性は?
  • モデルとデータセットは何使う予定?
  • 使用するモデルの特徴はなに?
  • 〇〇(研究分野の専門用語)の定義を説明して
  • アプローチはどこで思いついたの?
  • なぜこれを研究対象に選んだの?
  • 線形代数固有値固有ベクトル説明して
  • 履修してみたい講義は?

なお、履修したい講義については、出願前にまとめていました。会社の技術顧問の先生に教えてもらった方法で、縦軸:重要度、横軸:面白さの2軸の図で講義を整理していました。

f:id:ryoherisson:20210206180525p:plain
履修したい講義の整理イメージ

私は心配性なので、まだ準備が足りない、他のブログ書いている人はもっとすごい人、自分は練習しないとダメな人...と、必死でした。準備をすればするほどわからないことが明らかになっていくので、どれだけ準備しても不安は消えませんでした。

前日にようやく、ここまできたらどんな結果でもいいや、と半分吹っ切れた気持ちに切り替えることができ、試験当日を迎えました。

入試当日

コロナの状況のため、オンラインでの面接となりました。

面接の流れ

  • プレゼンテーション資料を画面共有をしながら発表(7分間)
  • 面接官の先生方から質疑応答(23分間)

やりとりの詳細は記載できないですが、私の場合は、プレゼンテーションと小論文の内容についての質疑応答が主で、研究内容以外はあまり聞かれませんでした。ですが、過去には、学部時代の得意科目についての説明や、線形代数固有値固有ベクトルの説明を求められた方もいたようです。

質問にもほどよく回答できたので、面接が終わった後の感触はやり切ったという感じでした。

発表練習を同僚・友人に付き合ってもらったおかげで当日落ち着いて発表できました。事前に誰かに聞いてもらうことは大事と改めて感じました。協力いただいた方々には本当に感謝感謝です。

結果発表

10月31日に速達で届き、無事に合格していました。

これから

合格の喜びも束の間、不安が押し寄せてきました。JAIST社会人の先輩方のブログやTwitterをみていると、みなさん血反吐を吐きながら取り組まれているようです。私も講義についていけるかとても不安です。

正直、自分にとってJAISTへの進学が正解なのかはわからないです。大学院は大変で血反吐を吐く、CS学ぶなら学部からでしょ、大学院では直接業務で生かせることは学べないのでは、といった声もあるので、本当に進学すべきだろうか、という迷いはあります。

とはいえ、JAISTには長期履修制度(追加の学費なしで入学から修了までの期間を2年から3年まで延長できる制度)があったり、現職の会社のサポート(研究日1日の確保、学費一部支給)もあるので、まずは頑張っていこうと思います。授業もどれもとても面白そうで取りたくなるものばかりで、ワクワクしています。このワクワク感を大切に、2年間(ないし3年間)楽しんで過ごそうと思います。

*1:研究室訪問では、研究したい内容の資料を見せながら、研究室でやりたいことができるかを確認したり、先生から研究室の紹介をしてもらいました。

*2:微分積分キャンパス・ゼミ

*3:線形代数キャンパス・ゼミ