本文へ移動

G検定(ジェネラリスト検定)

まるちたすくがくしゅう

マルチタスク学習

Multi-task Learning

マルチタスク学習は、関連する複数のタスクを1つのモデルで並列に学習し、タスク間で共有する表現を通じて、あるタスクで学んだことを他のタスクの学習にも役立てる手法です。帰納転移と呼ばれる考え方の一つで、主な目的は汎化性能を高めることです。ニューラルネットワークでは、1つの共有の隠れ層の上にタスクごとの出力を並べ、すべての出力を同時にバックプロパゲーションで学習する形で実現されます。

詳しい説明

マルチタスク学習とは

マルチタスク学習(Multitask Learning、MTL)は、関連のある複数のタスクを並列に学習させ、その際にタスク間で共有の表現を使う学習方法です。カルアナ(Caruana)は1997年の論文で、マルチタスク学習を帰納転移の仕組みの一つと位置づけ、その主な目的を汎化性能の向上だと述べています。

ここでいう汎化性能とは、学習に使ったデータだけでなく、まだ見ていないデータに対してもうまく予測できる力のことです。マルチタスク学習は、1つのタスクだけを見ていては得られない情報を、関連する別のタスクから取り込むことで、この力を高めようとします。

帰納転移と帰納バイアス

マルチタスク学習を理解するには、2つの用語を押さえておく必要があります。

帰納転移(inductive transfer)とは、ある学習で得られた知識を別の学習に移して役立てることです。データから一般的な規則を導くことを帰納と呼ぶため、その帰納の過程で知識を移し合う、という意味でこう呼ばれます。

帰納バイアス(inductive bias)とは、学習する側が、データに合う候補がいくつもあるときに、どれを選ぶかを導く手がかりや傾向のことです。限られたデータからでも筋のよい答えにたどり着くための、学習を方向づける追加の手がかりと考えると分かりやすいでしょう。

カルアナの論文では、マルチタスク学習において、関連するタスクの訓練信号(そのタスクの正解として与えられる教師データ)に含まれる領域固有の情報を利用すると説明されています。そして、追加のタスクの訓練信号が、実質的に帰納バイアスとして働くと述べられています。つまり、あるタスクを学習するとき、隣で同時に学習している関連タスクの正解情報が、そのタスクの学習を導く手がかりになるということです。

単一タスク学習との対比

カルアナは、ニューラルネットワークを例に、マルチタスク学習とそうでない方式を2つの図で比べています。

4つの独立したネットワーク

1つ目の図には、4つの別々のニューラルネットワークが描かれています。どのネットワークも同じ入力を受け取り、出力は1つずつです。それぞれのネットワークは、他と切り離されたまま、個別にバックプロパゲーション(誤差逆伝播法)で学習されます。

4つのネットワークはつながっていないため、あるネットワークが学んだことが別のネットワークの助けになることはありません。カルアナはこの方式を単一タスク学習(Single Task Learning、STL)と呼んでいます。単一タスク学習とは、タスクごとに独立したモデルを用意し、互いに影響し合わない状態で学習する方式です。

共有の隠れ層を持つ1つのネットワーク

2つ目の図には、1つ目の図と同じ入力を持つ1つのネットワークが描かれています。このネットワークには出力が4つあり、1つ目の図の4つのネットワークがそれぞれ学習していたタスクに1つずつ対応しています。

4つの出力はすべて、共有する1つの隠れ層と全結合でつながっています。そして、4つの出力に対するバックプロパゲーションは並列に、つまり同時に行われます。これがマルチタスク学習のネットワークです。

なぜ他のタスクの学習を助けられるのか

2つの図の違いは、隠れ層を共有しているかどうかです。

単一タスク学習では、各タスクの隠れ層はそのタスク専用です。あるタスクのために隠れ層の中に生まれた特徴のとらえ方は、他のタスクからは使えません。

マルチタスク学習では、4つの出力が共通の隠れ層を共有しています。そのため、あるタスクのために隠れ層に生まれた内部表現を、他のタスクも利用できるようになります。カルアナは、タスクを並列に学習しながら、異なるタスクが学んだものを共有することが、マルチタスク学習の中心的な考え方だと述べています。

言い換えると、共有の隠れ層は、複数のタスクから同時に学習の圧力を受けます。各タスクの訓練信号が隠れ層の学習を同じように方向づけるため、1つのタスクだけでは見つけにくい表現が形づくられ、それが各タスクの学習をよりよいものにします。これが、関連タスクの訓練信号が帰納バイアスとして働くという説明の具体的な中身です。

まとめ

マルチタスク学習は、関連する複数のタスクを並列に学習し、共有の表現を通して互いの学習を助け合わせる帰納転移の手法です。ニューラルネットワークでは、共有の隠れ層とタスクごとの出力という形で実現され、タスクごとに独立したネットワークで学習する単一タスク学習と対比されます。ポイントは、関連タスクの訓練信号が帰納バイアスとなり、汎化性能の向上につながるという点です。

試験で問われること

G検定

  • マルチタスク学習が、関連する複数のタスクを並列に学習し、共有の表現を使うことで汎化性能を高める帰納転移の手法であることを説明できますか。
  • 単一タスク学習(タスクごとに独立したネットワークで学習する方式)とマルチタスク学習の違いを、隠れ層を共有するかどうかという観点で確認しておきましょう。
  • 共有の隠れ層によって、あるタスクのために生まれた内部表現を他のタスクも使えるようになる、という仕組みを説明できますか。
  • 関連タスクの訓練信号が帰納バイアス(学習を方向づける追加の手がかり)として働くという位置づけを確認しておきましょう。

最終更新日: 2026/09/23