論文を集中的に読む - マルチタスク学習のための勾配手術

マルチタスク学習と PCGrad メソッドの紹介

マルチタスク学習 (MTL) は機械学習の人気のある研究分野であり、単一のモデルが複数の関連タスクを同時に学習します。このアプローチの主な動機は、さまざまなタスクが基礎的な表現や機能を共有する可能性があるため、相互に支援し、学習効率を向上させることができるということです。ただし、タスクの勾配更新の方向が矛盾する場合、これによりトレーニングが困難になる可能性があります。

論文「マルチタスク学習のための勾配手術」で提案された PCGrad メソッドは、この問題に対処します。更新時に複数のタスクの勾配が互いに競合する場合、PCGrad は主にこれらの勾配をトリミングして互いに競合しないようにする方法を検討します。具体的には、各タスクの勾配を、他のタスクの勾配と競合する方向の直交平面に投影することにより、勾配間の競合を排除します。

このアプローチを直感的に理解すると、2 つのタスクによって生成された勾配が互いに競合する場合 (たとえば、1 つのタスクがモデルの重みを一方向に押し、もう 1 つのタスクが反対方向に押し出す)、この競合が発生する可能性があるということです。モデル学習の妨げになります。これを軽減するために、PCGrad は勾配をトリミングして、各タスクの勾配が他のタスクの勾配と競合する方向でゼロになるようにします。このように、各タスクは他のタスクと競合しない方向にのみモデルの重みを更新します。

論文の実験では、このアプローチがマルチタスクの教師あり学習とマルチタスク強化学習 (RL) の両方のマルチタスク シナリオで有効であることが実証されています。

説明 - 「各タスクの勾配を他のタスクの勾配と競合する方向に直交平面に投影することにより、勾配間の競合を排除します。」 :

この概念を理解するには、簡略化した 2D の例を使用します。

2 つのタスク A と B があり、2D 空間の勾配を考慮しているとします。したがって、各タスクには勾配ベクトルが存在します。

  1. 状況例:
    • タスク A の勾配ベクトルはg A ⃗ \vec{g_A}ですg 、右上を指します。
    • タスク B の勾配ベクトルはg B ⃗ \vec{g_B}ですgB 、右下を指します。

これら 2 つのベクトルは水平方向に並んでいます (両方ともモデルの重みを右に押します) が、垂直方向は反対です (1 つは上、もう 1 つは下)。

  1. 競合を検索します。

    • 2 つのグラデーションは垂直方向で競合するため、この競合を解決する必要があります。
  2. 競合を解決する方法 - 直交平面に投影する:

    • タスク A では、タスク B との勾配の競合を排除したいと考えています。具体的には、 g B ⃗ \vec{g_B}に関連するベクトルを見つける必要があります。gB 直交、g A ⃗ \vec{g_A}g 同じ方向に。このベクトルはg A ⃗ \vec{g_A}ですg In g B ⃗ \vec{g_B}gB 直角方向に投影します。
    • 同様に、タスク B については、 g A ⃗ \vec{g_A}と一致するベクトルを見つけます。g 直交、g B ⃗ \vec{g_B}gB 同じ方向に。このベクトルはg B ⃗ \vec{g_B}ですgB g A ⃗ \vec{g_A}g 直角方向に投影します。
  3. 結果:

    • 両方のタスクの勾配ベクトルが修正されました。2 つの新しいベクトルは依然として元の方向を向いていますが、他のタスクの勾配と競合する方向の成分はありません。

図:
座標系を想像してください。この座標系では、タスク A の勾配は原点から第 1 象限へ向かうベクトルです。タスク B の勾配は、原点から第 4 象限へ向かうベクトルです。垂直方向の競合を解消するために、タスク A の勾配を水平方向 (タスク B の勾配と直交する方向) に投影した新しいベクトルを見つけます。このようにして、完全に水平方向にあり、タスク B の勾配と競合しないベクトルが得られます。

同様に、タスク B の勾配も水平方向に投影され、タスク A の勾配と競合しない新しい勾配ベクトルが取得されます。

このようにして、両方のタスクが相互に干渉することなく、同時に勾配更新を実行できます。

ここに画像の説明を挿入します

あるベクトルの別のベクトルの直交方向への投影を計算します。

ここに画像の説明を挿入します

用紙情報

