【論文紹介】少ないデータで教師なしドメインアダプテーションに成功した

## 概要
2019年に、AAAI-19に掲載された論文 ["Unsupervised Domain Adaptation by Matching Distributions　Based on the Maximum Mean Discrepancy via Unilateral Transformations"]( https://ojs.aaai.org/index.php/AAAI/article/view/4309)の紹介です。

## ドメインアダプテーション(DA)とは？
識別器を学習する際には、実際に識別器が扱うデータ（=ターゲットデータ）を使って学習することが一般的だと思います。しかし、ターゲット環境に例えば次のような制約
* データを持ち出せない
* データ件数が少なく、学習に足るほど十分でない

があったりして、現実的には学習データ（=ソースデータ）とターゲットデータが異なるケースも多いと思います。

そうすると、ソースデータでは上手くいったが、ターゲット環境では識別性能が十分でない、ということが発生します。
DAとは、ソースデータとターゲットデータに差があっても、学習によって獲得した識別性能をターゲットデータに対しても発揮できる手法です。

DAには様々な種類がありますが、本論文の問題設定は次の通りです。
* ソースデータにはラベルがあるが、ターゲットデータにはラベルなし
* ソースデータとターゲットデータでは、同じカテゴリ数とする

## 論文での解決手法
### 手法の概略
1. 何か別の手段(DNNなど)を用いて、ソースデータとターゲットデータの特徴量を計算する
1. ソースデータの特徴量(Feature<sup>S</sup>)からターゲットデータの特徴量(Feature<sup>T</sup>)へ変換する変換Fを学習する(後述)
1. 変換Fを使い、変換後のFeature<sup>S</sup>とソースデータのラベルを使って、変換Gを学習する
1. 変換Gを使ってターゲットデータの特徴量を分類する
![learning_process3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/882531/916538b9-9ffd-02e1-4329-682317d66cda.png)

### 変換Fの求め方
ソースデータとターゲットデータを正定値カーネルを使って特徴空間に写像し、写像した特徴ベクトルの平均（カーネル平均）を使って評価します。論文中の式を示します。
![equation1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/882531/f3659a0b-57e9-15b5-efcd-7ea245aba40a.png)
MMDとは、特徴空間に写像された2つの分布（**P**<sub>X</sub>, **P**<sub>Y</sub>）をノンパラメトリックに評価する手法です(論文の原文を参照）。
> The maximum mean discrepancy (MMD) (Gretton et
al. 2012) is an effective non-parametric criterion that compares the two distributions by embedding each distribution
into the RKHS.

**P**<sub>X</sub>=**P**<sub>Y</sub>の時、MMDは0となります。**E**<sub>X〜**P**<sub>X</sub></sub>[k(・,X)]は、元データXの分布の全てのモーメント(平均、分散、尖度、…)を保持するという便利な特性があり、元空間での分布を評価するより精度良く評価できます。
この特性を直感的に説明します。
カーネル関数をTaylor展開します。
$$
k(u,x)=c_0+c_1ux+c_2(ux)^2+\cdots
$$
カーネル関数の期待値をとると、平均、分散などモーメントが含まれていることが分かります。
$$
E[k(u,x)]=c_0+c_1E[x]u+c_2E[x^2]u^2+\cdots
$$

このMMDを使って目的関数L(A)を定義して、評価します。
![equation2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/882531/ff15eae8-eedc-813d-9995-da912d320646.png)
第1項はMMDで、第2項は正則化項です。X<sup>t</sup>はターゲットデータの特徴量、X<sup>s</sup>はソースデータの特徴量、変換F(=**A**+**I**)で変換したソースデータの特徴量がターゲットデータの特徴量に近づくように学習します。

## 実験
2つの異なるタスクで実験しています。1つはクロスドメインの物体認識のタスク(Office-Caltech10)で、1つはクロスドメインのレビューの感情分析(Amazon-Review)のタスクです。
学習データは少なく、Office-Caltech10では1クラスあたり20サンプルで10クラスのデータを学習に使用しており、Amazon-Reviewでは1600件を使用しています。
実験結果をTable1に示します。Proposedが本論文の方式、NoAdaptは変換せずソースデータの特徴量のままSVMを学習したもの、他に４つの代表的な方式と比較しています。
![table1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/882531/9389791b-44a3-0811-e620-a0556db007b5.png)
正解率の高さが統計的に有意な結果は太字で示しており、そのよい正解率の数を最後の#Best行に示しています。この数を見ると、本論文の方式は他の方式より良い結果であることを示しています。

## まとめ
少ないデータで教師なしドメインアダプテーションを精度良くできたことが分かりました。
論文には、ImageNetでpretrainしたネットワークを使う方式と比べると、学習に必要なデータ数が少なくて済むため、収集するデータが少ないタスク（bioinformaticsや医療関連など）で有益な方法であると書いてありました。大量データがある場合には、また別の方法がよいかもしれないです。
カーネルの勉強が難しかったです。

## 参考
* ["Unsupervised Domain Adaptation by Matching Distributions　Based on the Maximum Mean Discrepancy via Unilateral Transformations"]( https://ojs.aaai.org/index.php/AAAI/article/view/4309)
* [カーネル法入門 ６．カーネル平均を用いたノンパラメトリック推論](https://www.ism.ac.jp/~fukumizu/OsakaU2014/OsakaU_6kernelMean.pdf)
* [カーネルベイズ講義 （福水健次） 難易度★★★/統計数理研究所](https://www.youtube.com/watch?v=T1O3b78Yd5E)
* [赤穂 昭太郎著　カ-ネル多変量解析: 非線形デ-タ解析の新しい展開](https://www.amazon.co.jp/%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E5%A4%9A%E5%A4%89%E9%87%8F%E8%A7%A3%E6%9E%90%E2%80%95%E9%9D%9E%E7%B7%9A%E5%BD%A2%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%E5%B1%95%E9%96%8B-%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E7%A2%BA%E7%8E%87%E3%81%A8%E6%83%85%E5%A0%B1%E3%81%AE%E7%A7%91%E5%AD%A6-%E8%B5%A4%E7%A9%82-%E6%98%AD%E5%A4%AA%E9%83%8E/dp/4000069713)