マルチタスク学習
マルチタスク学習とは
マルチタスク学習とは、単一のモデルで複数の課題を解く機械学習の手法です。
関連する複数の課題を同時に学習させることで、課題間の共通の要因を獲得し、課題の予測精度を向上させます。
ある課題の知識を、他の課題にも応用する機械学習の手法としては、転移学習(ドメイン適応)もよく知られています。
両者の違いとして、転移学習とは特定のドメインの学習済みモデルを他のドメインにも転用することを指しますが、マルチタスク学習ではモデルを転移するのではなく、最初から複数のドメインの課題を解くためのモデルを設定します。
マルチタスク学習は、機械学習のさまざまな分野で応用が試みられています。
- 画像認識分野
領域識別、クラス分類、物体領域(セグメンテーション)の認識といった複数の課題を同時に学習させています。
- 自然言語処理分野
品詞づけ・文節判定・係り受け・文意関係(補強・反対・普通)・文関係の度合いを同時に学習させます。
- 強化学習の分野
本課題と共に補助課題を解かせることで、学習速度や精度の向上を果たしています。
深層学習においてマルチタスク学習を行うには、予測値と実際の値の誤差の関数となる損失関数を最小化することが必要です。
一般に、マルチタスクの深層学習では各課題の重み付き和が損失関数になります。
この場合、複数の目的関数のパレート最適を求めるために、課題ごとの損失関数の勾配を混ぜあわせる比率がモデル最適化の鍵になります。
深層強化学習の分野で一躍有名になったのは、囲碁のトップ棋士に勝利したDeepMind社のAlphaGoでした。
マルチタスク学習版のAlphaZeroは囲碁だけでなく、チェスと将棋においても同じアルゴリズムで学習を行い、いずれの課題においても短期間のうちにトップクラスのレーティングに達しました。
このことは、シングルタスク学習よりも一般に各課題の学習効率が下がるマルチタスク学習においても、十分な学習を達成できること、そしてマルチタスク学習の汎用性の高さを示しました。
この事例から分かるとおり、マルチタスク学習の成功にとって望ましい条件は、複数の課題間で共通する因子や有用な特徴、局所解をもっていることです。
もし、複数の課題間で難易度に差がある場合、困難な課題は容易な課題から情報を得て学習が簡単になるのだと考えられます。「マルチタスク」とはいえ、人間の行うように属性のかけ離れた課題同士を同時に学習することは今後の課題といえるでしょう。