データ分析関連のまとめ

データ分析・機械学習周りのもくもく会LTやイベント参加をまとめていきます

Exploratory Machine Learning with Unknown Unknowns

Exploratory Machine Learning with Unknown Unknowns (AAAI2021 accepted paperのarxiv版)を読んでまとめました。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。

目次

背景と概要

概要

  • 従来の教師あり学習では、学習データに既知のラベルセットからの正解が与えられ、学習したモデルは未知のデータに対してラベルをつける。
  • 論文では、学習データセットに間違ったラベルが振られた未知のクラス(unknown unknowns)が存在し、教師データからは真のラベルがわからない問題設定を考える。
    • なぜこのような事が起きるか:特徴情報が不足していることに依り、ラベル空間が不完全に認識されるために発生すると考えられる。
      • 真のラベル空間:ground-truth label space
      • 環境・条件等により不完全なラベル空間:known label space
  • 対策:特徴空間を積極的に拡張する事で未知のラベルを発見する探索的機械学習(exploratory machine learning:ExML)を提案。
    • the human in the learning loopを活用
    • 構成要素
      • rejection model(拒絶モデル):未知のクラスに属する可能性のある疑わしいインスタンスを識別。
      • feature acquisition(特徴取得):どの特徴を探索すべきか示し、拡張された特徴量空間上でモデルの再学習を行う。
        • 候補特徴量の提供を人が行う。
        • 限られた予算の中で候補特徴量から抽出し、特徴量空間を拡張。
      • model cascade:オリジナルのモデルに拡張したモデルを層構造で重ねる。

unknown unknownsが発生するような場面

  • 以下図のような医療診断のタスクを考える。
    • 咳・呼吸困難な症状のある患者の原因診断を地域の医療機関の記録に基づいてモデルを学習する。
    • 原因は3種類(ground-truth label)ある
      • 一般的なものが2種類(喘息:asthmaと肺炎:pneumonia)
      • 珍しい物が1種類(肺癌:lung cancer)→CT等の高価なコンピュータ断層撮影装置が必要。
    • 上記の理由により、地域の医療機関では癌だと診断される事が無いため、収集した学習データセット(known label space)に肺癌のクラスはない(unknown unknowns)。
  • そのため、学習モデルでは未知のクラスの発見と既知のクラスの分類を同時に行う必要がある。

f:id:yhiss:20210320182845p:plain
画像診断タスク例

ExML: A New Learning Framework

Exploratory Machine Learning

  • 本項において、探索的機械学習(ExML)を紹介する
    • 特徴量不足によるunknown unknownsを処理するために、the human in the learning loopを活用する。
    • もう少し掘り下げると、潜在する未知のクラスを発見し既存のクラスを分類する事行うために、learner:学習者(人)が学習データセットを調べ、調査(新しい特徴量情報を探索)を行う
    • 具体例としては以下のような事があげられている。
      • 学習モデルが多くのデータを与えてもパフォーマンスが低い場合、learnerが未知のクラスの存在を疑い特徴の補強を行う。
      • 概要は以下図であり、learnerが分類性の悪い2つのクラスに気づき適切な特徴の増強を行った結果、未知の追加クラスが存在する事に気づく。

f:id:yhiss:20210321182324p:plain

既存の教師あり学習との比較

従来の教師あり学習(SL)では、学習データセットを環境の観測可能な表現とみなし、それを予測するためモデルを学習するとしている。(個人的には納得したような、しないような気持)

ExMLでは、学習データセットを操作可能なものと考え、learnerが多くの特徴量情報を探索する事により、特徴量の不足によるunknown unknownsを発見できると考える。

f:id:yhiss:20210321185319p:plain
ExMLとSLの比較概要

Problem Formulation

学習とテストにおいて以下のように問題設定がされている。

Training Dataset

 learnerは学習データセット \hat{D}_{tr} = \{ (\hat{x}_i , \hat{y}_i)  \}^{m}_{i=1}を受け取る 
 \hat{x}_i \in \hat{\chi} \subseteq \mathbb{R}^d は観測された特徴空間のものであり、\hat{y}_i \in \hat{Y}はN個の既知のクラスを持つ不完全なラベル空間(実際には未知のクラスだが、特徴量の不足により誤って既知のクラスにラベル付けされているサンプルが存在)
 ここでは簡単のためにN=2(binary)の場合を考える

