[転移学習]ドメイン適応

1. 定義

        1. ソースドメインとターゲットドメイン

        ソース ドメイン(Source) とターゲット ドメイン(Target)は異なりますが、関連しています転移学習の役割は、ソース ドメインから知識を学習し、ターゲット ドメインでより良い結果を達成できるようにすることです。

転移学習は正の転移負の転移        に分けることができ、その分け方は転移学習の効果に基づいています。

        2. 転移学習のメリット

        ① 大きな(ラベル付き)データまたはコンピューティングリソースの不足

        ②パーソナライズされたモデルを迅速にトレーニングする必要がある

        ③コールドスタートサービス(ユーザーアソシエーションに依存した新規ユーザーへの製品推奨など)

2. 関連する記号

        域(Domain)D:{(x_i,y_i)}^N_{i=1}\sim P(x,y)

                ソース ドメイン: D_s、ターゲット ドメイン:D_t

        タスク:y=f(x)

        条件: 転移学習は次の 2 つの条件のいずれかを満たしている必要があります。

                ①異なるドメイン:P(x,y)\neq Q(x,y)

                ②さまざまなタスク:T_S \neq T_t

3.転移学習

        1. ドメインが異なります

        P(x,y) \neq Q(x,y)ベイジアン拡張後:P(x,y)=P(y|x)P(x)

        同じ場合、周辺分布P(y|x)は異なります

                x_s \sim P_s(X),x_t\sim P_t(X)\rightarrow P_s(X) \neq P_t(X)

        同じ場合はP(x)、異なる条件付き分布になります。

                P_s(y|x) \q P_t(y|x)

         2. 損失関数

        経験的リスク最小化(ERM): f^*=argmin_f \frac{1}{m}\sum _{i=1}^m L(f(x_i),y_i); ここで、Lは損失関数です

        上式は一般的な機械学習で用いられる反復式ですが、転移学習では一般に転移正則化式(Transfer Regularization)を加えることで以下のように表すことができます。

                f^*=argmin_f \frac{1}{m}\sum _{i=1}^m L(f(x_i),y_i) + \lambda R(x_i,y_i); ここで、R は学習する必要があるパラメータです。一般に、R は次の状況で学習されます。

                ① D'_s\subseteq D_s(サブセット)、利用可能P(x,y) \近似 Q(x,y)、この場合 R は必要ありません

                ②Rは距離(D_s,D_t)、または分離度(D_s,D_t)

                ③ 2 つのタスクが類似している場合 ( f_s \約 f_t)、R の最適化をスキップできます。

        上記の 3 つの学習方法は次のとおりです。

                ①インスタンスベースTL:インスタンスをベースにサンプルの一部を選択して対象ドメインに近づける必要がありますが、現在ではあまり使われなくなってきており、以下の方法に分けられます。

                        1. インスタンスの選択: ソース ドメインからターゲット ドメインに近いデータをフィルターで除外し、その重みを変更するようにインスタンス セレクターを設計します (スコアの良いサンプルの重みを増やし、スコアの悪いサンプルの重みを減らします)。インスタンスセレクター(Instance Selector)f性能評価器(Performance Evaluator)で構成されておりg、下図のように周期的に実行されます。一般的な考え方は強化学習に近いです

                         2.インスタンスの再重み付け: この方法を使用する前提はD'_s \subseteq D_s、 とP_s(x)\q P_t(x)P(y|x)同じです。この時点で、コスト関数は次のように書き換えられます。

                                \theta^*_t=argmax_\theta \int _x P_t(x) \sum_{y \in Y}P_t(y|x)logP(y|x;\theta)dx、簡略化すると、次のようになります。

                                \theta^*_t \about argmax_\theta \frac{1}{N_s}\sum^{N_s}_{i=1}\frac{P_t(x_i^S)}{P_s(x_i^S)}logP( y_i^S|x_i^S;\θ)

                ②特徴ベースのTL:特徴に基づいて、移動正則化項R(一般に2つのドメイン間の距離)が明示的に表現され最小化されます。ソース ドメインとターゲット ドメインの種類に応じて、同次特徴空間(たとえば、ソース ドメインとターゲット ドメインの両方が画像である) と異種特徴空間(たとえば、ソース ドメインとターゲット ドメインの一方) の 2 つのカテゴリに分類できます。はテキスト、もう 1 つは画像です)

                         この方法の前提は、ソース ドメインとターゲット ドメインの間にいくつかの共通の特徴があるということであり、必要なのは、ソース ドメインとターゲット ドメインを同じ特徴空間に変換し、それらの距離を縮めることです。次の 2 つのアプローチに分けることができます。

                        1. 明示的な距離 (明示的な距離) :R=距離(D_s,D_t); 空間的な距離、つまり、いくつかの数学ツールを使用して 2 つのドメイン間の距離を測定します。一般的なものは次のとおりです。

                                ①カーネルベース:MMD、KL発散、コサイン類似度

                                ② 幾何学に基づく: フローカーネル (GFK)、共分散、ドリフトアライメント、リーマン多様体

                                最もよく使用されるのはMMD (最大行列差分) です。詳細については、第 4 章を参照してください

                        2. 暗黙の距離 (Implicit distance) :R=分離度(D_s,D_t); 空間距離を選択できない場合の分離性は、一般に対立ネットワーク GANを使用して実現されます。

                        3. 両方の組み合わせ (明示的 + 暗黙的分散): MMD-AAE ネットワーク、DAAN ネットワークなど。

                ③パラメータベースのTL:パラメータに基づいて、ソースドメインでトレーニングされたモデルが再利用されます。代表的な方法は事前トレーニングです。

