🎓

業績ゼロから始める社会人博士

2021/12/29に公開

使い古された感のあるタイトルにて失礼します。@tanimoto_akira といいます。社会人博士学生として意思決定のための機械学習について研究し、2021年9月に博士(情報学)を取得しました。

経歴
  • 学部(2008-2012) 航空宇宙工学科で工学系[1]の研究
    • 傍らロボコンサークルでプログラムを担当、情報系に進むきっかけに
  • 修士(2012-2014) 同専攻内で情報系の研究室に移り、画像認識に基づく制御の研究[2]
  • 社会人(2014-) IT系企業に就職。顧客企業のデータ分析および研究
  • 博士課程(2017-2021) 京都大学鹿島・山田研究室にて意思決定のための機械学習(強化学習、因果推論、小データ学習)を研究、博士(情報学)取得

前説: なぜ書いたのか

社会人博士を実際にとる人というのは、実は修士課程中に眠らせてあったネタや続きものの研究であるパターンが多いことが知られています[3]。本記事ではそういった、既にある専門性を粛々と磨いていけばよい人々以外の悩める社会人向けに、むしろ専門家としての軸を作るための一手段としての社会人博士について議論します。たとえば入学前の私(下図)のようなモヤモヤをクリアにするお手伝いができれば幸いです。なお、本内容は大学での社会人博士を薦めるイベント(2020年2月)における講演を元にしています。
入学前の私の疑問
入学前の私の疑問

tl;dr

  • 働きながら情報系(機械学習)で研究して博士号を取った
  • 博士課程に入る理由 → 専門性(体系的理解と業績)を得るため
    • まとまった研究時間を作る。仕事と研究を一致させに行く
    • 研究提案など専門家キャラを演じ、必要な迷惑をかける
  • どうやって? → 業務からの問題意識 × 主体的な勉強 によって取り組むテーマを決める
    • 業務からの問題意識を抽象化
    • 外部の勉強会などを活用して技術面のキャッチアップ
    • これらをリンクさせにいく
  • 前提として社会人博士は大変。なれるか/Dが取れるかは環境や運要素も大
    入学前の疑問と今の回答
    入学前の疑問と今の回答

Why: 社会人博士になることで時間を作る

このような記事では「どうすれば社会人博士になれるか」に焦点があたりがちですが、そもそもなぜ博士課程に入るのでしょうか。読者の多くは、今の仕事もそれなりには楽しんでいる社会人だったり、まだ修士学生だったり、別に博士号を取らなければ人生終わりだと思っているわけではないでしょう。ただ、やはり理論をちゃんと勉強して自信を持って仕事を進めたいとか、このまま仕事して退職までに自分にしかできないオリジナルな仕事が残せるのかとか、そういったふとキャリアを考える時に一つの選択肢として社会人博士が候補に上がってくるのだと思います。

まず学位の価値について。日本の産業界では現状あまり評価されておらず、大学へ転職もしていないので実体験としては知りません。言い伝えによると海外では「今日のミーティングはPhDホルダが来るぞ」と言われたりするくらいにはデフォルトで扱いが違うようです。真の実力は一緒に仕事をしていく中でなんとなく測られていくものですが、はじめましての段階で一目置いてもらえると多くの人と関わるような仕事がしやすくなるかもしれない、というくらいでしょうか。

次に、専門を深めることの価値について。進学前の私は、基本的には使えればよい、必要に応じて勉強する、という感じのスタンスでした。その際、今の機械学習(理論)に対して、使う立場としてはこういうことが知りたいのになぜ書かれていないのか、なぜそういう問題設定を扱った研究がないのか、という不満がしばしばありました。こういった不満や要望は、もしかするとイノベーションの種かもしれませんが、実は必要ないものかもしれないし、現時点では不可能なことかもしれません。研究したとしてもだいたいの不満は突破できず、そうである然るべき理由を理解することになります。ただ、できないと分かることは前進で、方針修正し、正しい努力に時間を割くことにつながります。

