機械学習の分野では、マルチタスク学習 (MTL)
が大きな期待を集めている研究開発の方向性となっています。このアプローチの主なアイデアは、複数の学習タスクを同時に解決し、タスク間の共通点と相違点を活用することです。モデルのみをトレーニングする場合と比較して、MTL では学習効率と予測精度が大幅に向上します。マルチタスク学習の初期のバージョンは「ヒント」と呼ばれ、1997 年に Rich Caruana によって初めて提案されました。彼の論文では、MTL が並列学習と表現の共有によって一般化を改善する仕組みが説明されています。
「マルチタスク学習は、関連するタスクのトレーニング信号からのドメイン情報を推論バイアスとして活用することで、推論を改善する方法です。」
分類の文脈では、マルチタスク学習は共同学習によって複数の分類タスクのパフォーマンスを向上させることを目的としています。たとえば、異なるユーザー向けのスパム フィルターの場合、各ユーザーはスパムを識別するための機能に関して異なる分布を持つ可能性があります。英語話者にとっては、すべてのロシア語の電子メールはスパムとみなされる可能性がありますが、これはロシア語話者には当てはまりません。ただし、この分類タスクには、送金に関連するテキスト シンボルなど、明らかな共通点がまだ残っています。 MTL を通じて各ユーザーのスパム分類問題を共同で解決することで、ソリューションが相互に影響を与え、パフォーマンスが向上します。
しかし、マルチタスク学習における重要な課題は、複数のタスクからの学習信号を単一のモデルに統合する方法にあります。この部分は、さまざまなタスク間の一貫性または矛盾に大きく依存します。 MTL のコンテキストでは、タスクの関連性に基づいて情報を選択的に共有できます。
「タスクの組み合わせや重複から情報を抽出し、タスクの依存関係の構造に基づいてデータを選択的に共有できます。」
具体的には、タスクは一般的なメトリックに従ってグループ化したり、階層的に存在したりすることができます。たとえば、各タスクのパラメータ ベクトルは、何らかの基底の線形結合としてモデル化できます。関連タスクの重複は、タスク間の共通性を示し、それに基づいて、特定の基本要素によって生成されたサブスペースでタスクの組み合わせを実行できます。このような構造では、さまざまなタスクが分離したり重複したりする可能性があります。
関連タスクに加えて、MTL は関連のないタスクの可能性も活用できます。性質に関係なく、関連のない補助タスクを使用することで、アプリケーションで共同学習のメリットを得ることができます。この理由は、タスク間の相関関係に関する事前の知識により、各タスクの組み合わせについてよりスパースで情報豊富な表現が得られる可能性があるからです。
「合成データと実際のデータの両方を使用した実験では、無関係なタスクを含むモデルは、標準的なマルチタスク学習方法よりも大幅に優れたパフォーマンスを発揮しました。」
マルチタスク学習と密接に関連しているのは、知識移転の概念です。従来のマルチタスク学習では、タスク間で共有表現を並行して開発することになりますが、知識転送では、順次共有表現を開発することになります。実際のアプリケーションでは、深層畳み込みニューラル ネットワーク GoogLeNet などの大規模な機械学習プロジェクトで堅牢な表現を開発することができ、これは関連タスクのアルゴリズムをさらに学習する際に非常に役立ちます。
たとえば、事前トレーニング済みモデルを特徴抽出器として使用して、他の学習アルゴリズムの前処理を実行できます。または、事前トレーニング済みのモデルを使用して、同様の構造を持つモデルを初期化し、その後微調整してさまざまな分類タスクを学習することもできます。
場合によっては、一見関連しているタスクを同時にトレーニングすると、単一タスク モデルと比較してパフォーマンスが低下する可能性があります。これらの競合を解決するには、さまざまな MTL 最適化方法を活用して、この問題の影響を最小限に抑える必要があります。一般的に言えば、各タスクについて、計算された勾配は、さまざまな集約アルゴリズムまたはヒューリスティックな方法を通じて、最終的に共同更新方向に統合されます。
技術の進歩とマルチタスク学習に関する徹底的な研究により、次のような疑問が湧いてきます。マルチタスク学習は、将来、機械学習モデルの精度と適用範囲をどのようにさらに向上させるのでしょうか。