襖からキリン

読んだ論文まとめ。

潜在ドメインベクトルを学んだので論文紹介

今日紹介する論文は、Zero-shot Domain Adaptation without Domain Semantic Descriptorsです。この論文は、NeurIPS2019にアクセプトされたTransfer Anomaly Detection by Inferring Latent Domain Representationsのもとになります。

この論文を要約すると、ドメイン適合とZero shot Learningを組み合わせた手法になります。直感的には、まだ見たことないドメインに対してもドメイン適応し、分類・回帰がおこなえる手法です。そのために、潜在ドメインベクトルという概念を提案しています。

この論文の選定理由は、変分事後分布にDeep setsの考え方を導入しており、ドメイン適応と集合データに対する潜在変数の推論に興味があったからです。

ドメイン適応

ドメイン適応とは、ソースとターゲットという二つのタスクを考え、ソースの知識を生かして、ターゲットタスクの汎化性能をあげることです。ここでのタスクは、分類・回帰などを指します。ドメイン適応の場合、両方のタスクに教師データがあるわけではありません。ソースのタスクは、教師付きデータがありますが、ターゲットには、入力データだけがあるという設定です。実際は、それぞれのデータ量やターゲットにラベル付きデータも少量あるとか色々な問題設定で研究されています。詳しくは

github.com

を見てください。
ドメイン適応の簡単な例ですと、訓練データとテストデータでデータ分布が変わるとモデルの予測・分類精度が落ちると言われています。そこでドメイン適応の考えを持ち込み、訓練データをソース、テストデータをターゲットとして捉えドメイン適応をおこないます。テストデータには、教師データがないので確かに!といった感じですね。

Zero shot Learning

Zero shot Learningは、訓練時に見たことないクラスも補助情報に基づいて分類するという学習方法です。詳しくは、

buildersbox.corp-sansan.com

の記事を見てほしいです。ちなみにFew shot Learningは、訓練データとして、各クラスにつき数サンプルは手に入っていることを指します。

Zero shot domain adaptation

Zero shot domain adaptationは、訓練時にターゲットドメインがなくても、複数のソースドメインから訓練時にないターゲットドメインに上手く適合するよう学習する方法です。

提案手法のお気持ち

提案手法のお気持ちは、各ドメインの特徴ベクトル集合から潜在変数を推論し、その潜在変数を用いて分類器を学習します。この潜在変数がドメイン情報を保持するので、潜在ドメインベクトルと呼びます。VAEの場合、各データサンプルごとに潜在変数を推論しますが、今回は、ドメインの訓練サンプル集合から潜在変数を推論する点が異なります。この集合を入力して、出力にベクトルを求める機構はDeep setsの考えを採用しています。詳しくはここを見てください。変分事後分布で推論される潜在ドメインベクトルがドメイン情報を持つので、まだ訓練で見たことないドメインに対しても汎化することが期待されます。 提案手法の流れは、下図の左から順番に見てください。

f:id:masamasa59:20191226093917p:plain
提案手法の概略図

ノーテーション

あるドメインのデータセットは、 \mathcal{D}_{d}:=\{(\mathbf{x}_{d n}, y_{d n})\}_{n=1}^ {N_{d}}で与えられ、ターゲットを除く全ドメイン集合は、 \mathcal{D}:=\bigcup_{d=1}^ {D} \mathcal{D}_{d}です。ラベル集合は全ドメイン共通で y_{d n} \in{1, \ldots, C}です。また、あるドメインの特徴ベクトルとラベル集合をそれぞれ \mathbf{X}_{d}:=\{\mathbf{x}_{d n}\}_{n=1}^ {N_{d}}, \mathbf{Y}_d:=\{\mathbf{y}_{d n}\}_{n=1}^ {N_d}と表します。潜在ドメインベクトルは {\bf z}_dと表します。

定式化

まず周辺対数尤度は以下のように表します。ドメインごとに独立かつデータ点ごとにもi.d.d. を仮定します。

 \ln p(\mathcal{D})=\ln \prod_{d=1}^{D} \int \prod_{n=1}^{N_{d}} p_{\theta}(y_{d n} | \mathbf{x}_{d n}, \mathbf{z}_{d}) p(\mathbf{z}_{d}) d \mathbf{z}_{d}

