AI tech studio

原因と結果とドメイン適応

By yasui

因果推論 機械学習 経済学 統計 論文紹介

ADEconチームの安井です。
最近ドメイン適応(DA:Domain Adaptation)に興味があるので、素人なりにDAの説明を行い因果推論との関連について簡単に解説したいと思います。

機械学習、主に画像関係のタスクにおいては、モデルの学習に利用できるデータと実際に予測を行いたいデータの傾向が違うという場合が存在します。

例えば、画像の中の文字を認識するといったタスクにおいては、クラウドソーシングなどで集めたデータを学習することになりますが、実際に分類を行いたいデータは世の中にいる大量のユーザーとなります。
この様な場合、データの作成に協力してくれた人のクセだけでなく、実際に利用されるケースとは異なるデータの収集方法などが理由になり、訓練データと予測データの傾向が違うという状態が発生してしまいます。

この時訓練データと予測データはドメインが異なるといった認識となり、ドメイン間でshiftが存在するといった表現がされます。
多くの場合、モデルの入力となる特徴量の分布が異なるcovariate-shiftが問題となります。そして、この様な環境下でrobustな予測モデルを学習する試みの事をドメイン適応(DA)と呼びます。多くの場合、訓練データでは特徴量(x)と正解ラベル(y)が観測され、評価および予測データでは特徴量のみが観測されるといった状態でこの問題に対応する事になります。

Importance Sampling Approach

この様な状況での学習は2000年くらいから考慮されており、Importance Samplingなどを用いる方法が提案されていますShimodaira(2000)。Importance Samplingを用いる方法は大まかには以下の様なアイデアを元にしています。

  1. 学習データの特徴量の分布が評価データと異なる
    ある特徴量の値を得る確率が学習時と評価時で違う:\( P_{tr}(x) \neq P_{te}(x) \)

  2. 学習データのlabel(y)の条件付き確率は同じ
    ある特徴量を与えられた時にあるyの値を得る確率は同じ:\( P_{tr}(y|x) = P_{te}(y|x) \)

  3. この様な状況で、学習データのロスは評価データのロスとは一致しない。
    Lはロス関数(例えば二条誤差)を示し、hは何かしらのモデルを示し、θはモデルのパラメーターを示しています。
    \( E_{tr} \left[L\left( x, y, \hat{h}(x,\theta) \right) \right] \neq E_{te} \left[L\left( x, y, \hat{h}(x,\theta) \right) \right] \)
    学習データでのロスが下がっていても評価でのロスが下がる保障がない。

  4. \( \frac{P_{te}(x)}{P_{tr}(x)} \)をサンプルの重みとして以下の様なロスを定義する。このロスは評価データのロスと一致性を持つ。
    \( E_{tr} \left[ \frac{P_{te}(x)}{P_{tr}(x)} L\left( x, y, \hat{h}(x,\theta) \right) \right] = E_{te} \left[L\left( x, y, \hat{h}(x,\theta) \right) \right] \)
    よって、学習データでこの様なロスを最小化する様にモデルを学習すれば良い
    サンプルの重みに関してはxを利用してtr/teの予測を行う様なモデルを学習する事で得ることが可能です。

因果推論を勉強された方はこの流れが傾向スコアに非常に近い事に気がつくかもしれません。
傾向スコアは手持ちのデータのなかで介入(Z)が行われたデータ(Z=1)と行われなかったデータ(Z=0)のP(x)が違う事によって発生するバイアスを補正するといった手法です。傾向スコアの推定はZを予測する様なモデルによって行われ、傾向スコアを利用した分析方法の一つであるInverse Probability Weighting/Horvitz–Thompson estimatorは介入の確率の逆数を取ってデータのバイアスを補正しています。

Domain Adaptation Neural Network

Ganin et al.(2015)はこれと同様の状況に対してImportance Samplingを用いるのではなく、データのバイアスの補正と予測誤差の最小化を同時に行う様なDNNを利用したモデルを提案しました。

このモデルは三つのパートに分かれています。
* 受け取った特徴量(x)を非線形に変換をするパート
* データのドメインを予測するパート(tr/teの学習)
* ラベル(y)を予測するパート
これら三つのパートを一つのモデルに組み込み、統一的なコスト関数を作ることで学習を行います。

特徴量の非線形変換パートにおけるパラメーターはドメインを予測する際の誤差がより大きくなる様に学習されます。これによりラベルの予測に使われる特徴量がドメイン間で同一になるため、yに対する予測精度がドメイン感で均一になりやすくなります。この様に誤差をわざと大きくする様なロスを敵対的ロス(adversarial loss)と呼びます。このテクニックはGoodfellow(2014)において手持ちのデータの分布により近いデータを生成するためにも用いられています。

この様にラベルやドメインの予測誤差を最小化する一方で、ドメインの予測誤差を最大化する様に特徴量を変換する過程はゲーム理論でいうminmax gameと捉えることが可能であり、ゲーム理論的なアプローチもいくらか可能なのかな?という興味が沸きたつかもしれません。

提案者であるIan GoodfellowはAAAI2019のinvited talkにおいていくらかこの話題に関して話をしていたので興味がある方は以下の動画を見ると良いかもしれません。

Ganin et al.(2015)はこれらの誤差に対していくらかの理論的な裏付けも提供しています。
大まかにはドメインの予測を行う事は、ドメイン間の予測精度の距離に関するある種の上界を誤差関数に含めるという操作に近いことを示し、その誤差の最小化問題を解くことで予測精度がドメイン間で変化しにくい状況を作っているということを主張しています。

因果推論との関係性

DNNを利用したドメイン適応の重要な部分は、誤差の上界を誤差関数に入れ込みそれを最小化する様にモデルを学習するという構造だと個人的には思いました。あとはどの様な上界を設定するかが問題な訳ですが、その後に続く論文はその点について様々なアプローチが取られています。

タスクにおいて望ましくない傾向の上界を持ってきてそれを最小化する様にモデルを学習させるというのは機械学習的で非常に面白いなと思います。

Individual Treatment Effectの文脈においてはpotential outcomeをどの様に予測するか?という点が主題になることがあるため、この様なアプローチを利用して介入が行われている/行われていないドメインからそれぞれ逆を予測する様なモデルは直感的にはすぐ出てくる発想な気がしました。

参考文献

Ganin, Yaroslav, and Victor Lempitsky. “Unsupervised domain adaptation by backpropagation.” arXiv preprint arXiv:1409.7495 (2014).

Goodfellow, Ian, et al. “Generative adversarial nets.” Advances in neural information processing systems. 2014.

Shimodaira, Hidetoshi. “Improving predictive inference under covariate shift by weighting the log-likelihood function.” Journal of statistical planning and inference 90.2 (2000): 227-244.

Zadrozny, Bianca. “Learning and evaluating classifiers under sample selection bias.” Proceedings of the twenty-first international conference on Machine learning. ACM, 2004.

Johansson, Fredrik, Uri Shalit, and David Sontag. “Learning representations for counterfactual inference.” International conference on machine learning. 2016.