このような体系的理解を得るには時間を取って試行錯誤することが必要です。立証不能だった仮説は論文にならないので、自分でやってみて紆余曲折しながら体験するしかないからです。しかし時間を作ることなど可能なのでしょうか。そもそも、社会人の日常って、色々なプロジェクトにちょっとずつ関わっていった結果、次のようなスケジュールになっているのではないでしょうか。
Schedule before
[Before] 博士入学前(入社2年目)のある1週間

研究時間は少なく(この週は比較的研究関連作業ができている方だと思います)、細切れです。時間がないので実験作業を外注してみたり、折しも「研究効率化議論」なるものを試みたりしていますが、結局そのような工夫は焼け石に水でした。これが博士課程入学後、次のようになりました。

Schedule after
[After] 博士3年目のある1週間

先述の通り、理論的に深めていくという作業には、まとまった時間が必要だというのが現状の考えです。時間を取る、ということにつきます。色々な業務を抱えたままなんとか隙間時間に研究を進めていけるのはとても器用な人か、既に持っている知識を活用し、テーマは決まっていてあとは手を動かせばいい場合などで、何をすべきかというテーマから考え始める場合は難しいと思います。万難を排して暇になりましょう。

私にとって一つラッキーだったのは入社2年目に機械学習のサマースクールが日本で開催され、2週間参加させてもらえたことです。3日間だけにしようかとも考えましたが、上司から「いいんじゃない?」という感じで言われたので「いいのか…」と思って参加しました。ここで2週間も仕事を空けられたことで、「意外と自分がいなくても回る」という当たり前の学びが得られました。またこのとき博士の指導教官と初めて会話しています[4]

ただ、じゃあ「何か研究したいので時間をください」と言っても融通してもらえるわけではないでしょう。基本的には、博士としての研究と仕事のテーマを一致させにいくということです。「自分はこの研究をすべきだと思う、そのために博士課程にも入ってこのような計画で研究したいです」と覚悟をもって主張し、市場や組織変化の機も見計らって[5]、上司に「そのテーマを自分に研究させる口実を用意する」ことが重要です。この研究計画は入試の際にも通常必要になります。

How to: 業務からの問題意識×主体的な勉強で研究テーマを

ではその計画はどうやって立てるのかというと、少しずつ勉強や実験をし、国内研究会で発表するなどの小さな成果を作って有望な方針を得るのが良いと思います。研究するために成果が必要とはこれいかに、と思われるかもしれませんが、そういうことはよくあり、小さく動き始めるしかありません。OSのブート(起動)の語源はブートストラッピング、履いている靴を自分ごと持ち上げるかのような矛盾を解決することが何かを始める時には必要です。

多くの社会人は上に示した入学前の予定表のように、多くの業務を抱えて全く研究ができるイメージが湧かない状態かもしれません。私も入学前は以下のように思っていました。

  • 理論をやりたいけどどこから手をつければ…
  • 博士の研究計画と言われても見通せないし…

一言でいえば「意外とステップを踏めば向かっていける」ということになりますが、具体的に自分の例で説明していきます。まず、入学前後のタイムラインは次のようになっています。
入学前後の流れ
入学前後のタイムライン

最初に取り組んだ転移学習は、いろいろな業務に関わる中で「どれもデータが少ないな…」と思ったことから調査しました。そして、最先端の問題設定に対して少し離れた分野の論文から応用して手法を作り、簡単な実験をしました。そのちょっとした成果をもとに研究計画を立て、入試と、会社から2年間の学費支援を得るのですが、のちにほぼ同じ提案をしている既存文献が見つかって(国内研究会に出したところ指摘され)お蔵入りしました[6]。軌道修正をすることなく最初の計画通りに研究が進む方が稀ですので、誰からもお咎めがあるわけではありません。紆余曲折を覚悟しながら手を動かし、仮に計画を立ててみることが重要です。