まず潜在ドメインベクトルの事前分布は、標準ガウス分布を用います。尤度関数は、特徴ベクトル{\bf x}_{d n}と 潜在ドメインベクトル{\bf z}_{d} に条件づけられています。尤度関数は、分類の場合、特徴ベクトルと潜在ドメインベクトルをそれぞれNNに入力し、出力同士の内積をとります。その後にソフトマックス関数を適応し、カテゴリカル分布を用います。数式でソフトマックス関数に通す前の各クラスの出力を表すと以下になります。

 f_{c}(\mathbf{x}\_{d n}, \mathbf{z}\_{d}):=h(\mathbf{x}_{d n}) \cdot g_{c}(\mathbf{z}_{d}), \quad h(\mathbf{x}_{d n}) \in \mathbb{R}^{J}, g_{c}(\mathbf{z}_{d}) \in \mathbb{R}^{J}

 g_cの出力がクラス数分あることに気をつけてください。したがって、潜在ドメインベクトルを入力とする g_cは、潜在ドメインベクトルが変化することで、クラス分類境界を適応させる役割をしています。
学習には、変分推論を採用しています。

 \ln p(\mathcal{D}) \geqq \mathcal{L}(\mathcal{D} ; \theta, \phi):=\sum_{d=1}^{D}[-D_{K L}(q_{\phi}(\mathbf{z}_{d} | \mathbf{X}_{d}) \| p(\mathbf{z}_{d}))\\+\mathbb{E}_{q_{\phi}(\mathbf{z}_{d} | \mathbf{X}_{d})}[\sum_{n=1}^{N_{d}} \ln p_{\theta}(y_{d n} | \mathbf{x}_{d n}, \mathbf{z}_{d})]]

ここで、潜在ドメインベクトルの変分事後分布は以下で表します。

 q_{\phi}(\mathbf{z}_{d} | \mathbf{X}_{d})=\mathcal{N}(\mathbf{z}_{d} | \mu_{\phi}(\mathbf{X}_{d}), \sigma_{\phi}^{2}(\mathbf{X}_{d}))

注意したいのは、変分事後分布の平均と分散が、VAEの推論ネットワークの入力と違い、入力に特徴ベクトルの集合を与えている点です。 平均と分散は以下の式の出力の半分次元ずつで与えられます。

 \tau\left(\mathbf{X}_{d}\right)=\rho\left(\frac{1}{N_{d}} \sum_{n=1}^{N_{d}} \eta\left(\mathbf{x}_{d n}\right)\right)

 \rho, \eta はそれぞれNNを表します。この関数 \rho の入力前に平均操作を入れることで入力の順番に不変なモデルにしています。
新しいドメイン d^{\prime}に対する予測分布は、以下の式で与えられます。

 p\left(y_{d^{\prime} n} | \mathbf{x}_{d^{\prime} n}\right)=\int p_{\theta}\left(y_{d^{\prime} n} | \mathbf{x}_{d^{\prime} n}, \mathbf{z}_{d^{\prime}}\right) q_{\phi}\left(\mathbf{z}_{d^{\prime}} | \mathbf{X}_{d^{\prime}}\right) d \mathbf{z}_{d^{\prime}}\\
 \approx \frac{1}{L} \sum_{\ell=1}^{L} p_{\theta}\left(y_{d^{\prime} n} | \mathbf{x}_{d^{\prime} n}, \mathbf{z}_{d^{\prime}}^{(\ell)}\right)

新しいドメインの特徴ベクトル集合から潜在ドメインベクトルの変分事後分布を推論し、サンプリングされた潜在ドメインベクトルと特徴ベクトルから分類を行います。

実験

潜在ドメインベクトルの可視化をしている実験があったので紹介します。MNINST-r というデータセットを使用します。それは、全10クラスで各クラス10枚ずつあるMNINSTが {0, 15, 30, 45, 60, 75}度回転したデータセットになります。この実験では、回転角度がドメイン情報になります。訓練は、5ドメインで行われます。残りの1ドメインがテストになります。訓練後の潜在ドメインベクトルの平均と分散を可視化したのが以下の図です。青が訓練ドメインで、赤がテストドメインになります。

f:id:masamasa59:20191226154802p:plain
潜在ドメインベクトルの変分事後分布の可視化
潜在表現が上手く回転角度に応じて得られていることが分かりました。

まとめ

複数のドメインデータ集合から各潜在ドメインベクトルを求め、まだ見たことがないドメインに対しても汎化するZero shot Domain Adaptationの論文紹介でした。