【レポート】Interpretability and explainability in machine learning
こんにちは、Mr.Moです。
本エントリーは re:Invent 2020で行われたセッション "Interpretability and explainability in machine learning" のレポートです。
セッション概要
As machine learning (ML) becomes increasingly ubiquitous across many industries and applications, it is also becoming difficult to understand the rationale behind the results of ML models. Understanding how ML models arrive at their outcomes and how to consistently predict results from ML models is known as interpretability. This session explores the science behind interpretability and shows how to use Amazon SageMaker to understand the workings of ML models and their predictions. Learn the interpretation of deep learning algorithms with an introduction to model explainability, a key area of interest within ML. (翻訳) 機械学習(ML)が多くの産業やアプリケーションでますますユビキタスになるにつれ、MLモデルの結果の背後にある根拠を理解することも難しくなってきています。MLモデルがどのようにしてその結果に到達するのかを理解し、MLモデルの結果を一貫して予測する方法を理解することは、解釈可能性として知られています。このセッションでは、解釈可能性の背後にある科学を探り、MLモデルの働きとその予測を理解するためにAmazon SageMakerを使用する方法を示します。MLの中で重要な関心領域であるモデルの説明可能性を紹介しながら、ディープラーニングアルゴリズムの解釈を学びましょう。
レポート
昨今、急速に民主化が進む機械学習界隈ですが、様々な場所で機械学習モデルが活躍する一方、背景にある根拠や理解も求められまたそれらは難しくもあります。本セッションではその辺りが解説されていますので見ていきましょう。なお、本レポートは独自の見解も含まれますのであらかじめご了承ください。
まずExplainable AI(XAI)というキーワードがあります。これは予測結果や推定結果に至るプロセスが人間によって説明可能になる方法や技術を指し、説明可能性や解釈可能性という言葉も使われていたりします。(説明可能性や解釈可能性はどちらを使うのが正しいかというのは決まっていないとのこと) 機械学習のモデルは高精度の予測をたたき出すものがありますが、中身はブラックボックスです。なぜその予測結果を出したのか不透明な状態になりがちです。
では、なぜ説明可能性が重要なのでしょうか。 上の図を見てわかるとおり、機械学習モデルの精度と説明可能性は負の相関になっています。精度が高いモデルほど説明が難しいという状態になっているわけですが、精度が高ければ説明ができなくても信用が得られるということにはなりません。納得のいく説明が無いと人はその結果を受け入れることができないからですね。また、2018年に制定されたGDPR法にて説明する権利について語っている記事があります。GDPRに記載されているものは予防的な意味にとどまっているため原則的にしか定義されてない一方、シンガポールのように説明の権利を企業が機械学習を導入する際などに使える説明可能性を取り入れるためのフレームワークを採用している事例もあります。 ここから先で機械学習の手法や説明可能性が特定のケースでどのようなことができるか具体的に見ていきましょう。
説明ができることが重要であることをもう少し理解するために、とある例をだして解説しています。旅行をしているという例で、とある都市に訪れた際、クレジットカードで飲料を購入しようとすると支払いが拒否されてしまうというものです。ここで当然購入者はなぜ自分のクレジットカードで支払いができなかったのか理由を問い合わせるわけですが、問い合わせ先の担当者は十分な説明をすることができないというものです。この例の起こった出来事の実態は、過去のクレジットカード使用用途との矛盾が重要視されたことで起きていたという事実がありました。問い合わせ先の担当者がこの 事実を理解し説明できていれば対応方法など変わっていたかもしれないわけですね。
説明可能性にはローカルとグローバルのスコープがあります。ローカルスコープは先ほどの旅行の例であったようなクレジットカード取引のような特定のケースにおける機械学習モデルがなぜ支払いを拒否する決定をくだしたかの理由を特定するもので、グローバルスコープは特定のケースではないその機械学習モデルが予測をする際にどの特徴量を重要としているかを見るものです。機械学習モデルそのものの説明に活用できる情報ということですね。
さらにここからは、優れた理論に裏打ちされた手法を見ていきます。そこで登場するのが最近注目のSHAP・シャープレイ値です。これは協力ゲーム理論における概念ですが、どのようなものかを例で見ていくと、3名が同じ場所に向かうのにタクシーを使ったとした時に同じ場所からの乗車であれば平等に運賃を負担するのは簡単ですが乗車場所が異なれば公正に負担する方法を模索する必要がありますね。またゲームのプレイヤーに置き換えても報酬を貢献具合によって分けたいですよね。こういったことを解決するのがシャープレイ値です。(他にもセッション内では直感的な理解のために、給与・ボーナスを題材にした解説もされています)
ここまででシャープレイ値の直感的な理解のための解説を見てきました。ちなみに特定のケースのシャープレイ値は全体と特定のケースの差分から算出されます。なお、中身としては少々複雑な数式が用いられますが、こういった数式を実際に実装・プログラミングすることはありません。
疑問点としてはここまでの理論をどのように機械学習にあてはめるのかというところですが、これも非常に簡単で対応する要素を置き換えるだけです。先ほどの例でいうとゲームがモデルでプレイヤーが特徴量といった具合です。
数式についても同様です。機械学習用に要素を置き換えます。ただし問題としては機械学習においては特徴量の数が膨大になりうる点です。複雑になりうる実装をどう解決するのか。
オープンソースのSHAP実装では、これを全体を計算するのではなく部分的に計算して近似値をとることで回避しているようです。
ここまででSHAP・シャープレイ値の解説を見てきました。なお、Amazon SageMakerの新機能Clarifyは、機械学習エンジニアやデータサイエンティストが機械学習の開発ライフサイクルに説明可能性を組み込むための機能を拡張し、さらにシンプルにしたものです。Clarifyは下記の6つを提供します。
- データセットのバイアス検出
- トレーニングモデルのバイアス検出
- モデルの全体的な動作を説明する(グローバルスコープ)
- 個別の予測を説明する(ローカルスコープ)
- 時間経過に伴うバイアス発生の検知
- 監査用のレポートの提供
まとめ
セッションの後半ではSaegMaker Clarifyを実際に使っているデモもありますし詳細な解説についても、ぜひ直接セッションをご覧いただければと思います。
また、私の方でも実際にAmazon SageMaker Clarifyを使ってみた記事を書いてますので、よろしければ下記の記事も参考にしてみてください。