機械学習の面接では、どのような質問が出ますか?

文責 Aaron Cao · 更新

想定すべき質問は、大きく4種類です。基礎(バイアスと分散、正則化、検証)、評価(どの指標をなぜ選ぶか)、応用モデリング(特徴量、リーク、クラス不均衡)、MLシステム設計(学習、サービング、監視)です。多くの選考では、同じ少数の概念がさまざまな角度から問われるため、広く浅い知識より、それらを深く理解するほうが有利です。

機械学習の面接では、実際に何が評価されますか?

機械学習職の選考は、一般的なソフトウェア職より面接回数が多い傾向があり、各ラウンドでは異なる層の能力が評価されます。どの層を見られているかが分かれば、面接官が求める回答の種類も分かります。

  • 基礎。学習、汎化、最適化に関する理論的な質問です。面接官が聞きたいのは、暗記した定義ではなく、その手法が機能する理由を理解していることです。
  • 評価と実験。評価指標の選択、検証方法、オフライン結果とオンライン結果の違い、モデルの効果を証明する実験の設計方法が問われます。
  • 応用モデリング。特徴量エンジニアリング、データリーク、クラス不均衡、実際のデータセットにある厄介な問題が扱われます。こうした質問は、自分のプロジェクトを題材に出されることがよくあります。
  • MLシステム設計。モデルがデータを取得する方法、学習と再学習の仕組み、予測のサービング方法、本番環境で性能が低下した際の検知方法が問われます。
  • コーディング。pandasまたは素のPythonを使う課題で、k-meansやロジスティック回帰などの小さなアルゴリズムを一から実装する場合もあります。

行動面接の質問も出されますが、他の職種と同じ原則が当てはまります。詳しくは質問集のトピックで別途解説しています。

トピック別に、どの質問が最もよく出ますか?

表現は企業によって変わりますが、根底にある質問は繰り返し登場します。平易な言葉で自然に説明できるまで、次の質問を練習しましょう。

  • バイアスと分散:モデルが過学習しているのか、未学習なのかをどう診断し、最初に何を変更しますか?正則化はモデルに何をもたらし、どのような場合にL2よりL1を選びますか?
  • 検証:時系列データに対してランダムな訓練・テスト分割を行うと、なぜ誤解を招くスコアになることがありますか?層化交差検証やグループ交差検証が必要なのは、どのような場合ですか?
  • 評価指標:正解率が不適切な指標になるのは、どのような場合ですか?適合率、再現率、ROC曲線をプロダクトマネージャーに説明してください。不正検知ではどの指標を最適化し、それと併せて何を監視しますか?
  • データの問題:ターゲットリークとは何で、どのように発見したことがありますか?架空のデータを作らずに、深刻なクラス不均衡へどう対処しますか?モデルが偶然に欠損そのものを学習しないよう、欠損値をどう処理しますか?
  • モデル:表形式データでは、どのような場合に勾配ブースティング木がニューラルネットワークを上回りますか?Transformerのアテンション機構は実際に何を計算していますか?埋め込みは、カーディナリティの高いカテゴリ特徴量に対してなぜ有効ですか?
  • 最適化:学習率が高すぎる場合、または低すぎる場合には何が起こりますか?バッチ正規化によって学習が容易になるのはなぜですか?
  • システム設計:マーケットプレイス向けのレコメンドシステムを設計してください。デプロイ後のデータドリフトをどう検知しますか?古い予測を提供せずに、モデルをどう再学習しますか?
  • 実験:オフライン指標は改善したのに、A/Bテストでは変化がありませんでした。何を確認しますか?

これらの各質問に、自分の仕事での具体例を1つずつ添えて答えられれば、基礎面接で問われる内容の大部分を網羅できます。

口頭では、どのように答えるべきですか?