Candidate Features and Cost Budget(候補特徴量とコスト予算)

learnerは学習セット以外に候補特徴量  C = c_1 ,..., c_K (取得前は未知)にアクセスできるとする。
本候補特徴量は、医療診断の例で言うと患者が検査後に得られるCTスキャンの信号等になる。

  • 以下の様な条件を考える
    • どのサンプルでも、候補特徴量を取得する場合一定のコストがかかる。
    • learnerは与えられた予算Bの中で、上位k個の有益な特徴を活用する事を目的とする。
    • 簡単のために各特徴量の取得コストは1とする。(特徴量毎の取得するためのコストの違いは考慮してない)

Testing Stage

Learnerが最適な候補特徴量を c_iと決定したとすると、learnerはこの特徴量でテストサンプルを拡張する。

 サンプルは最終的に拡張された特徴量空間 {\chi}_i = (\hat{\chi} \cup {\chi}^i ) \subseteq \mathbb{R}^{d+1}に入る
 {\chi}_i : c_iの特徴量空間

学習モデルは拡張されたテストサンプルのラベルを予測し、既知のクラスのどれかに分類するか未知のクラス(uc)に分類される。

実用的なアプローチ

  • 今回、以下の3つの構成要素からなるアプローチが設計されている。(概要は以下図)
    • rejection model(拒絶モデル)
    • feature acquisition(特徴取得)
    • model cascade

f:id:yhiss:20210327125620p:plain
ExML概要と特徴量の取得について

Rejection model

上図にあるように、learnerは最初に自身の無いinstanceを疑わしいと識別する能力をオリジナルのデータセットで学習する必要がある。

ここでは、条件付確率の最大値が1-θ(0<θ<0.5)の閾値より低いインスタンスの予測を行わない「拒絶反応を伴う学習」を行う。

 ここで学習するペアはf = (h.g)となる
 h:\hat{\chi} \mapsto \mathbb{R} は既知のクラス(known class)の予測関数 
 g:\hat{\chi} \mapsto \mathbb{R} は未知のクラス(unknown class)に拒絶するゲート関数 
 サンプル\hat{x}をg(\hat{x})<0の場合は未知のクラスに分類し、そうでない場合はsign(h(\hat{x}))に分類する
 ペアf = (h.g)は以下の期待リスクを最小化する問題にする事で、学習できる
 min_{f} \mathbb{E}_{(\hat{x}, \hat{y}) \sim \hat{D}} [ l_{0/1} (f,\hat{x}, \hat{y}; \theta) ] \ \ \ (1) 
 l_{0/1} (f,\hat{x}, \hat{y}; \theta) = \mathbb{1}_{\hat{y} \cdot h(\hat{x})<0 } \cdot \mathbb{1}_{g\hat{x}>0 } + \theta \cdot  \mathbb{1}_{g\hat{x} \leq 0} :rejection\ modelの0-1 loss 
 \hat{D}:\hat{\chi} \times \hat{Y}のデータ分布

Feature Acquisition(特徴量の取得)

  • learnerは初期モデルに問題がある場合(例:目的の精度を達成するために、あまりにも多くのサンプルを拒否する場合)、未知のクラスの存在を疑い、拡張する新しい特徴量を探索する。
    • 具体的には、learnerは上述した以下の図において、K個の候補から最適な特徴量を選択し、拡張されたデータに基づきモデルを再学習する必要がある。
  • 今回の中心となる問題は以下2つからなる
    • 候補特徴量の品質をどのようにして測るか
    • どのようにして、最適な特徴量を特定するように予算を配分するか
    • 拡張されたデータを使ったモデルの再学習をどう行うか

Feature quality measure

特徴量の品質は、以下のリスク関数で定義される

 R_i^* = R_i(f_i^*) =min_{f} \mathbb{E}_{(x,\hat{y}) \sim D_i } [ l_{0/1} (f, x, \hat{y}; \theta )  ] 
 D_i: {\chi}_i  \times \hat{Y} のデータ分布 
 {\chi}_i:i番目の候補特徴量の拡張空間 (i \in [ K ]) 
 R_i(f)はD_iに対する関数fの期待される0/1リスク
 f_i^*は全測定可能な関数に対してR_i(f)を最小化するので、機能が優れている程このリスクは小さくなるはず

Budget allocation strategy

