PALM_Machine_Learning_Explanations_for_Iterative_Debugging

スポンサード リンク

表題の論文を読んだときの私的メモ。まとまってないし,他人に読ませるために書いてない。

Abstract

  • DNNの誤分類の理由を知るのは難しい
    • 推論に影響を与えた学習データを絞るのが良い
    • すべての学習データが多少は影響を与えているので分離が難しい
  • 本論文で提案するPartition Aware Local Model (PALM)は,2つの代理モデルを使って特定する
    • 学習データを複数領域に分割するメタモデル
      • メタモデルは決定木であり,人間が解釈可能なもの
      • 注目する推論結果に強い影響を与えた学習データの特定に利用
    • 領域内のパターンを近似するサブモデルたち
      • サブモデルはどんなに複雑なモデルでも良い
  • PALMは従来法(nearest neighbor queries)よりも30倍高速であり,インタラクティブなデバッグを可能とする

1. Introduction

  • MLモデルの精度向上を助ける開発ツールが求められている
    • モデルのデバッグと説明により,誤推論の原因を知る
    • 精度向上のための施策立案の補助
  • 流行のDNNではブラックボックスモデルとして扱うしか無い

    • デバッグが非効率だった
  • データベース分野で機械学習のスケール性の研究が行われており,スケールするデバッグツールのための機は熟した

  • 方法の一つは,デバッグ対象のモデルを単純な代理モデルで近似すること

    • 誤推論したテストデータの近傍の学習データを取り出し,線形モデルでフィットできる(Lime等)
      • 推論の根拠なった特徴量を大雑把に掴むことはできる
  • 推論に影響を与えた学習データ(のサブセット)も特定し,下記の3つに答えを与えたい
    • 推論に影響を与えた学習データはどれか
    • 学習データとテストデータの違いは?
    • 系統誤差と偶然誤差のどちらによる誤推論か
  • これにより,学習データをクレンジングするのか,学習データを増やすのか,高級なモデルを使うのか,判断を与えることができる

  • 上記の目的から,学習データの分割によってモデルを説明づける方式を提案する

    • 推論結果に与えた影響の大小で分割する
    • ラベルか特徴量を変えれば,推論結果を変えられることを意味する
  • データリネージュと説明文の関係に似ている
    • ブラックボックスモデルは,データベースへのクエリ(複雑なSQLを人間にわかりやすくしようとする問題か?)
    • 機械学習では,全学習データが推論に影響を与えるため,難しい
  • 高次元の特徴量空間の非線形モデル(NNなど)は複雑な分類境界を持つため,単にテストデータに最近傍の学習データを取り出すだけでは,間違いが多い

    • モデルの境界に従って学習データのサブセットを取り出す必要がある
  • 本論文で提案するPartition Aware Local Model (PALM)は,2つの代理モデルを使って特定する

    • 学習データを複数領域に分割するメタモデル
      • メタモデルは決定木であり,人間が解釈可能なもの
      • 注目する推論結果に強い影響を与えた学習データの特定に利用
    • 領域内のパターンを近似するサブモデルたち
      • サブモデルはどんなに複雑なモデルでも良い
  • サブモデルは正確に,メタモデルによる分割ルールは解釈可能

2. Framework and API

  • 解釈可能な特徴量と,解釈不可能な特徴寮の混ざったデータ・セットにおいてPALMはEM-likeな合うr後リズムで,解釈可能な特徴量についてモデルの振る舞いを再現するように分割するルールを学習する

2.1 Notation

  • 特徴量x_i とラベルy_i のタプルからなるデータセットD
  • train(D)はmodel()を返す学習関数
  • テストデータ x_new
  • テストデータの推論結果 y_new\hat = model(x_new)

  • 保険金詐欺の検知タスクであれば

    • D(make, amount, at.fault, descr, fraud?)
      • make: 車の型番 [categorical]
      • amount: 保険金の請求額 [double]
      • at.fault: 請求者の過失の有無 [boolean]
      • descr: 請求の内容 [string]
      • fraud: 詐欺か,詐欺で無いか
    • シンプルな決定木などであれば,モデルを解釈して推論結果を確認できる
      • 詐欺の場合,過失がないと主張していることが多い,など
  • descrは詐欺の分類に重要だが,NLPのword-embeddingsやstop wordの削除,bi-gramなどで特徴量をつくるため,解釈が困難な問題がある
    • その上,シンプルなモデルでは精度を出せない
    • テストデータの近傍点をとっても,推論結果が異なる可能性

2.2 Debugging with PALM

  • 下記のようなイメージで,データを分割するコードを生成(学習)する
    • metamodelは人間が理解できる簡単なモデル
      • 解釈可能な特徴量についてのみ分割する
    • submodelは人間が理解できない複雑なモデルで,元モデルの振る舞いを正確に再現するために利用
      • submodelの学習はmetamodelで分割されたそれぞれの領域で実行
      • submodelの学習には解釈困難な特徴量を含む
      • 問題があったときは,元モデル全体ではなく,submodelを調査すれば良いことになる
  • メタモデルの分割数の決定が一つのポイント
    • 少なすぎると,デバッグに役立たない
      • 極限は全データを一つの領域に分割
    • 多すぎると,元のモデルの振る舞いを再現できない
      • 極限は全学習データについて単純に決定木を学習する場合
def metamodel(x) :
    if amount > 10000:
    #one model for larger claims
        return submodel_1(x)
    elif  a_fault :
    #one model for small at fault claims
        return submodel_2(x)
    else :
    #a default model
        return submodel_3(x)
  • メタモデルの学習は,元のモデルの学習時に行えば良い
  • 推論時に元のモデルとメタモデルによる推論を実行すれば良い

2.3 API and System

  • 入力は
    • データセット
    • 解釈可能な特徴量名のリスト
    • 解釈したいモデルのパラメータ(学習前)
    • サブモデルの数k
  • 出力は
    • 解釈対象の学習済みモデル
    • k個のサブモデル (アルゴリズムは解釈対象のモデルと同一?)
    • メタモデル(決定木)

3. Algorithm Description

  • K-mearnsと同じように,k個のランダムなサブモデルを初期化
  • 最も高精度に推論できるサブモデルにデータ点を帰属させる
  • gradient descentでモデルのパラメータを更新する
  • Expectation-Maximization algorithmで,Maximization stepがgradientを計算する亜種である

3.1 Technical Details

Fitting Step

  • Modelの出力を教師としてmetamodelを作る
    • 任意の確率密度の近似は困難なので,kこのサブモデルで近似するf(y\hat |x,\theta)

Distillation Step

Comments !

social