論文タイトル マルチタスク学習のための勾配手術
著者 天河裕1 ^11、サウラブ クマール1 ^11、アビシェーク グプタ2 ^22、セルゲイ・レヴィン2 ^22、カロル ハウスマン3 ^33、チェルシー1 ^11
研究機関 スタンフォード大学1 ^11、カリフォルニア大学バークレー校2 ^22、Google のロボット工学e ^ee
ミーティング NeurlIPS
出版年 2020年
ペーパーリンク https://proceedings.neurips.cc/paper/2020/file/3fe78a8acf5fda99de95303940a2420c-Paper.pdf
オープンソースコード https://paperswithcode.com/paper/gradient-surgery-for-multi-task-learning-1
論文寄稿 この論文では、著者らは、望ましくない勾配干渉を引き起こすマルチタスク最適化のための 3 つの環境条件を特定し、タスク勾配間のそのような干渉を回避するための簡単で一般的な方法を開発します。著者らは、あるタスクの勾配を、矛盾する勾配を持つ他のタスクの勾配の法線平面上に投影する勾配手術の形式を提案しています。このアプローチは、さまざまな困難なマルチタスク教師あり問題およびマルチタスク RL 問題の効率とパフォーマンスに大幅な改善をもたらします。さらに、モデルに依存せず、以前に提案されたマルチタスク アーキテクチャと組み合わせてパフォーマンスを向上させることができます。

紙管図

ここに画像の説明を挿入します

要約翻訳

深層学習および深層強化学習 (RL) システムは、画像分類、ゲームプレイ、ロボット制御などの分野で目覚ましい成果を示していますが、データ効率は依然として大きな課題です。マルチタスク学習は、複数のタスク間で構造を共有し、より効率的な学習を可能にする有望なアプローチとして浮上しています。しかし、マルチタスク設定では一連の最適化問題が発生するため、学習タスクのみに比べて大きな効率向上を得ることが困難になります。マルチタスク学習がシングルタスク学習と比較して非常に難しい理由は完全には説明されていません。この研究では、3 つのマルチタスク最適化シナリオで望ましくない勾配干渉を引き起こす条件を特定し、そのようなタスク間勾配干渉を回避するためのシンプルだが一般的な方法を開発します。我々は、あるタスクの勾配を、勾配が矛盾する他のタスクの勾配の法線面に投影する勾配手術法を提案します。このアプローチにより、さまざまな困難なマルチタスク教師あり問題およびマルチタスク RL 問題にわたって効率とパフォーマンスが大幅に向上します。さらに、モデルに依存せず、以前に提案されたマルチタスク アーキテクチャと組み合わせてパフォーマンスをさらに向上させることができます。

紹介翻訳

ここに画像の説明を挿入します

図 1: 2D マルチタスク最適化問題に関する PCGrad の視覚化。(a) はマルチタスクのターゲット ランドスケープです。(b) と © は、(a) を構成する個々のミッション目標の等高線図です。(d) は、Adam オプティマイザーを使用したマルチタスク目標の勾配更新の軌跡です。軌跡の終端にある 2 つのタスクの勾配ベクトルは、それぞれ青と赤の矢印で表され、相対的な長さは対数目盛になっています。(e) は、Adam と PCGrad を使用したマルチタスク ターゲットの勾配更新の軌跡です。(d) と (e) では、最適化された軌道の色が黒から黄色に変化します。

深層学習と深層強化学習 (RL) は、システムが複雑なタスクを学習できるようにする上で大きな期待を寄せていますが、現在の手法のデータ要件により、各タスクを個別にゼロから学習することが困難になっています。このマルチタスク学習の問題に直面した直感的なアプローチは、タスクを個別に解決する場合よりも高い効率とパフォーマンスを達成するために、タスク間の共有構造を見つけることを目的として、すべてのタスクを共同でトレーニングすることです。ただし、複数のタスクを同時に学習すると複雑な最適化問題が発生し、各タスクを個別に学習するよりも悪くなる場合があります [42、50]。これらの最適化問題は非常に一般的であるため、多くのマルチタスク RL アルゴリズムは最初に個別にトレーニングされ、次にこれらの独立したモデルがマルチタスク モデルに統合されます [32、42、50、21、56]。自主トレーニングでの効率向上が犠牲になります。マルチタスク学習の最適化の課題を効果的に解決できれば、最終的なパフォーマンスに影響を与えることなく、マルチタスク学習で期待される利点を実際に達成できる可能性があります。

多数のマルチタスク学習研究が実施されていますが [6, 49]、最適化の課題についてはよく知られていません。以前の研究では、タスクごとの学習速度の違い [8、26] と最適化プロセスのプラトー [52] がこの問題の原因である可能性があることが指摘されていましたが、他の研究ではモデル アーキテクチャに焦点を当てていました [40、33]。**この研究では、マルチタスク学習における主な最適化問題は、異なるタスクからの勾配の衝突から生じ、それによって学習の進行が妨げられるという仮説を提案します。2 つの勾配が反対方向にある (つまり、コサイン類似度が負である) 場合、それらの勾配は競合していると見なされます。**この矛盾は、a) 矛盾する勾配が b) 高い正の曲率と c) 大きな勾配の大きさの差と同時に発生する場合に有害になります。

