不確実性モデリングは、よりノイズの多いラベルを持つデータに適用できるようですが、DTP はクリーンなラベル付きデータでより適切に機能する可能性があります。
1. 同じ分散による不確実性の重み付け (低ノイズには高い重み、勤勉なタスクには高い重み)
参考 不確実性を使用してマルチタスク学習における損失関数を測定する - 知識
各タスクの最適な重みは、メトリックに依存し、最終的にはタスクのノイズの大きさに依存します。
各タスク間の等分散性不確実性を考慮して、異なるタスク損失関数の重みを設定します(等分散性不確実性の具体的な意味については後ほど説明します)
要約すると、この文書には 3 つの主な革新があります。
- 新しいマルチタスク学習損失関数の重み設定方法を提案した。この方法は、同じ分散不確実性を使用して、異なるスケールと量の回帰および分類問題を同時に学習する。
- セマンティック セグメンテーション、インスタンス セグメンテーション、および深い回帰のための統一フレームワークを提案します。
- これは、最終的なマルチタスク ネットワークのパフォーマンスに対するさまざまな損失重み設定の影響と、個別にトレーニングされたモデルと比較してより優れたパフォーマンス向上を達成する方法を示しています。
等分散性不確実性を使用したマルチタスク学習
マルチタスク学習には、複数の目的に従ってモデルを最適化するという問題が含まれますが、これは本質的に損失の統合です。最も独創的なアプローチは、次の式に示すように、単に異なるタスクの損失を線形に重み付けして合計するものです。
ただし、この損失計算方法には多くの欠点があり、次の図に示すように、タスクごとに wi の設定に非常に敏感であり、wi の設定が異なるとパフォーマンスに大きな差があり、最後の行の結果も次のことを示しています。この論文で設計された方法 重み付けは、シングルタスク トレーニングよりもマルチタスク トレーニングに適しています。
不確実性を利用してシーンのジオメトリとセマンティクスの損失を評価するマルチタスク学習》
CVPR 2018、引用数:676
【本旨】:
この論文では、「簡単な」タスクの比重を高くしたいと考えています。
【バックグラウンド】:
NIPS2017 の論文「コンピューター ビジョンのためのベイジアン深層学習にはどのような不確実性が必要ですか?」では、データ セットを使用して入力 x と出力 y に基づいてモデルをトレーニングする場合、次の 2 種類の不確実性 (不確実性) に直面すると述べています。そして偶然。
- エピステミック:データの欠如による認知バイアスを指します。データが非常に少ない場合、トレーニング データによって提供されるサンプル分布はデータのグローバル分布を表すことが難しく、その結果、モデルのトレーニングに偏りが生じます。この不確実性は、データを追加することで改善できます。
- 偶然性:データ自体またはタスク自体によって引き起こされる認知バイアスを指します。偶発的不確実性の特徴は、データ量が増えても結果が改善されず、データが増えてもバイアスが依然として存在することです。
(1) 等分散的な不確かさ(モデル出力の信頼度)
関連する知識を紹介する前に、「不確実性」をどのように理解すべきかについて簡単に説明したいと思います。多くの場合、ディープラーニングの分野は優れたパフォーマンスを発揮します。このパフォーマンスは、強力な計算能力と深いネットワーク構造に依存します。無人運転におけるセマンティックセグメンテーションなどの課題を解決するため、背景となる車両を識別します。これは、ほとんどの場合、ディープ ラーニングが質問に対する答えを与えることを示しています。答えが内部的にどれほど信頼できるものであっても、それは 1 つであることに注意してください。つまり、モデルはその最終出力に対して答えを与えません。自分自身の、自信。多くの候補の中から最も確率の高いものをモデルが見つけ出すのが答えだと思うかもしれませんが(たとえば、分類問題の最後にソフトマックスを使用します)、極端な場合、AとBを分類しても画像を入力するなど、テスト段階でクラス C を選択し、次に分類器を使用すると、予測できない結果が生じる可能性が高く、この種のエラーは、航空宇宙、軍事、その他の分野など、フォールト トレランスが極端に低い業界では許容されません。想像してみてください。このような極端な状況が多数ある場合、結果の出力中に非常に低い信頼度が与えられます。この低い信頼度によって早期に警告が得られ、人々が介入できるようになり、効果は大幅に向上します。この種の信頼度の出力はベイジアン モデリングに依存します。
その中で、偶発的な不確実性は 2 つのカテゴリに分類できます。
(1) データ依存または不均一分散不確実性 (データ依存または不均一分散不確実性): この不確実性は入力データに依存し、予測結果はモデルの出力として使用されます。
(2) タスク依存または等分散的不確かさ (タスク依存または等分散的不確かさ): 入力データにもモデルの出力結果にも依存せず、すべての入力データに対して同じ定数であり、タスク変数によって異なります。この性質に基づいて、タスク依存の不確実性と呼ばれます。
マルチタスク学習では、タスクの不確実性はタスク キーの相対的な信頼度を示し、回帰および分類問題に固有の不確実性を反映しているためです。したがって、この論文では、等分散不確実性をノイズとして使用して、マルチタスク学習の重みを最適化することを提案します。
(2)。マルチタスクの可能性
このセクションでは主に、等分散不確実性を使用してガウス尤度推定を最大化するマルチタスク損失関数を導出します。まず確率モデルを定義します。
これは回帰問題の確率モデルの定義です。fw(x) はニューラル ネットワークの出力、x は入力データ、W は重みです
分類問題の場合、通常、出力は次のようにシグモイドにプッシュされます。
次に、マルチタスクの尤度関数を定義します。
ここで、 yi はマルチタスクの各サブタスクの出力です。
次に、最尤推定値は次の式で表すことができ、式 (5) は、最尤推定値が右辺に比例することも示しています。ここで、σ はガウス分布の標準偏差であり、これはノイズでもありますタスクは、W と σ に従って尤度分布を最大化することです。
例として 2 つの出力 y1 と y2 を取り上げます。(6) のようなガウス分布を取得します。
このときの最尤推定値は (7) となります。
y と f の距離計算が、最後のステップで損失関数に置き換えられていることがわかります。
同様に、L2 もわかります。
式 (7) の分析を続けると、私たちのタスクは最尤推定値を最小化することであることがわかります。そのため、σ (ノイズ) が増加すると、対応する重みは減少しますが、一方で、ノイズ σ が減少すると、対応する重みは減少します。体重は増加します
次に、分類問題も考慮します。一般に、方程式 (8) に示すように、分類問題にソフトマックスの層が追加されます。
この場合、ソフトマックス尤度推定値は次のようになります。
次に、この状況を考慮します。モデルの 2 つの出力、1 つは連続型 y1 で、もう 1 つは独立型 y2 であり、それぞれガウス分布とソフトマックス分布でモデル化されており、式 (10) が得られます。
同じやり方で、
L2(W) は次のように置き換えられます。
2. DTP 動的タスク優先順位付け ((高ノイズには低重み、困難なタスクには高重み)) 動的タスク優先順位
レコメンデーションの多目的学習のための減量 system_console.log(**) のブログ - CSDN ブログ
DTP は、学習が難しいタスクをより重視したいと考えています。
直感的には、KPI が高いタスクは比較的習得が容易で重みが小さくなり、逆に難しいタスクの重みは大きくなります。
【評価】:
アドバンテージ:
さまざまなステップの KPI 値を取得する必要があるため、さまざまなタスクの勾配を取得する必要がなくなり、計算が高速化されます。
欠点:
DTP では、さまざまなタスクの損失の大きさが考慮されず、各タスクの大きさを同じレベルに調整するには追加の操作が必要になり、KPI を頻繁に計算する必要があります...
# Dynamic Task Prioritization 动态任务优先级
def focal_loss_dtp(auc,k,alpha=0.95, gamma=2.0):
k = alpha * auc + (1-alpha) * k
return -tf.pow(1-k, gamma) * tf.log(k)
dtp_1 = focal_loss_dtp(auc_1[1], k_1)
dtp_2 = focal_loss_dtp(auc_2[1], k_2)
dtp_3 = focal_loss_dtp(auc_3[1], k_3)
loss = dtp_1 * loss_1 + dtp_2 * loss_2 + dtp_3 * loss_3
3. 動的加重平均 - 動的加重平均
4、 Gradient Normalization - 勾配正規化
マルチタスク学習の最適化 - Zhihu が前に書かれています: マルチタスク学習 (マルチタスク学習) に関するほとんどの記事、レビュー、論文は、ネットワーク構造の反復と革新に焦点を当てていますが、マルチタスク学習の最適化は課題学習の損失も非常に重要です。この記事は、2020 年のマルチタスク学習のレビュー「マルチタスク学習」に基づいています。https://zhuanlan.zhihu.com/p/269492239 損失の重み付け_損失が同期的に収束できない問題を解決する方法マルチタスクモデル? _ABEL Su のブログ - CSDN ブログはじめに マルチタスク モデルをトレーニングする場合、複数のタスク間のデータ分散、正と負のサンプル比、損失スケールなどの問題により、モデルのトレーニング プロセスで次のような問題が発生します。一部のタスクの損失と収束は高速ですが、他の一部のタスクの損失収束は非常に遅いか停滞することさえあり、最終的には入力層の特性を共有できない収束が停滞しているタスクのトレーニングの失敗につながります。この問題を回避するにはどうすればよいでしょうか? この記事では「損失の重み付けに不確実性を使用したマルチタスク学習... https://blog.csdn.net/weixin_36261487/article/details/112180071 」という記事を紹介します。