コンピューター・ビジョンのトップ会議のひとつ、ICCV とともに開催された「ストーリーと得た教訓をシェアする (Share Stories and Lesson Learned)」と題されたワークショップ。

トップの研究者・研究マネージャーが、自分の生い立ちや、これまでの経歴、関わった様々な AI プロジェクト、そこから得られた教訓・アドバイスなどを語ってくれるワークショップです。

SSLL @ ICCV 2021 (1st Workshop on Share Stories and Lesson Learned)

個々の研究者のトークは全て録画され、上記のウェブサイトから閲覧できます。これから研究者を目指す方も、既に研究分野で活躍されている方にも、広く参考になる話やアドバイスが満載でしたので、本記事では、そこからいくつか抜粋し、要約して紹介したいと思います。特に、

  • 学生のためのアドバイス
  • 若手研究者のためのアドバイス
  • 企業研究者のためのアドバイス

の大きく3つのテーマに分けて紹介します。

ステート・オブ・AI ガイドでは、人工知能・機械学習分野の最新動向についての高品質な記事を毎月5〜6本配信しています。購読などの詳細につきましては、こちらをご覧ください。また、Twitter アカウントの方でも情報を発信しています。

学生のためのアドバイス

まず、修士課程・博士課程の学生向けのアドバイスから見ていきます。ここは、現在在学中もしくは最近卒業したばかりの学生からのトークが中心です。

良い論文・通る論文を書くためのコツ

patrick-six-cs-1

こちらは、Oxford 大学 博士課程卒、現 PiñataFarms の Mandela Patrick 氏によるアドバイスです (元動画)。

研究はチームワークです。例えば、GPT-3 の論文 (Brown et al., 2020) を見ても分かる通り、インパクトのある論文のほとんどが、多数の著者による共著です。一人で研究に取り組んでいると、はまった時に相談しにくいという問題があります。共同研究者に対して、それぞれの強み、例えば、執筆が上手い、プログラミング・スキルが高い、などの強みを見つけ、適材適所を心がけるようにしましょう。

良い論文・通る論文を書くには、以下の「6つのC」が大切です。

  • キャッチーなタイトルを付ける (Catchy Title) ... トピックについて伝え、読者に「さらに知りたい」と思わせるようなタイトルを付ける (萩原注: 個人的には、最近の機械学習分野では「... Is All You Need」系の奇をてらったタイトルが増えすぎている印象があり、この点ついては賛否両論がありそうです)

  • 分かりやすい概要図を作る (Clear Splash Figure) ... 手法とその「直感」を分かりやすく伝える綺麗な図を入れる

  • 関連文献をきちんと引用する (Cite Thoroughly) ... Connected PapersSemantic ScholarPapersWithCode などを使って関連文献を調査する

  • 2つ以上の貢献を含める (Contributions > 1) ... 論文のコアとなる技術的な「貢献」の数は3つが理想的。分かりやすい言葉を使って書く。

  • ベースラインと比較する (Compare to baseline) ... アブレーション実験 (提案手法の要素を削除し、どの要素が効いているかを検証する実験)、をしっかりと行う。

  • 最新の手法と比較する (Compare to SOTA) ... 複数のデータセットで比較する。3〜4個のデータセットを使って実験するのが理想的。精度だけでなく、計算量、メモリ、スピードなど、提案手法が優位な点も議論する

また、「定性的な図」(可視化、結果の例など) を含めるのは大切です。提案手法の優位性を補足することができます。また、会議やワークショップなどの投稿先をよく選んでください。基礎研究か応用研究か、ドメイン依存かドメイン非依存か、など各会議の傾向を考慮して投稿しましょう。

研究の際には、MLflowNeptune などを使って、実験ログをきちんと管理しましょう (萩原注: 最近だと Weights & Biases が広く使われていますね)。コードをオープンソース化するのも大事です。研究プロジェクトのプロモーションにも役に立ちますし、論文の引用数も増えます。

卒業後の進路をどう選ぶか

patrick-matrix

こちらも、上と同じ Patrick 氏による PhD 学生向けのアドバイスです。

修士課程・博士課程において、指導教官を慎重に選ぶこと。指導教官との関係は最も大切な関係です。その教官が指導している現在・過去の学生と話すと良いです。どのような教授スタイルか?研究にどのぐらい関与するか、長期目標ドリブンなのか、会議や論文などの短期目標ドリブンなのかを見極め、自分のスタイルに合った指導教官と出会えると良いですね。