Feature quality measureに基づき、最良の候補特徴量を特定するための予算配分戦略を考える。

 一般性を損なわないように、全候補特徴量がqualityに応じてソートされているとすると、R_1^* \leq ...  \leq R_K^*(小さいほど機能が優れている)となる。
  • 以下の2つの選択肢を本論文では考えている(結果的に後者を採用している)
    • Uniform Allocation(一律配分)
    • Median Elimination(中央値消去):バンディットベース
Uniform Allocation(一律配分)

各候補特徴量 c_i (i \in [ K ) ]においてlearnerは[B/K]の予算を配分し、拡張データセット D_iを得る。

Median Elimination(中央値消去)

予算配分の効率を向上させるために、バンディット理論にインスパイアされた方法。 上記Uniform Allocationよりも効率的に最良の候補特徴量候補の探索が出来る。

本論文では、以下のようなバンディット理論のより洗練された技術の導入を行っているとのこと。

f:id:yhiss:20210417173748p:plain

Model Cascade

特徴量を取得した後に、learnerは拡張したデータ上でモデルの再学習を行う。 予算が十分でない場合や、候補特徴量が十分な情報を持っていない場合、拡張したモデルが初期モデルよりも優れていない場合がある。 そのため、初期モデルに拡張モデルをカスケードするモデル構造を提案している。

  • おおまかには以下のような構造になる。
    • 信頼度の高い予測:初期モデルにacceptされる。
    • 上記でacceptされなかった疑わしいサンプルは次の層に渡され、拡張サンプルで拡張モデルによって信頼度が高い予測が得られたものはacceptされる。
    • 残りの疑わしいサンプルは更に改良するため次の層に進む。

Experiments

  • 合成データおよび実データを用いて実験を行い、以下の観点から今回の手法を評価している。
    • unknown unknownsを扱う上でのexploratory learning(探索的学習)の優位性
    • 提案するExMLアプローチの有効性および特徴量獲得およびモデルカスケードの有用性

合成データ

  • まず合成データを用いてExMLとSLを比較
  • 合成データ(ground truth label):下図左
    • 3次元特徴量
    • クラス数3
    • 各クラス数:100
    • それぞれのクラスは3次元正規分布で生成
  • 学習データ(known label):下図中央
    • 3次元目の特徴量は隠している(2次元の特徴量を与える)
    • クラス3をランダムにクラス1 or 2にラベル付けを行う

f:id:yhiss:20210421223712p:plain
合成データのvisualization

  • 下図に結果が書かれている
    • 下図左がSLを実施して2次元の学習データに基づいてreject modelを学習したもの
    • 下図中央がExMLにより予算の範囲内で能動的に特徴量を拡張しunknown unknownsを発見したもの
    • ExMLのほうがground truth labelをより分類できている(それはそうだろうと少し思う...)

f:id:yhiss:20210421224306p:plain
合成データの結果

実データ

  • UCI dataset Mfeatを用いて評価を実施している。

    • 10個の手書き数字に対して2,000個のインスタンスを含むマルチビューデータセット
    • このデータには大きく6種類の特徴量群があり、それぞれが異なるqualityを持っている。
    • 特徴の詳細な説明が以下表に示されている(特徴の品質が高い順に並んでいる)
  • 本評価においては、6つの特徴量群の内1つをオリジナル、残りを候補特徴量として様々な環境でアルゴリズムを比較している

アルゴリズム

  • 探索的学習の有無、特徴量獲得アルゴリズムの種類、モデルカスケードの有無を比較するため、以下の4種類で評価

    • SL:従来の教師あり学習
    • ME/UA→特徴量獲得アルゴリズム(ME:Median Elimination(中央値消去)、UA:Uniform Allocation(一律配分))
    • aug/csd→モデルカスケード(aug:カスケードなし、csd:カスケードあり)
    • 今回の提案手法は以下表のExMLとなる

結果の解釈

  • 表の上から3つまでの特徴量についてはそもそもオリジナルな特徴量のqualityが高いため、SLの精度は高くなる(本論文でターゲットとしているシチュエーションではない模様)
  • それに対して、表の下の特徴量(情報量が少ない場合)では、SLの精度が劣化し予算の限られた中でもExMLが良い精度を出している事からアルゴリズムの有効性を主張している。

f:id:yhiss:20210421230804p:plain
特徴量の説明

本論文では他のデータセットとして、RealDisp datasetでも評価を行っている(省略)

参考文献

arxiv.org