内容を理解していても、ビデオ通話で説明を求められると言葉に詰まるのは普通です。ここでは口頭回答を構成する方法を紹介します。要点は、定義、判断、例、限界です。

  • 定義を、数式より先に、平易な言葉で1文にまとめます。
  • 判断:いつ使うか、代わりに何を選ぶかを説明します。面接官が評価するのは、用語の知識ではなく判断力だからです。
  • を実際のプロジェクトから挙げます。データセット、発生した問題、変更したこと、変化した結果を説明します。
  • 限界:その手法がどこで機能しなくなるかを示します。失敗を経験するほど使い込んだことが伝わります。

マーケットプレイス企業のML職を受けるデータサイエンティストが、ランキングモデルはオフラインでは非常に優れていたのに、A/Bテストでは効果がなかった理由を問われたとします。彼女は4つの手順で答えます。オフラインとオンラインの乖離とは何か、ログデータの位置バイアスがその乖離を引き起こした理由、追加した反実仮想評価、そしてログが十分にランダム化されている場合にしか成立しないという注意点です。この回答は、完璧な導出より高く評価されます。口頭回答の練習は、まさに模擬面接ツールの用途です。実際の面接官と同じように、追加質問を行います。

AI面接アシスタントは、機械学習の面接に役立ちますか?

会話形式の面接では、一定の制限内で役立ちます。SubcueAIのネイティブmacOS・Windowsデスクトップアプリは、通話のシステム音声とマイク音声を取り込み、Zoom、Google Meet、Microsoft Teamsで面接官の質問を聞き取り、自分の画面にしか表示されないフローティングオーバーレイに、短い回答構成案を表示します。ChromeまたはEdgeのブラウザタブで行われる通話では、ブラウザ拡張機能のサイドパネルが会議タブの音声だけを取り込むため、面接官の発言は聞き取りますが、自分の発言は文字起こししません。どちらもボットとして通話に参加したり、会議ページに何かを挿入したりすることはありません。履歴書をアップロードしている場合、提案には自分のプロジェクトを反映できます。MLの回答が評価されるのは、まさにそうした部分です。

制限は、あらゆる技術面接に当てはまるものと同じです。監督付きのコーディング試験、持ち帰り課題、企業管理デバイスで行われるセッションは、SubcueAIの用途外です。また、画面全体を共有するとオーバーレイが全員に見えてしまうため、共有画面上でのホワイトボードを使った導出は自分で行う必要があります。SubcueAIの創業者Aaron Caoは、回答を口述するためではなく、構成や語彙を思い出すためのオーバーレイとして開発しました。ML面接官はあらゆる主張を掘り下げて質問し、借り物の回答は2問目で破綻するからです。両方の利用方法はチュートリアルページで案内しています。デスクトップアプリと拡張機能の実用上の違いは、比較ページで説明しています。

よくある質問

機械学習の面接では、どの程度の数学が必要ですか?

手法が機能する理由を説明できる程度、つまり勾配、確率、損失関数の形に関する知識が必要です。研究職以外で完全な導出を求められることはまれであり、通常は導出から何が分かるかを説明できれば十分です。

ML面接では、今でもLeetCode形式のコーディングが出ますか?

多くの場合、少なくとも1回はあります。ソフトウェアエンジニア職の選考より軽めの傾向があり、pandasを使ったデータ操作や、小さなアルゴリズムの一からの実装が出やすいです。

ML面接で最もよくある失敗は何ですか?

判断を示さず、定義だけで答えることです。面接官は、リークのある特徴量や変化のないA/Bテストに対して何をするかを尋ねています。教科書の文章を暗唱しても、その問いへの回答にはなりません。

MLシステム設計は別に準備すべきですか?

はい。学習パイプライン、特徴量ストア、バッチサービングとオンラインサービング、ドリフト監視、再学習の頻度など、固有の語彙があります。レコメンドシステムや不正検知モデルなど、エンドツーエンドの設計を1つ選び、数分で図にできるまで練習しましょう。

SubcueAIは、持ち帰り形式のML課題に役立ちますか?

いいえ。持ち帰り課題は、会話を伴わないオフライン作業です。SubcueAIはライブ会話を聞き取るものであり、評価課題や監督付きセッションを目的としていません。

関連する質問

← 詳しく見る: 職種・トピック別の面接質問