また、指導教官の専門分野が、自分の興味のある研究領域と一致することも大切です。関連文献や重要な会議などを教えてくれます。

卒業後の進路について。AI 分野は今最もホットな分野なので、通常、卒業後には色々な選択肢があります。アカデミアか企業か、スタートアップかによって、評判 (名声)、報酬、自由度、政治、安定度などが変わってきます (上のスライドを参照)。自分にとってどの要素のウエイトが重要かを考えると良いです。また、各要素の優先順位は時間 (人生のステージ) によって変わる点に注意してください。

スタートアップはより不確定要素が大きくなります。例えば、報酬についても、非常に大きな振れ幅があります。スタートアップに参加する前には、1. ミッションに共感できるか、2. どの段階のスタートアップか、3. 一緒に働く人が魅力的か、というのを重視します。他にも、自分の経済的なゴールや、職位 (role)、応用研究・開発を楽しめるかどうか、投資家は誰か、リスク許容度はどのくらいか、などを考慮すると良いです。

博士課程出願に向けてのアドバイス

weng-timeline

次は、カーネギーメロン大学の博士課程4年生の Xinshuo Weng 氏のアドバイスです (元動画)

こちらは、学部・修士課程・博士課程の学生向けのアドバイスです。博士課程出願に向けて、最も重要なのは推薦状です。良い推薦状をゲットするには、プロジェクトで良い成果を出す、研究室のリサーチ・アシスタント、企業のインターンシップなどを通じてコネクションを作るのが理想です。もし頼める良い人が居ない場合には、指導教官、研究室の先輩、講師に紹介を頼むのも良いです。

研究成果とコネクションはなるべく早い段階で作ってください。理想的なシナリオは、上の図で示したように、学部4年、修士1年で2つプロジェクトを終わらせ、修士1年の夏で3つ目のプロジェクトを終わらせる、というものです (もちろん、現実はこんなに予定通り上手くいきませんが・・・。)

在学中は、複数のプロジェクトをうまくやりくりすることが大切です。修士・博士論文のプロジェクト、スポンサーからの実装プロジェクト、指導教官からの追加プロジェクト、他の学生とのコラボなどです。この場合、自分のキャパシティを簡単に超えてしまうので、一度にフォーカスするプロジェクトは1〜2個に留め、それぞれになるべく集中できるようにした方が良いでしょう。それでも時間が足りない場合は、プロジェクト同士を関連付けたり、再利用したりする (例: 研究費プロジェクトを学位論文に使う) のも良い方法です。

研究を通じて自分を成長させる

次は、カーネギーメロン大学の准教授 Jun-Yan Zhu 氏のアドバイスです (元動画)

なお、コンピューター・ビジョンに関わる方はご存じかもしれませんが、Zhu 氏は、Pix2Pix (Isola et al., 2017) や CycleGAN (Zhu et al., 2017) など、非常にインパクトの高い論文を多数執筆しています。

zhu-baseline

研究活動を、機械学習アルゴリズムに例えてみましょう。

ベースライン関数は上のようになります。学習の目的関数は、研究活動を通じて、ある種の指標 (論文数、引用、インパクト) を最大化することです。

zhu-improved

これを改善した「あなたのアルゴリズム」は、上のようになります。研究活動を通じて、あなた自身も改善します。目的関数は、良い研究ができる能力を最大化することです。

転移学習のように、先人の知恵から学ぶことも重要です。Humans of AI Stories, Not Stats というポッドキャストなど、素晴らしいリソースがあります。また、Jia-Bin Huang 氏は、研究のためのアドバイスを、Awesome Tips というリポジトリに公開しています。

知識蒸留のように、他の研究者から学ぶことも大切です。過去の偉大な研究者から多く学ぶこともありますし、現在の若手の研究者から学ぶこともあります。

GAN の識別器のように、フィードバックから学ぶこともできます。良い・悪い研究とは何か。添削・査読から学ぶことも多いです。国際会議 ICLR は、Open Review 上で査読が全て読めるので、同じようなテーマの研究がどのような査読を受け取っているかが分かります。

また、強化学習のように試行錯誤から学ぶこともできます。自分が生み出したバグを見直すことによって学びますし、研究コードをオープンソース化した経験からも学ぶことが多くありました。

若手研究者のためのアドバイス