4.MMD

        1. 定義

        MMD は最大行列差分の略です。ドメイン間の差異を測定するために使用される値であり、x と y を P と Q () の 2 つのデータ分布にマッピングすることとして定義でき、x \sim P,y \sim Qxfをヒルベルト空間にマッピングできるH関数として定義できます。MMD 計算は期待どおりです。マッピング後の 2 つのドメイン間の最大差であり、その数式は次のように記述できます。

        MMD(P,Q,F) = sup E_P [f(x)]-E_Q[f(y)]

        実際の計算では、限定ランダムサンプリングを行ってデータを取得し、それらのデータの平均差分を計算することが多いですが、この平均差分のうち最大のものはMMDであり、一般的には次のように表記されます。

        MMD(P,Q,F)=sup E_P[\frac{1}{m}\sum_{i=1}^mf(x_i)-\frac{1}{n}\sum^n_{j=1} f(y_j)]

        統計に基づいて、MMD の値が 0 に非常に近い場合、2 つのドメイン間の分布はほぼ等しい (つまり、ドメイン アライメントの目標) と考えることができます。

        2. 分類

                ①周辺距離

                この方法では、MMD を使用して 2 つのドメイン間の分布の差を測定します。元の式は

                距離(D_s,D_t)\近似MMD(P,Q,F) = sup E_P [f(x)]-E_Q[f(y)]特定の計算の後、カーネル形式は次のように記述できます: tr(A^TXMX^TA)ここでX=[X_s,X_t]\in R^{d\times(m+n)},A \in R^{(m+n)\times(n+m)}tr(KM)

                 この方法は通常、TCA (Transfer Component Analysis) - 転移成分分析と呼ばれます。

                         min\, tr(KM)-\lambda\, tr(K)

                 上の図からわかるように、PCA (主成分分析)後は 2 つのドメインの分布は等しくありませんが、 TCA処理後は分布が一致する傾向があります。

                ②条件付き距離

                このメソッドの式は次のように記述できます。距離(D_s,D_t)\おおよそ MMD(P_s(y|x),P_t(y|x),f)

                簡略化すると、次のようになります。構造は上記の TCA 式と似ていることがわかります。違いは距離(D_s,D_t)=\sum_{c=1}^C tr(A^TXM_cX^TA)式のM_c代表カテゴリにあり、これはカテゴリに TCA を追加することに相当します。

変換を通じて、次のように記述されたJDA (Joint Distribution Adaptation)                 と呼ばれるメソッドを取得できます。

                        最小 \sum^C_{c=0} tr(A^TXM_cX^TA)+\lambda ||A||^2

                JDA は TCA に比べてパフォーマンスが良く、配信距離が短くなります。同時に、JDA は反復できるため、ディストリビューション間の違いをよりよく学習できます。

                ③動的距離

                このメソッドは DDA と省略できます。これは、次のように記述できる一般式を使用して TCA および JDA を記述するのと同じです。

                 このとき\in=1、式は次のように書けます。tr(A^TXMX^TA)これが TCA です。

                このとき\μ=0.5、式は次のように書くことができますtr(A^TXM_cX^TA)。これが JDA です。

\muこの方法の難しさは、一般にA 距離推定方法を使用して                 パラメータを評価する方法にあります具体的なメソッドは次のように記述できます。

                        d_A(D_s,D_t)=2(1-2\ε(h)); ここでh、 は線形分類器、 は誤差\ε(h)です。h

                次に、上の式を使用して推定できます\hat{\mu}\約 1-\frac{d_M}{d_M+\sum_{c=1}^Cdc}。ここで、d_M=d_A(D_s,D_t)は周辺分布、d_c=d_A(D_s^{(c)},D_t^{(c)})は条件付き分布です。

        3. 深層学習における MMD の応用

前述の TCA、JDA、DDA は、ディープ ドメイン混乱(DDC) または動的分散適応ネットワーク(DDAN)        によってニューラル ネットワークに追加できます。改良されたネットワーク構造は次のとおりです。

                

        ネットワークの損失関数は次のとおりです: L=L_c(x_i,y_i)+\lambda \cdot 距離(D_s,D_t); ここで、距離は TCA、JDA、DDA です。それは確率的勾配降下法によって学習できます。エンドツーエンドの学習方法です。

5. 転移学習の一般的な方向性

         1.低リソース学習: 少量のラベル付きデータのみを使用したトレーニング。つまり、自主トレです。

         2. 安全な転送: 継承されたパブリックモデルの脆弱性による標的型攻撃を防止

         3.ドメイン適応:ドメイン適応

         4.Domain generalization:域泛化

おすすめ

転載: blog.csdn.net/weixin_37878740/article/details/131153569