たとえば、図 1a ~ 図 1c の 2 つのミッション目標の 2D 最適化ランドスケープを考えてみましょう。各タスクの最適化ランドスケープには深い谷があり、これはニューラル ネットワークの最適化 [22] で観察される現象であり、各谷には高い正の曲率と大きなタスク勾配の大きさの差があります。この場合、1 つのタスクの勾配がマルチタスクの勾配よりも優先され、他のタスクのパフォーマンスが犠牲になります。曲率が高いため、支配的なタスクの改善が過大評価される一方で、非支配的なタスクのパフォーマンスの低下が過小評価される可能性があります。

したがって、オプティマイザは最適化目標を達成することが困難になります。図 1d では、オプティマイザはタスク 1 の深い谷に到達しますが、勾配の矛盾、高い曲率、および勾配の大きさの差が大きいため、谷の底 (図 1d に示す勾配) を越えることができません。セクション 5.3 では、この状況が高次元ニューラル ネットワークのマルチタスク学習問題でも発生することを実験的に示します。

**この研究の主な貢献は、勾配を直接変更することによって勾配干渉を軽減する方法、つまり「勾配手術」です。2 つの勾配が矛盾する場合、これらの勾配を互いに直交する平面に投影することで調整し、勾配の干渉部分がネットワークに作用するのを防ぎます。私たちは、この特定の勾配手術を「Projection Conflicted Gradient」(PCGrad) と呼んでいます。**PCGrad は特定のモデルに依存せず、勾配の適用に必要な変更は 1 つだけです。したがって、マルチタスク教師あり学習やマルチタスク強化学習を含むさまざまな問題設定に容易に適用でき、他のマルチタスク学習手法(アーキテクチャを変更する手法など)と組み合わせることができます。私たちは、どのような局所条件下で PCGrad が標準的なマルチタスク勾配降下法を上回るパフォーマンスを発揮できるかを理論的に実証し、マルチタスク CIFAR 分類や多目的シーンの理解、困難なマルチタスク RL ドメインや RL など、さまざまな困難な問題に関して PCGrad を経験的に評価しました。目標の条件下で。全体として、PCGrad は、マルチタスク強化学習問題で 30% 以上の絶対的な改善を達成するなど、以前の方法と比較してデータ効率、最適化速度、最終パフォーマンスが大幅に向上していることがわかりました。さらに、マルチタスク教師あり学習タスクの場合、PCGrad を以前のマルチタスク学習方法と組み合わせて、より高いパフォーマンスを実現できます。

2 マルチタスク学習に PCGrad を使用する

原理的には、マルチタスク問題は、標準のシングルタスク アルゴリズムを使用してモデルに適切なタスク識別子を提供することによって、または単純なマルチヘッド モデルまたはマルチ出力モデルを使用することによって解決できますが、以前の研究 [42、50、53] ] この問題はかなり難しいことがわかりました。このセクションでは、シンボリック表記法を導入し、マルチタスク最適化の問題点を特定し、これらの問題点を軽減するための簡単で一般的な方法を提案し、この方法の理論的分析を行います。

2.1 基本概念: 問題と記号表現

マルチタスク学習の目標は、モデルf θ f_{\theta}を見つけることです。fパラメータθ \θθ、つまりスレーブタスク分布ではp ( T ) p(\mathcal{T})p ( T )から得られるすべてのトレーニング タスクにわたって高い平均パフォーマンスを達成しますより正式には、次の問題を解決することを目的としています:
min ⁡ θ ET i 〜 p ( T ) [ L i ( θ ) ] \min_{\theta} \mathbb{E}_{\mathcal{T}_{ i} \sim p(\mathcal{T})}\left[\mathcal{L}_{i}(\theta)\right]ET私はp ( T )[ L私は(θ)],
其中 L i \mathcal{L}_{i} L私はは最小化したいiiですiタスクT i \mathcal{T}_{i}T私は損失関数。一連のタスクの場合{ T i } \left\{\mathcal{T}_{i}\right\}{ T私は}の場合、マルチタスク損失は次のように表されますL ( θ ) = ∑ i L i ( θ ) \mathcal{L}(\theta)=\sum_{i} \mathcal{L}_{i}(\theta)L ( i )=私はL私は( θ )であり、各タスクの勾配をgi = ∇ L i ( θ ) \mathbf{g}_{i}=\nabla \mathcal{L}_{i}(\theta) として表します。g私は=∇L _私は( θ )、特定のθ \thetaθ課題分布p ( T ) p(\mathcal{T})から解を求めるにはp ( T )の特定のタスクのモデルについて、タスク条件モデルf θ ( y ∣ x , zi ) f_{\theta}\left(y \mid x, z_{i}\right) を定義します。f( y× z私は)、入力はxxx、出力はyyyzi z_{i}z私はタスクT i \mathcal{T}_{i}を表しますT私は、ワンホット エンコーディングまたはその他の形式で提供できます。

