Amazon SageMaker Cralifyで始める、バイアスの特定とモデルの解釈
初めまして、NRIデジタルのデータサイエンティストの中川です。
re:invent2020にて様々なサービスの公開・機能のアップデートが発表されていますね。今回は発表されたサービスの1つであるAmazon SageMaker Clalifyについて、調査・考察した内容を本記事にまとめていきたいと思います。
Amazon SageMaker Cralifyとは?
SageMakerの1機能であり、トレーニングデータと学習済みのモデルに存在するデータのバイアスを検出し、モデル全体、および個々の予測の両方について、特徴量が予測結果にどのように寄与するかを可視化できる機能です。
つまり、SageMaker Cralifyで提供される機能としては、大きく分けると以下の3つです。
- 【データバイアス検出】
- トレーニングデータセットに存在するバイアスを様々な統計指標で測定し、検出する機能
- 【モデルバイアス検出】
- 学習済みモデルに対して、一時的なエンドポイントへの自動デプロイメントと、予測結果に存在するバイアスを様々な統計指標で測定し、検出する機能
- 【特徴量評価】
- 学習済みモデルに対して、SHapley Additive exPlanations(SHAP)を用いて特徴量の相対的な重要性を特定する機能
Amazon SageMaker Cralifyがリリースされた背景
リリースされた背景には以下の2つの課題があると考えます。
- 機械学習アルゴリズムが高速に高度化し、深層学習といった複雑なモデルを利用するようになったことで、予測プロセスや予測結果を人間が論理的に解釈できなくなったという課題
- モデル化したい現実問題をデータセットが忠実に表現できているのか、もしくは人間が認識できていない形で何らかのバイアスを生じていないのかを考慮することなくモデルを作成してしまうとAI倫理1)AI倫理に関する見解として、NRIグループではAI倫理ガイドラインを定めています。詳しくはNRIグループのAI倫理ガイドラインをご参照ください。問題につながりかねないという課題
前者は、「複雑なモデルでは説明変数の寄与などの、人間がわかりやすい指標を用いた表現が難しい」という課題です。従来の古典的な機械学習の一種である線形回帰や決定木のアルゴリズムでは「モデルが主に使用する説明変数を特定することが可能」であり、ビジネスでやっている「人間のエキスパートの判断や行動基準」と比較し、ビジネスにおけるモデルの妥当性を人間が判断することが出来ました。
しかし一方で、単純なモデルであるがゆえに、データや解くべき課題によって目標の精度を達成することが難しいという課題がありました。そこで、より課題に対する精度を高めるために、深層学習といった複雑なアルゴリズムの研究が進み、画像認識といった一部の分野では人間と遜色ない精度を実現できる機械学習モデルを開発することが出来るようになりました。他方で、そういった複雑なモデルの判断プロセスを人間が理解することが難しくなり、機械学習の解釈性は損なわれました。
MLモデルの意思決定のインパクトや影響が大きい場合には、人間の解釈性や説明性も必要になることがあるため、複雑なモデルに対しても解釈性を付与するニーズは高まっています。
後者についてはいくつかの事例があります。例えば、NVIDIAの研究者によって考案されたStyleGANの一種である、PULSE Algorithm によって、モザイク化した画像を高精細画像に変換できるモデルです。
モザイク化したオバマ前大統領の画像を入力すると、白人のような画像が出力されたことがわかり、データバイアスが生じていると問題視されました。これは、データセットの画像が白人に偏っているために起こった問題でした。
また、2018年2月に発表した、マサチューセッツ工科大学(MIT)メディアラボのジョイ・ブオラムウィニ氏との共同研究では、マイクロソフト、IBM、さらに中国の顔認識サービス「フェイス++」という、3つのAI顔認識の精度を比較しました。結果、人種、性別に明確なバイアスが存在し、認識精度の大きな開きがあることを明らかにしています。
また、「PULSE」が発表された国際会議「CVPR」では、ゲブルー氏とグーグル・エシカルAIチームの同僚であるエミリー・デントン氏によるAIのバイアスに関する「コンピュータービジョンにおける公正性、説明責任、透明性と倫理」と題した2時間以上にも及ぶチュートリアルが行われ、その動画も公開されており、Cralifyが担うバイアスの検出機能の重要性は高まっていることがわかります。
Amazon SageMaker Cralifyで得られるアウトプットとその解釈について
ここからいよいよAmazon SageMaker Clarifyを利用して、得られるアウトプットについて見ていきます。CralifyはSageMaker SDKの中の1ライブラリとして用意されており,バイアスをチェックしたい特徴量といった各種configを定義した後、run_biasとrun_explainabilityという関数で上記で説明した機能である「バイアスの数値化」と「特徴量が予測結果にどのように寄与するかの可視化」をそれぞれレポートにしてS3に出力してくれます。
ライブラリの詳細に関してはSageMakerSDKのDocumentのサイトから確認できます。
以下ではSageMakerのサンプルスクリプトを利用して、個人の学歴や職業といったデータからその人の年収が50000ドルを超えるかどうかの予測において、性別バイアスが含まれているか、どういった特徴量が予測に重要かをCralifyによって特定してみます。
run_biasを実行すると、特定のS3にreportが出力され、様々な統計的指標に基づいた「バイアスの数値化」の結果が確認できます。
以下の例では、例えばClass Imbalance(CI) のvlueが0.35程度(※-1~1の値をとり、1に近いほど男性にデータセットが偏っていることを表します)とデータセットが男性に少し偏っていることが分かります。
よって、データセットを男女でバランス良くしたい場合は、女性のデータセットを追加して、0に近づけるといったことが必要だと分かります。
バイアスの各種統計量の説明は以下のサイトから確認できます。
データセットに対するバイアス指標詳細
モデルに対するバイアス指標詳細
run_explainabilityを実行すると、特定のS3にreport.拡張子(pdf,html,ipynb,json)というものとclarify-explainability/out.csvが出力され、KernelSHAPという手法を用いて、予測に対する各特徴量の寄与度を推定し、寄与度の高い特徴量から順に10変数を可視化してくれます。
以下の例では、所得の高さの予測には、capital gain(資本利得)や年齢が大きな影響を及ぼしていることが分かります。
KarnelSHAPといったSHAP値の説明はSHAPのDocumentのサイトから確認できます。
Amazon SageMaker Cralify活用ユースケース
上記のAmazon SageMaker Cralifyの機能を活用できそうなユースケースとして以下の場合が考えられるのではないでしょうか。
- 使用しているデータやモデルの特徴量にセンシティブな情報(性別、国籍、人種、年齢など)が含まれており、AI倫理の問題やコンプライアンスを意識したい場合
- 運用しているモデルで学習するデータやモデルの判断が急に変わっていないかを監視したい場合
- 深層学習といった解釈するのが難しいモデルに対して、重要な特徴量(寄与度の高い特徴量)を特定したい場合
最後に
今回はSageMakerの大幅な機能アップデートに伴って、Amazon SageMaker Cralifyの調査と考察をまとめました。本記事では詳細に言及できませんでしたが、Cralifyで確認することのできるバイアスの統計指標やKernelSHAPの算出方法とその意味について、別記事にまとめていきます。また、AWSではSageMaker以外にも数多くの機械学習系サービスやデータ基盤サービスが公開されているため、そういった他サービスについても今後テックブログでまとめ、公開していきたいと思います。
参考記事
- AIの差別をめぐり“AIのゴッドファーザー”が炎上し、ツイッターをやめる
- What a machine learning tool that turns Obama white can (and can’t) tell us about AI bias
本記事に関するお問い合わせ
Email: info@nri-digital.jp
NRIデジタルへのお問い合わせは、上記のメールアドレスよりご連絡くださいますようお願いいたします。
ご入力いただいた個人情報は、お問い合わせ対応のみに利用いたします。
「個人情報の取り扱いについて」にご同意の上、お問い合わせください。
References
1. | ↑ | AI倫理に関する見解として、NRIグループではAI倫理ガイドラインを定めています。詳しくはNRIグループのAI倫理ガイドラインをご参照ください。 |