Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IBM Dojo #12 AI Advance: 公平で説明可能なAI / IBM Dojo AI Fairness Explainability 20200401

IBM Dojo #12 AI Advance: 公平で説明可能なAI / IBM Dojo AI Fairness Explainability 20200401

2020年4月1日開催のIBM Dojo #12 AI Advance: 公平で説明可能なAIの資料です。
直前に公開予定です。

Kyoko Nishito

April 01, 2020
Tweet

More Decks by Kyoko Nishito

Other Decks in Technology

Transcript

  1. Explainable AI (説明可能なAI) アンサンブル ニューラルネット 深層学習 回帰(⼀次関数) 決定⽊ わかりやすい (whitebox)

    わかりにくい (blackbox) 精度が低い 精度が⾼い モデルの精度(正解率の⾼さ)と「わかりやすさ」はトレードオフの関係 -> ⾼い精度を保ちつつ説明性を担保する⽅法はないのか︖ 14
  2. 「AIの公平性」の問題 • 被告の再犯可能性を予測するAIシステム「Compas」 • ⽶国で実際に本番利⽤されている機械学習モデル • 137問の質問への回答を⼊⼒に、再び犯罪を犯す危険性を10段階の点数 として算出 • 調査報道サイト「プロパブリカ」により、以下の調査結果が判明し⼤き

    な社会問題となりました。 出典: https://kaztaira.wordpress.com/2018/09/22/aiのバイアス問題、求められる「公平」とは何/ 偽陽性 (再犯の疑いありの判定で 実際には再犯なし) 偽陰性 (再犯の疑いなしの判定で 実際には再犯あり) ⽩⼈ 23.5% 47.7% ⿊⼈ 44.9% 28.0% 18
  3. AI 採⽤ツール: ジェンダーバイアスを学習 最近廃⽌されたAmazonの採⽤ツール • Amazonのモデルは、応募者を審査するために10年以上にわたって提 出された履歴書のパターンを分析して学習 • 履歴書は、主に採⽤決定により男性からのもの 20

    • 男性候補者の⽅が望ましい結果。 • 「⼥性のチェスクラブキャプテン」などの「⼥性」という⾔葉を含む 履歴書に低い点数しか与えないというルールを作成。 • 多くの⼥⼦⼤の卒業⽣を評価を下げた。 Amazonはバイアスを取り除こうしたが、複雑さのためにできず、ツール を廃⽌。
  4. 公正な割合?: CEOという単語をGoogleで画像検索 • ある研究者は︓CEOという単語をGoogleで検索したとき にバイアス(偏⾒)を⾒つけました。 • その時CEOのトップ画像結果のわずか11%が⼥性 • 当時実際には⽶国のCEOの27%が⼥性でした。 •

    アルゴリズムが⽰すべき⼥性CEOの「公平な」割合をど のように決定すべきか??? • 現在の⼥性CEOの割合27%︖ • 現実⽐ではないが「公正」な数値を50%にすべき? → 組織およびユースケースごと状況に応じて何が公正なのかをを定義す る必要があります。 21 21
  5. IBMの取り組み • 2017年 Corporate Responsibility Report 最初の項⽬にTrust and transparencyがあり、AIに関する責任性に⾔及 •

    2018年9⽉21⽇「AI倫理のためのガイド」 出典 https://www.ibm.com/blogs/think/jp-ja/everyday-ethics-for-artificial-intelligence/ 25
  6. IBMの取り組み IBMでは以上の全社的な⽅針を受けて、次の2つの製品・サービスを提供して います。 Watson OpenScale • Watson StudioやWatson Machine Learningと同じIBMクラウド上のサー

    ビス。ただし、他のサービスと異なり、他社AIも管理対象に含む。 AI Fairness 360 / AI Explainability 360 • Python APIをOSSとして公開。 • ライブラリだけでなく、API Reference、チュートリアル、デモアプリなども ⼀般に利⽤可能。 • ユーザーは⾃分でPythonコーディングを⾏うことが前提。 • AIF360: http://aif360.mybluemix.net/ 26
  7. OpenScaleとAIF360 OpenScaleとAIF360/AIX360の⽬的・役割・対象などを整理すると次のようにな ります。 Watson OpenScale AIF360/AIX360 位置付け 商⽤製品/商⽤サービス オープンソース 想定ユーザー

    企業ユーザー データサイエンティスト 研究者、開発者 提供形態 ICP, IBM Cloud、 他社クラウド Pythonライブラリーとツールの 集合 利⽤フェーズ モデル実⾏/運⽤時 モデル開発時 提供機能 説明性 ◦ ◦ (AIX360) 公平性 ◦ ◦ (AIF360) 正確性(精度) ◦ - 27
  8. Watson OpenScaleの特徴 Watson OpenScaleのハイレベルな特徴として以下のことがあげられます。 Open (オープン): 代表的な機械学習・深層学習フレームワーク・他社AIサービス(MS Azureと Amazon Sagemaker)を管理対象とすることが可能。

    Scale (拡張性): パブリック、プライベート、ハイブリッド・クラウド、どの環境でも提供可能。 Explainability (説明性): AIモデルの評価結果において、その判断理由を説明。 Fairness (公平性): AIモデルの導出した結果の公平性をチェックし、是正する。 29
  9. Watson OpenScaleの主要機能 Payload Logging機能がベースの機能となっています。 Payload Loggingを使って説明性(Explainability) と公平性(Fairness) を実現してい ます。 それぞれの拡張機能としてContrastive

    ExplanationとBias mitigationがあります。 それ以外にモニタリング機能や、ドリフト・モニタリング機能がなどがあります。 Payload Logging 説明性 (Explainability) 公平性 (Fairness) Contrastive Explanation Bias mitigation ・Monitoring ・Performance ・Drift monitoring Watson OpenScale 主要機能 30
  10. 公平性 バイアス検知の⽅法 perturbation analysis ⼊⼒データの バリエーションを増やす 監視対象 モデル Payloadだけではデータが不⾜している場合、OpenScaleは⼊⼒データのバリ エーションを増やし(perturbation

    analysis)、それぞれの結果を⾒ることで、バ イアスの有無を検知します。 payloadから 取得した記録 増やしたデータに関して、 モデルを呼び出し結果を 調べる 結果を統計的に処理 してバイアスの有無 を判断 47
  11. 公平性 バイアス緩和の⽅法 perturbation analysis ⼊⼒データのバリエー ションを増やす 監視対象 モデル OpenScaleはバイアス緩和のため、「バイアス検知モデル」を内部に作ります。 バイアスの発⽣する危険のある⼊⼒データかどうかをこのモデルで判断し、その結

    果によりバイアス緩和を⾏います。 payloadから取得した 記録 バイアス検知 モデル (OpenScale内部) 公平 不公平 増やしたデータに関して、 モデルを呼び出し結果を 調べる バイアスが発⽣するかし ないかを判断するモデル を⽣成 50
  12. 説明性・公平性 サポート対象モデル 説明性と公平性は、管理対象がどのような種類のモデルかにより、対応の有無が異 なります。現在のサポート状況を整理すると、下の表のようになります。 モデル種別 対象データ 説明性 公平性 公平性緩和 精度

    分類 構造データ Yes Yes Yes ※ Yes 回帰 構造データ Yes Yes No Yes 分類 テキスト Yes No No No 分類 イメージ Yes No No No ※ モデルが確率値を返すタイプのものである必要があります。
  13. 説明性・公平性 サポート対象フレームワーク 説明性・公平性は、フレームワークによってもサポートの有無が違ってきます。 最新の状況については、下記リンク先を参照してください。 WML Azure ML Studio AWS SageMaker

    Custom/Python function 分類 構造データ Apache Spark Mllib Python function XGBoost scikit-learn Native Native WMLと同じ 回帰 構造データ Python function XGBoost scikit-learn n/a n/a n/a 分類 テキスト Keras with TensorFlow(※1) n/a n/a n/a 分類 イメージ Keras with TensorFlow(※1) n/a n/a n/a 参照: https://cloud.ibm.com/docs/services/ai-openscale?topic=ai-openscale-frmwrks-wml&locale=ja WMLのAutoAIモデルはICP4Dのみサポートされています。Cloud版はサポートされていません。 61
  14. ⾃動セットアップのチュートリアルを体験 Watson OpenScale でモデルがどのようにモニターされるかを簡単に確認する ために、最初に Watson OpenScale UI にログインした際に提供されているデ モ・シナリオ・オプションを⼀緒に体験してみます。

    この内容は製品のチュートリアル「⼊⾨チュートリアル (⾃動セットアップ) 」 と同じ内容です。 https://cloud.ibm.com/docs/services/ai-openscale?topic=ai-openscale- gettingstarted 63
  15. 実際にモデルを登録してWatson OpenScale を使うには、、、、 実際にモデルを登録してWatson OpenScaleを使うには、pythonでSDKを使っ てcodeを書いて実⾏しての設定が通常必要です。 • Watson Machine Learningのモデルを使う場合は、モデル登録にpythonで

    の登録が必要です。 • AutoMLなど他社のモデルを使う場合は、ペイロードロギング等に通常は何 かしらのCodeの実⾏が必要です。 • もちろん⼀部はGUIで実施可能です。 このワークショップ課題にはpythonを使⽤します。 実⾏環境はIBM CloudのWatson Studioを使います。
  16. Python SDK チュートリアル: ポイント • IBM® Watson OpenScale サービスのプロビジョン は既にやっているので

    不要。 • (オプション) Databases for PostgreSQL サービスまたは DB2 Warehouse サービスのプロビジョン は有料のサービスが必要なためとりあえずやらなく ともOK • Machine Learningモデルの作成とデプロイ の Working with Watson Machine Learning ノートブックを Watson Studio プロジェクトに追加す る はnotebookの内容が英語のため、⽇本語に翻訳したものを使⽤したい場 合は次ページからの⼿順に従ってください。
  17. Python SDK チュートリアル: 代替⼿順 Machine Learningモデルの作成とデプロイ の Working with Watson

    Machine Learning ノートブックを Watson Studio プロジェクトに追加する notebook⽇本語版追加⼿順 1. 上のメニューからプロジェクトに追加をクリックします。
  18. 3. FromURLタブをクリックして、以下を⼊⼒し、[Create]をクリック: Name: 適当な名前。下の例は「Watson OpenScale and Watson ML Engine」 Select

    runtime: Default Spark Python 3.6 Notebook URL: https://github.com/kyokonishito/ai-openscale- tutorials/blob/ja_translation/notebooks/Watson%20OpenScale%20and%20Wat son%20ML%20Engine-ja.ipynb 以上です
  19. 101

  20. IBM AI ソリューション全体像 (Watson Anywhere) Think2019でIBMは「Watson Anywhere」というコンセプトを提唱しました。 オープンを前提とした仮想化技術、クラウドサービス、ハードウェア製品、基礎研究などIBMの総合⼒を発揮して 「いつでもどこでも使えるAI」の提供を⽬指します。 オンプレミス

    IBM Cloud 他社Cloud Power AI Intel ESS (Storage) ACC922 (Server) Watson ML Community Edition Watson ML Accelerator PowerAI Vision H2O Driverless AI OpenShift Watson Knowledge Catalog Watson ML Watson Studio Watson OpenScale Watson API OpenShift Watson Knowledge Catalog Watson ML Watson Studio Watson OpenScale Watson API Watson Knowledge Catalog Watson Machine Learning Watson Studio Watson OpenScale Watson API Cloud Foundry Storage / Database GPU ※ ※ ※ OpenShiftのWatsonサービスに関しては⼀部未対応の機能があります。
  21. Watson OpenScaleの位置付け Watson OpenScaleは従来のWatson Studio / Machine Learningを補う形で運⽤局⾯をサポートするサービスです。 Watson API

    Visual Recognition (画像) Speech to Text (⾳声認識) Text to Speech (⾳声合成) NLC (⾃然⾔語分類) NLU(⾃然⾔語理解) Discovery(AI検索エンジン) Assistant(チャットボット) 等 Language Translator (翻訳) Watson Studio (モデル開発環境) AutoAI (モデル⾃動構築ツール) Neural Network Designer (深層学習モデル構築ツール) Experiments Builder (GPU学習環境) SPSS Modeler Flow (機械学習モデル構築ツール) Jupyter Notebook R Studio Watson Knowledge Catalog(データ基盤) 接続情報・テーブル登録 アクセス管理 データ整形 マスキング Lineage(世代管理)等 Watson Machine Learning (モデル実⾏環境) Web Service化 CLS (継続学習システム) GPU 対応FW・ライブラリ sckit-learn SPSS Spark Mlib XGBoost Tensorflow Keras PyTorch Caffe Watson OpenScale (モデル運⽤環境) 説明性 公平性 正確性 呼出しログ 性能 NeuNetS(深層モデル⾃動構築) 事前構築済みモデル カスタムモデル開発 Knowledge Studio (カスタム学習によるアノテーション) AutoAI(機械学習モデル⾃動構築)