この式を説明してください - f θ ( y ∣ x , zi ) f_{\theta}\left(y \mid x, z_{i}\right)f( y× z私は) :

この式は条件付き確率モデルを表しており、式を分解してより明確に説明できます。

  1. 関数形式: f θ f_{\theta}f

これはパラメータθ \thetaによって与えられる関数ですθパラメータ化。通常、深層学習または機械学習のコンテキストでは、f θ f_{\theta}fニューラル ネットワークまたは他のタイプのモデルである可能性があります。ここで、θ \thetaθ は、重みやバイアスなどのモデルのパラメーターを表します。

  1. 条件付き記号: ∣ \mid

この記号は「与えられた」または「条件付き」を意味し、条件付き確率を表すためによく使用されます。ここでは、 yyを予測したいことを意味しますyですが、この予測は指定されたxxx z i z_{i} z私は

  1. 变量 y , x , z i y, x, z_{i} × z私は
  • やあy : これは、予測または出力する変数です。

  • xxx : これは入力変数または特徴です。多くの機械学習タスクでは、xxx は予測の基礎となるデータを表します。

  • ジズ_{イ}z私は: これはタスクT i \mathcal{T}_{i}ですT私はエンコーディング。元のテキストから、このエンコードは、タスクT i \mathcal{T}_{i} を示したり記述したりするためのワンホット ベクトルまたはその他の形式である可能性があることがわかります。T私はこのエンコーディングはマルチタスク学習で一般的であり、どの特定のタスクを最適化する必要があるかをモデルに伝えます。

总结:f θ ( y ∣ x , zi ) f_{\theta}\left(y \mid x, z_{i}\right)f( y× z私は)はパラメータθ \thetayy の予測を試みるθパラメータ化モデルy 、指定された入力xxに基づくxとタスクのエンコーディングzi z_{i}z私はこの形式は通常、マルチタスク学習シナリオで発生します。モデルは、予測を正しく行うために、どの特定のタスクに取り組んでいるかを知る必要があります。

2.2 三重の悲劇: 矛盾する勾配、支配的な勾配、高曲率

マルチタスク学習における重要な最適化問題は、負の内積によって測定される、矛盾する勾配、つまり、互いに向かう異なるタスクからの勾配から生じると仮説を立てます。ただし、矛盾する勾配自体は有害ではありません。実際、タスクの勾配を単純に平均するだけで、マルチタスクの目標を削減するための適切な解決策が得られるはずです。ただし、場合によっては、このような矛盾する勾配がパフォーマンスの大幅な低下につながる可能性があります。2 つのタスクを含む最適化問題を考えてみましょう。あるタスクの勾配の大きさが別のタスクの勾配よりもはるかに大きい場合、それが平均勾配よりも大きくなります。タスク勾配の方向に大きな正の曲率がある場合、支配的なタスクからのパフォーマンスの向上は大幅に過大評価され、支配的なタスクからのパフォーマンスの低下は大幅に過小評価される可能性があります。したがって、これら 3 つの条件の同時発生は次のように説明できます: (a) 複数のタスクの勾配が互いに競合する、(b) 勾配の大きさが大幅に異なるため、一部のタスクの勾配が他のタスクの勾配を支配する、および ©マルチタスクの最適化 風景には大きな曲率があります。以下に、これら 3 つの条件を正式に定義します。

定義 1. \textbf{定義 1.}定義 1. ϕ ij \phi_{ij}を定義しますϕイジ2 つのタスク勾配の場合、gi \mathbf{g}_{i}g私はgj \mathbf{g}_{j}gjそれらの間の角度。cos ⁡ ϕ ij < 0 \cos \phi_{ij}<0の場合コスϕイジ<0 の場合、これらの勾配間の競合を定義します。

