Re Reference AI

技術

マルチタスク学習(タスク間共有表現)とは

Multi-Task Learning / MTL / タスク間共有表現

複数の関連タスクを1つのモデルで同時に学習し、タスク間で知識を共有することで汎化性能を高める手法

機械学習学習

ひとことで言うと

関連するいくつかの課題を1つのモデルに同時に学ばせ、課題同士の知識を共有させてそれぞれの精度を高める方法。

概要

マルチタスク学習(Multi-Task Learning)とは、複数の関連するタスクを1つのモデルで同時に学習させることで、タスク間で有用な特徴やパラメータを共有し、個別にタスクを学習する場合より高い汎化性能を目指す機械学習の手法を指す。 典型的には、入力から特徴を抽出する層の大部分をタスク間で共有し、タスクごとに固有の出力層(ヘッド)を用意する構成をとる。 ある1つのタスクの学習が、関連する別タスクにとって有用な正則化として働き、データ量が少ないタスクの性能を補う効果(帰納バイアスの共有)が期待される。 自然言語処理における複数タスクの同時学習や、自動運転における物体検出・セグメンテーション・深度推定の同時学習など幅広い分野で使われる。

歴史

1997年にCaruanaが論文「Multitask Learning」でこの枠組みを体系的に提案した。

アーキテクチャ

入力から特徴を抽出する層をタスク間で共有する共有層(shared layers)と、各タスク固有の出力を計算するタスク別ヘッド(task-specific heads)から構成されることが多い。損失関数は各タスクの損失の重み付き和として定義され、この重み付けの設計がタスク間のバランスを左右する。

利点

  • 関連タスク間で知識を共有でき、データ量が少ないタスクでも性能向上が見込める
  • タスク固有の過学習を抑える正則化効果が期待できる
  • 複数タスクを1つのモデルで扱えるため推論時のパラメータ数やコストを抑えられる

欠点

  • タスク同士の関連性が低い場合、互いの学習を妨げ合う負の転移(negative transfer)が起こりうる
  • タスクごとの損失の重み付けの設計が難しく、性能がその設定に敏感な場合がある
  • 1つのタスクのデータやラベルの変更が、他のタスクの性能にも影響する

比較

  • 転移学習転移学習が別タスクで学習済みのモデルを新しいタスクへ転用するのに対し、マルチタスク学習は複数タスクを同時に学習して知識を共有する

関連用語

転移学習機械学習メタ学習

よくある質問

マルチタスク学習で性能が悪化することはある?

タスク同士の関連性が低い場合に起こりうる。あるタスクの学習が別タスクを妨げる負の転移により、個別学習より性能低下を招くことがある。