次に、卒業したばかりの研究室や、ポスドク・助教のような若手研究者に有用なアドバイスを見ていきましょう。

ラボに参画する・立ち上げる際のアドバイス

次は、Georgia Tech 准教授の Devi Parikh 氏によるアドバイスです (元動画)

parikh

こちらは、若手研究者(ポスドクや助教)向けのアドバイスです。ラボを立ち上げる際には、良い学生をリクルートすることが大切です。毎日、何年間もずっと顔を合わせることになる重要な仲間です。予算が獲得できたらすぐに、たくさん人を雇わないといけないと思いがちですが、良いチームを築くのは時間がかかります。

良い学生をリクルート、評価するための仕組み化をすると良いです。博士課程の学生だけが採用の対象ではなく、修士課程・学部生も採用できます。5年間コミットしなくて良いので、チームのサイズを柔軟に調節できます。

研究は社会的な活動ですので、自分の研究を宣伝・プロモーションし、なぜ自分の研究が重要かを世界に知らせるのは大切です。テニュアの審査、研究費の申請などで役に立ちます。

また、研究室のカルチャーを意識的に作り上げるようにします。Slack など小さいことでも、チャンネルをプロジェクト毎に作り、誰でもジョインできるようにしています。ミーティングや読み会、毎年恒例の研究室旅行なども意識的にスケジュールしています。

また、大学の研究室であっても、巨大なクラスターを持っていけない理由はありません。試行錯誤のスピードが、生産性に直結するため、計算資源に投資するのは大切です。もちろん予算が必要ですが、研究室発足時点からすぐに戦略的に考えることが大切です。

最後に、時間の使い方に意識的になる必要があります。教員であれば、教育 (講義)、研究、実装、のどれに自分がどれだけ時間を使いたいかを良く考えましょう。研究テーマについては、グラント・研究費に申請した内容と「全く同じ」テーマに取り組む必要はなく、少しぐらいの柔軟性を持っても大丈夫です。

個別の採択・不採択の結果にこだわらない

次は、香港中文大学の准教授、Bolei Zhou 氏によるアドバイスです (元論文)。

zhou-rejections

今回は、採択論文の裏にある不採択論文について話したいと思います。

私のグループでは生成モデリングに関する論文を多数出しています。これまで、CVPR 4本、ECCV 1本、TPAMI 1本、IJCV 1本に論文が通っています。よく、私のグループは非常に生産的だと人に言われます。

しかし、ここに書いてある採択された論文のいずれも、一度他の会議に不採択になったことがあるものなのです (上のスライドを参考)。

査読はランダムかつ予測不可能なプロセスです。個別の採択・不採択の結果にこだわらず、「良い仕事をする」ことにフォーカスしましょう。不採択で気を落としすぎないよう、学生を応援し続けるのが私の役目です。

なお、研究については、手当たり次第プロジェクトに取り組むのではなく、プロジェクトをつなげる「研究計画」が重要です。異なる研究トピックを整理して、構造のある研究計画を作ると良いです。

企業研究者のためのアドバイス

最後に、企業で研究する、チームをマネジメントする上で参考になりそうなアドバイスを見ていきます。

変化を受け入れる

次は、Google Research の Distinguished scientist である Rahul Sukthankar 氏からのアドバイスです (元動画)

sukthankar

企業で研究する上で大切なことは、「変化」を受け入れる、ということです。特に米国では、プロジェクトによって採用と解雇の波があります。Bell Labs, IBM, MSR など有力な研究所も、栄華を極める時、方向転換する時、解体される時もあります。経営層・マネジメントが変われば、研究所の方向性も変わります。ある程度の不確定性は受け入れることが重要です。

また、PhD の時に取り組んでいた研究テーマにとらわれないようにしましょう。博士課程では「メタスキル」を学びます。どのように学習するか、研究を応用するか、分野に詳しくなるか、などです。

アカデミック研究と企業研究の大きな違いは、企業では「チーム」で働くことが多いという点です。個別の論文を通すことにとらわれすぎず、研究計画を長期的に考える必要があります。

プロジェクトを選ぶ基準について。どんなプロジェクトに取り組むのも自由ですが、あれもこれも全てをやることはできないので、以下のような基準で選ぶと良いでしょう。

  1. 研究の仮説は何か (「ビデオの研究がしたい」ではなく、「アーキテクチャの進歩により動作認識の精度を上げられるか」というのが良い「仮説」です)
  2. 仮説が正しければ、会社は社会に与える影響は何か。投資に値するか。
  3. 誰が取り組むか。成功に必要なリソース・スキルはあるか。
  4. 研究の進捗をどう評価するか。指標は何か。