博士課程での研究テーマは3つ(強化学習、補助情報学習、因果推論)あり、それら全て業務上関わった実問題に端を発しています。社会人博士にとって重要なのは、自分のやってきたこと、そこでの課題や問題意識をなんとか研究に結びつけることです。Connecting the dots[7]です。そうでないと会社に応援してもらいにくいですし、オリジナルの経験無しにちょっと考えて考えつくようなことは試され尽くしていて、無いように見えたらそれは不可能なだけのことが多いです。それでいて、業務上の特殊な状況で感じた問題意識をそのまま論文にしても共感してもらえず、「それはあなたの問題で、私には関係ない」と(査)読者に思われて終わりなので、発展性のある適度な抽象化が必要です。先行研究の調査をどの段階で行うのがよいかは諸説ありますが、適切な抽象度を見極められる程度にはテーマ設定の段階でサーベイするのがよいと思います。

理論面の勉強については、学習理論の教科書[8]の輪読会を研究室の後輩と一緒に主催[9]したり、論文読み会で発表(資料)したりといった、アウトプット前提の勉強が一つのマイルストーンになりました。自分の言葉で解釈し直すことで初めて研究に応用可能なレベルでの理解が得られ、実際に研究にも繋がりました。ここで、「何から勉強すればいいかわからない」という方もおられるかもしれません。それは誰にとっても同じで、まだ勉強していないものが使えるかどうかを事前に知ることは難しいです。面白そうなトピックを手当たり次第に勉強するか、指導教員の得意分野周辺で教えてもらうか、はたまた流行りのトピックを単に追うのも一つの有効な戦略だと思います。いずれにしても、必ず役立つとは限らないと承知し、勉強自体を楽しむ姿勢が大事です。そうすれば意外と役立ちは後からついてきます。

まとめると、社会人がこれから専門性を獲得しつつ博士号を狙うためには以下のようにするとよいと思います。

  • 業務から抽出した問題意識をもとに研究テーマを設定
    • 適度に抽象化して
  • それとは別に勉強会を主催したり参加したりして理論を勉強
    • 何を勉強すればいいかは事前にはわからない。気になったことを勉強してみる。無駄足を恐れず、勉強自体を楽しむ
  • これらを結びつけることで研究テーマを作る

まとめ

本記事では、社会人博士というキャリアパスに関して、なぜ社会人博士になるのか、どうステップを踏むべきか、について議論しました。キャリアを考える参考になれば幸いです。ざっくりした結論を再掲しておきます。長くなり本筋以外は端折ったので、また何か書くかもしれません。もし特に質問等あれば質問箱へどうぞ。

入学前の疑問と今の回答

Related work: 先人たちの社会人博士体験記

最後に、社会人博士を修了された先人たちの記事を簡単に紹介しておきます。

脚注
  1. ジェットエンジンを効率化する圧力交換器の研究をしていました。ギリ難聴にならないレベルの騒音を出す実験器具の組み立てと分解に半日ずつかかって大変でした。 ↩︎

  2. はやぶさ2の小惑星着陸のための画像SLAM、というテーマで、今思えばかなりad-hocな手法を作っていました。 ↩︎

  3. なんとなくそういうイメージを持っています、の意 ↩︎

  4. ただカジュアルに社会人博士どう?と誘われただけで、この時点では具体的な話はしていませんが。 ↩︎

  5. たまたま運が良かった、とも言う ↩︎

  6. 調査していた文献群と相互参照がなく用語も違っていたので、自分で発見するのは困難だと思うのですが、このように国内研究会に出してみることで集合知に相談することができます ↩︎

  7. 故 Steve Jobs 氏の名言 (Youtube) ↩︎

  8. Understanding Machine Learning (Amazon) ↩︎

  9. 勉強会主催のコツとしては、まず発表できるレベルのコアメンバーを周りで2-5人確保し、最悪その人たちだけでも回せる状態にして他の参加者を募るのが良いと思います。実際この時は、主催の2人で複数回担当し、4人くらいに1回ずつ手伝ってもらい、あとは聴講オンリーメンバでやりました。聴講勢の存在もモチベに繋がるので重要です。内訳は会社、研究室、友達がそれぞれ同割合くらいです。 ↩︎

Discussion