1. 定義と概要
マルチタスク学習とは、目的タスクに関連する複数のタスクを1つのモデルに同時に学習させる手法です。単一タスクだけを学習するより高い精度と汎化性能を狙える点が特徴です。
一般的な構成では、入力層から中間層にかけての部分を複数タスクで共有し、出力層に近い部分でタスクごとに枝分かれさせます。この共有部分を、共有表現(共有層)と呼びます。共有された部分は、複数のタスクに共通する特徴を学び取るモデルの中間部分としての役割を持ちます。
代表例には、物体検出とセグメンテーション(画像の中の物体をピクセル単位で領域分けする処理)にあたるマスク生成を1つのネットワークで同時に学習するモデルがあります。それがMask R-CNN(物体検出とセグメンテーションを1つのモデルで同時に行う代表的なマルチタスク学習モデル)です。ネットワーク自体の詳しい構造は、別の記事で扱います。
従来の機械学習では、1つのタスクに1つの専用モデルを用意するシングルタスク学習が基本でした。タスクごとに個別のモデルを設計し、それぞれ独立に学習を進める流れが一般的だったからです。しかし、関連するタスクを別々に学習すると、各モデルはそれぞれのデータの誤差や偏りを独立に拾ってしまい、汎化性能が頭打ちになりやすいという課題がありました。
そこで、関連タスクを同時に学習させる方法が広まりました。タスク間で共通する特徴を共有表現として抽出できるようになったためです。あるタスクの学習が他タスクの正則化(モデルが訓練データに寄りすぎないよう働きかける仕組み)のように働き、過学習(訓練データを覚えすぎて新しいデータにうまく対応できなくなる状態)を抑える効果も確認されています。
単一タスクの学習では見えにくかったデータの偏りが、複数タスクを通すことで打ち消し合う場合もあります。こうした背景から、マルチタスク学習は広く使われるようになりました。
2. 試験対策ポイント
対策として整理しておきたいのが、共有表現の構成です。共有された中間表現は各タスクに共通する特徴を抽出する役割を持ち、学習データが少ないタスクでも安定した推定を助けます。入力層から中間層までを複数タスクで共有し、出力層付近でタスクごとに分岐させる構成が基本形です。関連性の高いタスクを適切に組み合わせれば、共有部分が学び取れる特徴の幅は広がりやすくなります。
学習全体の損失関数(モデルの予測と正解のズレの大きさを数値で表す関数)は、各タスクの損失関数の重み付き和として定義されます。タスクごとに損失のスケールや難易度が異なるため、そのまま単純に足し合わせると特定のタスクだけが支配的になり、他のタスクの学習が進みにくくなるという制約があります。
この制約に対応するため、タスクごとに重み付け(複数の要素それぞれにどれだけ影響力を持たせるかを決める調整)を行います。重みの調整は、精度を左右する論点として扱われます。実務でも、重みの初期値をどう設定するかが検討事項になります。
タスク間の関連性が乏しい場合や重みのバランスが崩れている場合には、複数タスクを同時に学習させることでかえって個々のタスクの性能が下がる負の転移(別のタスクを学んだ経験が、今のタスクの性能をかえって下げてしまうこと)が起こり得ます。この現象は、性能が向上する正の転移(別のタスクを学んだ経験が、今のタスクの性能向上に役立つこと)とは異なります。また、連続学習で過去タスクの性能が急激に下がる破壊的忘却(新しいタスクを学習した結果、それまで学習していた過去のタスクの性能が急激に落ちる現象)とも、結果の出方の違いで区別されます。
3つの現象は、学習の進め方と性能への出方をそろえて並べると見分けやすくなります。
| 現象 | 学習の進め方 | 性能への出方 |
|---|---|---|
| 正の転移 | 別のタスクを学んだ経験を活かす | 今のタスクの性能向上に役立つ |
| 負の転移 | 複数タスクを同時に学習させる | 個々のタスクの性能がかえって下がる |
| 破壊的忘却 | タスクを順番に学ぶ連続学習 | 過去のタスクの性能が急激に落ちる |
見分ける軸をそろえておくと、名称だけで取り違えることが減ります。関連性の薄いタスクを無理に組み合わせないことが、負の転移を避ける手がかりになります。
3. 関連概念との比較・相違点
転移学習(すでに学習済みのモデルを別の似た課題に使い回す手法)との最大の違いは、知識の受け渡し方にあります。転移学習は学習済みモデルの知識を別のタスクへ順番に転用する手法であるのに対し、マルチタスク学習は複数タスクを最初から1つのモデルで同時に学習させる手法です。学習の順番があるかどうかが、両者を分ける軸になります。
破壊的忘却との違いは、性能低下が起こる学習の進め方にあります。マルチタスク学習における負の転移はタスクを同時に学習させた結果として性能が下がる現象であるのに対し、破壊的忘却はタスクを順番に学習する連続学習で過去タスクの重みが上書きされ、性能が急激に下がる現象です。同時に学ばせるか、順番に学ばせるかという違いが、負の転移と破壊的忘却を区別するうえでの軸になっています。
なお、複数の課題に対応できる性質そのものを指す「マルチタスク」と、その性質を得るための学習手法である「マルチタスク学習」は、性質と手法という異なる観点の概念です。両者の関係を理解しておくと、用語の混同を避けられます。
4. ビジネス・実務での活用シナリオ
画像認識・物体検出の分野では、「Mask R-CNN」のように、物体検出とマスク生成にあたるセグメンテーションを1つのネットワークで同時学習させる構成が代表例です。共有表現によって、2つの専用モデルを別々に用意するより学習が効率化し、物体の位置と形状を一貫して捉えられます。検出結果と形状の情報が同じ土台の上でつながっている点が強みです。
製造業の外観検査では、検査モデルに欠陥の位置検出と欠陥種類の分類を共有表現の上で同時学習させる事例があります。個別のモデルを用意する場合と比べて、少ない学習データでも安定した検出精度が得られます。共有表現がタスク間で特徴を補い合うためです。欠陥の位置と種類を別々のモデルで学習していたときには見えにくかった関係性を、1つのモデルの中で扱えるようになります。
Web広告・レコメンデーションの分野では、クリック率予測とコンバージョン率予測を1つのモデルで同時学習させる事例があります。タスクごとの損失の重み付けを調整することで、行動データが少ないユーザーに対しても精度の高い予測を実現します。片方のタスクで得た特徴が、もう片方のタスクの予測を支える構造になっています。クリックにつながりやすい傾向と購入につながりやすい傾向は重なる部分が多いため、同時に学習させる意味が生まれます。
5. 要点まとめ
- マルチタスク学習は、目的タスクに関連する複数タスクを1つのモデルに同時に学習させる手法で、共有表現(入力〜中間層の共有と出力層でのタスク分岐)によって過学習の抑制と汎化性能の向上を狙います。
- 学習全体の損失関数は各タスクの損失の重み付き和で構成され、タスクごとの損失スケールや難易度の違いに応じた重みの調整が精度を左右します。
- タスク間の関連性が乏しい場合や重みバランスが崩れると負の転移が起こり、性能が下がります。正の転移や破壊的忘却との違いは、性能変化の出方で区別されます。
6. 確認問題
問1マルチタスク学習では、入力層から中間層にかけて複数タスクで共有する層を設け、出力層付近でタスクごとに分岐させる構成が一般的である。
解答・解説をみる
○ 正しい
共有表現(共有層)は各タスクに共通する特徴を抽出する役割を持ち、学習データが限られたタスクでも安定した学習に寄与します。出力層付近でタスクごとに枝分かれさせる構成が、共有表現の基本形です。
問2マルチタスク学習全体の損失関数は各タスクの損失関数を単純に足し合わせればよく、タスクごとの重み付けを調整する必要はない。
解答・解説をみる
× 誤り
タスクごとに損失のスケールや難易度が異なるため、そのまま足し合わせると特定タスクの学習だけが優先されやすくなります。正しくは、タスクごとに重みを設定して調整する必要があります。
問3マルチタスク学習において、タスク間の関連性が乏しい場合に個々のタスクの性能がかえって低下する現象を負の転移と呼ぶ。
解答・解説をみる
○ 正しい
負の転移は同時学習の結果として性能が低下する現象です。性能が向上する正の転移、連続学習で過去タスクの性能が急激に下がる破壊的忘却と、結果の出方の違いで区別されます。