プロジェクトが失敗した時に、人の責任にしない仕組みを作るのが大切です。仮説が正しくなかった、野心的で技術的に難しすぎた、という失敗は大歓迎ですが、マネジメントや計画の失敗は歓迎されませんので、避けるようにしましょう。

また、以下は、私がこれまで見てきた企業研究において避けるべきパターンです。

  • 何でも屋。プロダクト貢献、論文、開発、全てをやろうとしないこと。
  • モグラたたき。手近な簡単なアイデア、会議の締め切りなどを手当たり次第やらないこと。
  • 群集心理。トレンドを追いすぎないこと。皆がやっているからという理由で方向転換しないこと。
  • ハンマー症候群。ハンマーを持つと全てがクギに見えます。良いアイデアがあっても、それが問題を解決する良い方法とは限りません。
  • ムーンショット症候群。目標は素晴らしいが、スキルやリソース不足している場合。会社のニーズとチームのスキルを一致させるようにしましょう。

良い研究組織を作るアドバイス

最後に、Facebook Reality Lab の Director である Manohar Paluri 氏によるアドバイスです。

paluri

コンピューター・ビジョンの強い組織を作るために、自分が心がけてきたことをシェアします。

  • 自分の組織のための強いビジョンを持つ。これが「何をやらないか」を明確にする。これがフォーカスにつながり、良い人材を採用できる。
  • 最高の人材だけを雇う。人を雇うときには、その人がどんな「超能力」を持つか。自分ならその人の下で働いても良いか、を自問する。
  • 多様性が重要。出身・人種・性別・学歴・バックグラウンドなど、多様な人材を採用する。
  • 期待値を上げる。平凡な結果に満足しない。
  • リーダー自ら行動で示す。リーダー自ら難しい仕事を率先してやることで、他のメンバーがインスパイアされる。
  • 時間がかかる。毎日顔を出し、毎日自分のベストを出して取り組む。
  • 初めての体験ばかり。人をマネジメントするのも初めての経験だった。大胆になろう。
  • 自分がその場で一番「賢い」必要はない。皆のことを理解できればそれで良い。

自分が環境を選ぶ場合、どのぐらい儲かりそうか、ではなく、どのぐらい自分が学べそうか、を最適化してください。報酬はそれに付いてきます。

可能な時はリスクを取りましょう。成功すれば 10 倍の報酬が得られ、失敗した場合でも貴重な学びが得られます。

おわりに

ワークショップのページからは全ての動画が閲覧できます。ここで紹介できなかった研究者のトークや、アドバイスなどが多数ありますので、時間があればぜひ動画をご覧になることをおすすめします。

コロナ禍によって、研究のこういった「人間的な」側面のストーリーがなかなかシェアされにくくなったと思いますが、このようなワークショップを通じてこうした話が、一線で活躍されている研究者から直接聞けるのは非常に貴重な機会だと思います。これと似た趣旨のワークショップに、「Good Citizens of CVPR (2018)」があり、興味のある方はこちらもチェックしてみるのをオススメします。

関連記事

トップ研究者が語る、自然言語処理へ入門したい人へのアドバイス
今年の7月に、自然言語処理の専攻コースが新たにローンチされました。ローンチに伴って、自然言語処理分野の著名な研究者によるバーチャル・セミナーが開催され、「自然言語処理へ飛び込む (Break into NLP)」というタイトルで講演・パネルディスカッションが行われました。自然言語処理の分野に興味のある方に有用なアドバイスが数多くありましたので、ここで抄訳とともに紹介したいと思います。
「論文は読むな」画像×AIの専門家から初心者へのアドバイス
Deeplearning.ai において、敵対的生成ネットワーク (GAN) の専攻コースが9月末にローンチされました。コースのローンチにあわせて、「GANs for Good」(社会のための GAN)と題されたバーチャルセミナー・パネルディスカッションが行われました。「GAN の生みの親」Ian Goodfellow 氏をはじめ、画像×AI の分野で著名なそうそうたるメンバーからの講演とパネルディスカッションがありました。以下では、抄訳とともに紹介したいと思います。