定義 2. \textbf{定義 2.}定義 2. 2 つの勾配gi \mathbf{g}_{i}g私はgj \mathbf{g}_{j}gjそれらの間の勾配の大きさの類似性は
Φ ( gi , gj ) = 2 ∥ gi ∥ 2 ∥ gj ∥ 2 ∥ gi ∥ 2 2 + ∥ gj ∥ 2 2 . \Phi(\mathbf{g}_{i}, \ mathbf {g}_{j})=\frac{2\|\mathbf{g}_{i}\|_{2}\|\mathbf{g}_{j}\|_{2}}{ \ |\mathbf{g}_{i}\|_{2}^{2}+\|\mathbf{g}_{j}\|_{2}^{2}}。Φ ( g私はgj)=∥g _私は22+ gj222∥g _私は2∥g _j2
2 つの勾配の大きさが同じ場合、この値は 1 に等しくなります。勾配の大きさの差が大きくなるにつれて、この値はゼロに近づきます。

定義 3. \textbf{定義 3.}確率 3.等価関数
H ( L ; θ , θ ′ ) = ∫ 0 1 ∇ L ( θ ) T ∇ 2 L ( θ + a ( θ ′ − θ ) ) ∇ L ( θ ) by \mathbf {H }(\mathcal{L};\theta,\theta^{\prime})=\int_{0}^{1}\nabla\mathcal{L}(\theta)^{T}\nabla^{ 2} \mathcal{L}(\theta+a(\theta^{\prime}-\theta)) \nabla \mathcal{L}(\theta)\, daH ( L ; _=01L ( θ )2L (θ_+(θ )) L ( θ )d a
これはマルチタスク勾配∇ L ( θ ) \nabla \mathcal{L}(\theta)L ( θ )の方向ではL \mathcal{L}Lθ \θθθ' \theta^{\prime}'間の平均曲率

H ( L ; θ , θ '' ) > C \mathbf{H}(\mathcal{L}; \theta, \theta^{\prime})>CH ( L ; _>C は大きな正の定数CCC、モデル パラメーターθ \thetaθθ' \theta^{\prime}現在および次の反復では、最適化されたランドスケープは高い曲率を持つものとして説明されます

私たちの目標は、この三重の悲劇を研究し、2 つの例を通してこれら 3 つの条件の存在を観察することです。まず、図 1a に示す 2 次元の最適化されたランドスケープを考えます。ここで、各タスク ターゲットのランドスケープは、曲率の大きな深い谷に対応しています (図 1b および 1c を参照)。この複数のタスクの目標に対する最適な解決策は、これら 2 つの谷が交わる場所に対応します。ランドスケープの最適化の詳細については、付録 D を参照してください。この最適化ランドスケープの特定のポイントは上記の 3 つの条件を示しており、Adam オプティマイザー [30] がまさにこれらのポイントの 1 つで停止し、最適解に到達するのを妨げていることが観察されます。これは、私たちの仮説にいくつかの経験的証拠を提供します。セクション 5.3 の実験では、ディープ ネットワークを使用したマルチタスク学習でこの現象が実際に発生することがさらに示されています。これらの観察に触発されて、次に説明するように、競合する勾配、支配的な勾配、および高い曲率によって引き起こされる最適化の課題を軽減するように設計されたアルゴリズムを開発しました。

2.3 PCGrad: 勾配の競合の解決

私たちの目標は、衝突を避けるために勾配を直接変更することで、悲劇的なトリオの条件の 1 つを打破することです。このセクションでは、グラデーションを変更する方法の概要を説明します。次のセクションでは、勾配の競合を解決すると、支配的な勾配と高い曲率が存在する場合のマルチタスク学習に利益をもたらす可能性があることを理論的に示します。

最大限の有効性と幅広い適用性を実現するために、タスク勾配間に正の相互作用を生成し、モデルの形式についての仮定を行わない方法で勾配を変更することを目指しています。したがって、勾配が矛盾しない場合には勾配を変更しません。勾配が競合する場合、PCGrad は各タスクの勾配を変更して、他のタスク勾配とのマイナスの競合を最小限に抑えることを目指しています。これにより、高い曲率によって引き起こされる過小評価および過大評価の問題がさらに軽減されます。

最適化中に勾配の競合を解決するために、PCGrad は単純な手順を採用します。2 つのタスク間の勾配が競合する場合、つまり、それらのコサイン類似度が負である場合、各タスクの勾配を勾配の法線平面上の他のタスクに投影します。これは、タスクの勾配の競合する成分を除去することと同等であり、それによってタスク間の勾配の干渉が軽減されます。このアイデアの図を図 2 に示します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します
図 2: 競合勾配と PCGrad。(a) では、タスク i と j の勾配方向が矛盾しており、相殺的な干渉が発生する可能性があります。(b) と © では、勾配が競合する場合の PCGrad アルゴリズムを示します。PCGrad は、タスク i の勾配をタスク j の勾配の法線ベクトルに投影し、その逆も同様です。競合しないタスク勾配 (d) は PCGrad では変化せず、建設的な相互作用が可能になります。

タスクT i \mathcal{T}_{i}を仮定します。T私はの勾配はgi \mathbf{g}_{i}ですg私は、タスクT j \mathcal{T}_{j}Tjの勾配はgj \mathbf{g}_{j}ですgjPCGrad は次のように進行します。

(1) まず、ベクトルgi \mathbf{g}_{i}を計算します。g私はgj \mathbf{g}_{j}gjそれらの間のコサイン類似度は、gi \mathbf{g}_{i}を決定するために使用されます。g私はgj \mathbf{g}_{j}の場合gj競合。負の値は競合勾配を表します。

(2) コサイン類似度が負の場合、gi \mathbf{g}_{i}を使用します。g私はgj \mathbf{g}_{j}gj法線平面上の投影はgi \mathbf{g}_{i}を置き換えます。g私は: gi = gi − gi ⋅ gj ∥ gj ∥ 2 gj \mathbf{g}_{i}=\mathbf{g}_{i}-\frac{\mathbf{g}_{i} \cdot \mathbf{ g}_{j}}{\left\|\mathbf{g}_{j}\right\|^{2}} \mathbf{g}_{j}g私は=g私は∥g _j2g私は⋅g _jgj勾配が矛盾しない場合、つまりコサイン類似度が負でない場合、元の勾配gi \mathbf{g}_{i}g私は絶え間ない。

(3) PCGrad は、現在のバッチT j \mathcal{T}_{j}からこのプロセスを繰り返します。Tjでランダムに選択された他のすべてのタスクのうち、すべてのj ≠ ij \neq iについてj=i、生成され、タスクTi \mathcal{T}_{i}T私は勾配gi PC \mathbf{g}_{i}^{\mathrm{PC}}gパソコン

バッチ内のすべてのタスクに対して同じ手順を実行して、それぞれの勾配を取得します。完全な更新手順はアルゴリズム 1 で説明されており、ランダム化されたタスク順序の使用に関する説明は付録 H に含まれています。

この手順は実装が簡単ですが、バッチごとの各タスクに適用する勾配がバッチ内の他のタスクと最小限に干渉することを保証するため、勾配の競合の問題が軽減され、複数の目的設定で標準的な一次勾配降下法のバリエーションが生成されます。体。実際には、PCGrad は、生の勾配の代わりに計算された更新を対応するオプティマイザーに渡すだけで、モーメンタムを使用した SGD や Adam [30] などの一般的に使用されるメソッドを含む任意の勾配ベースのオプティマイザーと組み合わせて使用​​できます。私たちの実験結果は、この手順により勾配競合の問題が軽減されるという仮説を検証し、その結果、学習の進捗が大幅に改善されることがわかりました。

2.4 PCGradの理論分析

このセクションでは、次の 2 つのタスクを処理するときの PCGrad のパフォーマンスを理論的に分析します。

定義 4. 2 つのタスク損失関数を考えますL 1 : R n → R \mathcal{L}_{1}: \mathbb{R}^{n} \rightarrow \mathbb{R}L1:RnRL 2 : R n → R \mathcal{L}_{2}: \mathbb{R}^{n} \rightarrow \mathbb{R}L2:RnR._ _ 2 タスクの学習目標をL ( θ ) = L 1 ( θ ) + L 2 ( θ ) \mathcal{L}(\theta)=\mathcal{L}_{1}(\theta)+\ として定義します。 mathcal{ L}_{2}(\theta)L ( i )=L1()+L2( θ ) 、すべてのθ ∈ R n \theta \in \mathbb{R}^{n}についてRn、ここでg 1 = ∇ L 1 ( θ ) \mathbf{g}_{1}=\nabla \mathcal{L}_{1}(\theta )g1=∇L _1( θ ) ,g 2 = ∇ L 2 ( θ ) \mathbf{g}_{2}=\nabla \mathcal{L}_{2}(\theta)g2=∇L _2( θ ),そしてg = g 1 + g 2 \mathbf{g}=\mathbf{g}_{1}+\mathbf{g}_{2}g=g1+g2

まず、私たちの目標は、PCGrad の更新が単純化された仮定の下で合理的な最適化手順に対応していることを検証することです。定理 1の標準的な仮定に基づいて、凸集合設定における PCGrad の収束を分析します。非凸設定、3 つ以上のタスク、運動量ベースのオプティマイザーを含む収束の詳細な分析については、付録 A.1 および A.4 を参照してください。

定理 1. L 1 \mathcal{L}_{1}と仮定しますL1L 2 \mathcal{L}_{2}L2は凸で微分可能です。L \mathcal{L}と仮定しますLの傾きはLLですLリプシッツかつL > 0 L>0L>0次に、ステップ サイズt ≤ 1 L t \leq \frac{1}{L}tL1PCGrad 更新ルールは、(1) の最適化ランドスケープ内の位置に収束します。ここで、cos ⁡ ( ϕ 12 ) = − 1 \cos \left(\phi_{12}\right)=-1コス( ϕ12)=1または (2) 最適値L ( θ ∗ ) \mathcal{L}\left(\theta^{*}\right)L(私は )
証明:付録 A.1 を参照してください。

簡単に言うと、定理 1 は、凸環境では 2 つのタスクに対するマルチタスク損失関数L \mathcal{L} が次のことを示しています。L、PCGrad 更新を適用すると、位置はL \mathcal{L}Lの最小値は、勾配が完全に矛盾する最適以下の位置のいずれかです。これは、2 つのタスクの勾配の方向がまったく逆の場合、PCGrad の勾配がゼロに更新され、次善の解決策が得られる可能性があることを意味します。しかし実際には、真の勾配のノイズを含む推定値にすぎない SGD を使用しているため、ミニバッチ内の 2 つのタスクの勾配の類似性が正確に -1 になることはほとんどなく、この条件が回避されます。理論的には、2 つの勾配間の角度が直角に非常に近い場合、収束が遅くなる可能性があることに注意してください。しかし、付録 B の学習曲線に示されているように、実際のアプリケーションではこのような状況は観察されませんでした。

PCGrad の妥当性を確認したので、次の目標は、PCGrad と悲劇のトリオの 3 つの条件との関係を理解することです。特に、更新後に PCGrad がより低い損失を達成するための十分な条件を導き出します。ここでは、引き続き 2 タスク設定を分析しますが、損失関数の凸性は想定しません。

定義 5.マルチタスク曲率境界計量を
ξ ( g 1 , g 2 ) = ( 1 − cos ⁡ 2 ϕ 12 ) ∥ g 1 − g 2 ∥ 2 2 ∥ g 1 + g 2 ∥ 2 2 \ として定義します。 xi\ left(\mathbf{g}_{1}, \mathbf{g}_{2}\right)=(1-\cos^{2} \phi_{12}) \frac{\|\mathbf{ g} _{1}-\mathbf{g}_{2}\|_{2}^{2}}{\|\mathbf{g}_{1}+\mathbf{g}_{2}\ |_ {2}^{2}}バツ( g1g2)=( 1コス2ϕ12)∥g _1+ g222∥g _1−g _222

上記の定義に基づいて、次の定理を提案します。

定理 2. L \mathcal{L}と仮定しますLは微分可能であり、L \mathcal{L}Lの勾配は一定ですL > 0 L > 0L>0リプシッツ連続。θ MT \theta^{MT}としますMTθ PCGrad \theta^{\text{PCGrad}}PCGrad はそれぞれθ \thetaですθ はg \mathbf{g}を使用しますgと PCGrad で修正された勾配g PC \mathbf{g}^{PC}gPCの後のパラメータt>0 t>0t>0さらに、ある定数ℓ ≤ L \ell \leq Lについて仮定します。LH ( L ; θ , θ MT ) ≥ l ∥ g ∥ 2 2 \mathbf{H}\left(\mathcal{L} ; \theta, \theta^{MT}\right) \geq \ell\| \mathbf{g}\|_{2}^{2}H( L ;MTg 22つまり、マルチタスク曲率は下限になります。次に、 (a) cos ⁡ ϕ 12 ≤ − Φ ( g 1 , g 2 ) \cos \phi_{12} \leq -\Phi\left(\mathbf{g}_{1}, \mathbf{g } _{2}\右)コスϕ12-F _( g1g2),(b)ℓ ≥ ξ ( g 1 , g 2 ) L \ell \geq \xi\left(\mathbf{g}_{1}, \mathbf{g}_{2}\right) Lバツ( g1g2)L,和 ©t ≥ 2 ℓ − ξ ( g 1 , g 2 ) L t \geq \frac{2}{\ell-\xi\left(\mathbf{g}_{1}, \mathbf{g} _{2}\右)L}tξ ( g1g2) L2,则L ( θ PCGrad ) ≤ L ( θ MT ) \mathcal{L}\left(\theta^{\text{PCGrad}}\right) \leq \mathcal{L}\left(\theta^{MT} \右)L(私はPCGrad )L(私はMT
証明:付録 A.2 を参照してください。

直観的に言えば、定理 2は、(i) タスク勾配間の角度が小さすぎない場合、つまり 2 つのタスクが十分な競合がある (条件 (a))、(ii) 差のサイズが十分に大きい必要がある (条件 (a))、(iii) マルチタスクの勾配の曲率が大きい必要がある (条件 (b)) , (iv) 学習率は、曲率が大きいと、支配的なタスクのパフォーマンス向上が過大評価され、支配的なタスクのパフォーマンス低下が過小評価されるように、十分に大きくなければなりません (条件 ©)。これら最初の 3 つの点 (i ~ iii) は、セクション 2.2 で概説したトリオの条件に正確に対応しますが、すぐに学習したいため、後者の条件 (iv) が望ましいです。セクション 5.3 の図 4 を通じて、最初の 3 つの点 (i ~ iii) がニューラル ネットワークのマルチタスク学習問題で満たされることが多いことを経験的に検証します。PCGrad アップデートがネイティブ マルチタスク グラジエントよりも優れているための完全な必要十分条件の詳細分析については、付録 A.3 を参照してください。

3 PCGradの実用化

私たちは教師あり学習と強化学習で PCGrad を使用して、複数タスクまたは複数目的の問題を処理します。以下では、これらのシナリオで PCGrad が実際にどのように使用されるかについて説明します。

マルチタスク教師あり学習では、各タスクT i 〜 p ( T ) \mathcal{T}_{i} \sim p(\mathcal{T})T私はp ( T )には、対応するトレーニング データセットD i \mathcal{D}_{i}D私は、ラベル付きトレーニング サンプル、つまりD i = { ( x , y ) n } \mathcal{D}_{i}=\left\{(x, y)_{n}\right\} で構成されます。D私は={ ( x ,y } . この教師あり環境では、各タスクの目標はLi ( θ ) = E ( x , y ) ∼ D i [ − log ⁡ f θ ( y ∣ x , zi ) ] \mathcal{L}_{ i} として定義されます。 (\theta)=\mathbb{E}_{(x, y) \sim \mathcal{D}_{i}}\left[-\log f_{\theta}\left(y \mid x, z_{私}\右)\右]L私は()=E( x , y ) D私は[ ログ_f( y× z私は)],这里的 z i z_{i} z私はタスクT i \mathcal{T}_{i}ですT私はワンホットエンコーディング。各トレーニング ステップでは、すべてのデータセット⋃ i D i \bigcup_{i} \mathcal{D}_{i}から開始します。私はD私はデータB \mathcal{B}のバッチをランダムに選択しますB、そしてこれらのランダムなサンプルをタスク コードに従ってグループ化し、各タスクTi \mathcal{T}_{i}T私はミニバッチ データB i \mathcal{B}_{i}B私は私たちはB \mathcal{B}を覚えていますBのタスクのセットはBT \mathcal{B}_{\mathcal{T}}BTサンプリング後、 BT \mathcal{B}_{\mathcal{T}} になります。BT滑らかな関数があると仮定すると、θ L i ( θ ) = E ( x , y ) ∼ B i [ − ∇ θ log ⁡ f θ ( y ∣ x , zi ) ] \nabla_{\theta} . \mathcal{L}_{i}(\theta)=\mathbb{E}_{(x, y) \sim \mathcal{B}_{i}}\left[-\nabla_{\theta}\ log f_{\theta}\left(y\mid x, z_{i}\right)\right]L私は()=E( x , y ) B私は[ ログ_f( y× z私は) ]これらの事前計算された勾配を使用して、セット内のすべての勾配ペアのコサイン類似度も事前計算します。これらの事前に計算された勾配とその類似性を使用すると、タスク勾配を再度計算したり、ネットワーク上でバックプロパゲーションを実行したりすることなく、アルゴリズム 1 に従って PCGrad の更新を取得できます。PCGrad は最適化中に共有パラメーターの勾配のみを変更するため、特定のモデルに依存せず、共有パラメーターを持つあらゆるアーキテクチャに適用できます。セクション 5 では、複数のアーキテクチャに対する PCGrad の実際的な効果を検証します。

マルチタスク強化学習と目標ベースの強化学習では、PCGrad をポリシー勾配法に直接適用できます。これは、教師あり学習の状況と同様に、タスクごとに計算されたポリシー勾配を直接更新することによって実現されます。アクター - クリティカル アルゴリズムの場合、PCGrad の適用も簡単です。アクターおよびクリティカル タスクの勾配を、PCGrad によって計算された勾配で置き換えるだけです。強化学習の実際の実装の詳細については、付録 C を参照してください。

(つづく)

参考記事

  1. マルチタスク学習——[ICLR 2020] PCGrad

  2. 論文の読書: マルチタスク学習のための勾配手術

おすすめ

転載: blog.csdn.net/Waldocsdn/article/details/132702853