機械学習における説明性とは? AI のブラックボックス化を回避する Explainable AI をデモンストレーション付きで徹底解説!
- Cloud
- Explainable AI
- 機械学習
本記事は、2022年4月21日に開催された Google の公式イベント「 Google Cloud ML サミット」において、 Google Cloud カスタマーエンジニアの葛木美紀氏が講演された「 Vertex Explainable AI で脱ブラックボックス〜機械学習モデルをより良く理解するには?〜」のレポート記事となります。
今回は Google Cloud (GCP)に搭載されている Explainable AI というサービスについて詳しくご紹介します。 Explainable AI は機械学習の説明性を高める役割を持っており、ユーザーが機械学習の動作をより良く理解し、利用者の信頼を得るためのツールとなっています。
なお、本記事内で使用している画像に関しては、 Google Cloud ML サミット「 Vertex Explainable AI で脱ブラックボックス〜機械学習モデルをより良く理解するには?〜」を出典元として参照しております。
それでは、早速内容を見ていきましょう。
目次
機械学習における説明性とは?
まずは機械学習における説明性について理解しておきましょう。
以下はガートナーの調査結果を示しており、機械学習に関わる企業担当者の約 80 % が「わからないことへの不安」が AI の価値にマイナス影響を与えていると答えています。
例えば、ディープラーニングにおける画像分類やスパム検知のモデルを作成して高い精度が出たとしても「なぜそうなったのか?」という理由や仕組みが理解できず、そのデータを信頼することができない、ということです。
また、機械学習の説明性を求めるモチベーションは担当者の役割によって異なります。以下、役割ごとにその人が求める機械学習の説明性を図で示します。
このように、一口に「機械学習の説明性」と言っても担当者の立場や役割に応じて求める内容は多岐にわたります。そこで、これらの各ユーザーが抱える問題に対処するために Google は Explainable AI の提供を開始しました。
Explainable AI とは?
概要
Explainable AI は機械学習の説明性を高めてユーザーが機械学習の動作をより良く理解し、利用者の信頼を得るためのツールとなっており、 Google が提供する機械学習系プロダクト群「 Vertex AI 」に内包されています。
Explainable AI を活用することで、ユーザーは特徴アトリビューションを生成することができます。特徴アトリビューションとは、機械学習モデル全体および特定の予測結果について特徴量の重要性を表示するものです。
また Explainable AI は、
- Vertex AI Prediction
- AutoML
- Workbench
など、様々な AI プラットフォームサービスに対応しています。さらに、複数の ML フレームワークやオンラインおよびバッチ処理のユースケースからの表形式や画像、テキストモデルなどをサポートしており、フルマネージドかつサーバーレスで高速にデータを処理することが可能です。
例えば、下図を見てください。画像や表形式、テキストなど、様々な形式のデータが並んでいます。
そして、各形式に適した ML タスクを実行することで、これらのデータから特徴アトリビューションを抽出することができます。
このように Explainable AI を活用することで、様々なデータから予測結果に関する特徴量の重要性を表示することができ、機械学習の説明性を高めることが可能になります。
特徴
以下、 Explainable AI の4つの特徴をまとめます。
Explainable AI は堅牢性や柔軟性、シームレスな連携など、様々な特徴を持っています。また、マネージドかつサーバーレスで提供されており、迅速なセットアップや高速なデータ処理が可能になる点も Explainable AI の大きなメリットだと言えます。
上図の一番左側には、
- Sampled Shapley (サンプリングされた Shapley )
- Integrated Gradients(統合勾配)
- XRAI
と記載がありますが、 Explainable AI ではこれら3つの堅牢な特徴アトリビューション方式を提供しており、いずれも Shapley という値に基づいています。
ここからは Shapley について詳しく見ていきましょう。
Shapley とは?
Shapley とは SHapley Additive exPlanations の略であり、機械学習モデルの出力を説明するためのゲーム理論的アプローチです。ゲーム理論の古典的なシャープレイ値を利用して、最適な貢献度割り当てを計算します。
例えば、 A 〜 C の3人の営業マンで構成されるチームで合計4米ドルの売上があると仮定します。
3人の能力やスキルはバラバラであり、仮に全員が単独で活動した場合は以下のパフォーマンスとなります。この時、3人がチームで動いたとしたら各メンバーにどのように振り分けを行えば良いのでしょうか?
このような問題を解決するためには「増分貢献」という考え方を採用します。
例えば、 A さんと B さんの2人のチームで合計4米ドルの売上があった場合、 B さん単体では1米ドルの売上であるため、 A さんの増分貢献は「4-1」で + 3米ドルとなります。逆に A さん単体の売上は2米ドルであるため、この場合の B さんの増分貢献は「4-2」で + 2米ドルとなります。
この増分貢献をすべてのメンバーの組み合わせでマトリクスにしたのが以下の表です。
一番左のセクションは1人ずつ単体で行動した場合であり、真ん中のセクションは2人がチームとして行動した場合です。そして、一番右のセクションは3人全員がチームを組んだ場合の各自の増分貢献を示しています。例えば、一番右にある青字の2米ドルをご覧ください。これは A さんと C さんのペアで売り上げた2米ドルを全体の4米ドルから引いた金額です。
そして、これらを A さん、 B さん、 C さんの各自の出現順序ごとにまとめたものが以下の表です。
先ほど、 A さんと C さんのペアで2米ドルを売り上げて、そこに B さんが加わることで合計4米ドルの売上になる、という例をご紹介しましたが、これは表の上から2番目の部分に該当します。出現順序は「 A > C > B 」となっており、 B さんの貢献度は2米ドルと記載されています。
同様にこの表の数字をすべて埋めて各自の平均値を取ったものが一番下の Shapley Value になります。なお、今回はわかりやすくするために C さんの貢献度を0としています。
以上が Shapley 値の計算方法です。この Shapley を活用することで最適な貢献度割り当てを計算でき、機械学習モデルの出力を説明することが可能になります。
使用する特徴アトリビューション方式の選び方
先ほど、 Explainable AI の特徴アトリビューション方式について触れましたが、具体的にどのように使い分ければ良いのでしょうか?
以下、サンプリングされた Shapley と Integrated Gradients (統合勾配)および XRAI の2つに分けて、それぞれのメリットデメリットを表にまとめます。
特徴アトリビューション方式 | メリット | デメリット |
---|---|---|
サンプリングされた Shapley | ・任意の入力で動作可能 ・入力値の貢献度を計算 ・表形式のモデルにフィット |
・計算上より高価 ・画像モデルには適していない |
Integrated Gradients (統合勾配)および XRAI | ・計算がより効率的 ・画像モデルでうまく機能 ・視覚化のためのいくつかの拡張機能 |
・勾配爆発(勾配が無限値になってしまう) ・微分不可能なモデルでは勾配が計算できずに機能しない |
このように、特徴アトリビューション方式ごとにメリットやデメリットは異なるため、自社の状況に合わせて最適なものを選択することが重要なポイントです。
Explainable AI のデモンストレーション
家賃の予測
ここからは家賃予測のユースケースにおいて、 Explainable AI がどのように使えるのか?をデモンストレーションでご紹介します。
まずは houseprise というモデルを確認してみると、評価指標の下に Feature Importance という特徴量のアトリビューションが表示されており、 YearBuilt (築年数)や KitcheQual (キッチンのクオリティ)など、不動産に関する要素が並べられています。
次に「デプロイとテスト」のタブでオンライン予測の画面を開き、デフォルト値が入力されている状態で最下部の「予測」をクリックします。
そして、予測を実行すると画面右側に予測結果が表示されます。
また、各項目の値を入力することで、その内容に応じて予測結果が変化します。例えば、 LotArea と YearBuilt の値を増やした場合、「ローカル特徴量の重要度」に数値が入力され、予測結果の値が高くなったことがわかります。
これらの結果から「広さが大きく築年数が浅いほど家賃は高くなる」という予測を導き出すことができます。逆に LotArea の値を小さくすれば、ローカル特徴量の重要度にはマイナスの値が表示され、予測される家賃は安くなります。
このように、構造化データの Explainable AI では数値で特定アトリビューションを表示することができます。
画像の分類
次に画像分類のユースケースで Explainable AI のデモンストレーションを行います。
下図は、花の種別を識別するための画像分類モデルをトレーニングした結果です。
次に「デプロイとテスト」のタブ最下部にある「アップロードと説明」をクリックします。すると、画像をアップロードしてその場で予測結果を表示することができます。
今回はチューリップの画像で予測を実行しましたが、下図右側を見ると 100 % チューリップであると予測されていることがわかります。
そして、上図のチューリップの画像を良く確認すると、花びらや茎の部分が緑色になっていることが見て取れます。これは画像分類における予測の説明性を示しており、この部分を根拠として画像をチューリップだと判断していることになります。
このように、 AutoML を利用してコンソール上から説明性を参照することができますが、これはカスタムで自分自身がトレーニングしたモデルにも対応しているため、様々なシーンで効果的に使うことが可能です。
不正取引の検知
ここまでは AutoML での Explainable AI の使い方をご説明しましたが、実は Explainable AI は BigQueryML でも利用できます。
今回は不正取引があったかどうか?を示す銀行データをサンプルとして使用します。
上図では、不正か否かを示すフラグである is_fraud や取引額を示す card_transactions_amaount 、取引場所から預金者の自宅までの距離を示す card_transactions_amaount_transaction_distance などの項目があります。
このデータで CREATE OR REPLACE MODEL という SQL 文を使い、 logistic 回帰で「不正取引か否か?」というフラグを予測する分類問題としてモデルをトレーニングしました。
そして、トレーニングした結果をクエリしたものが下図になります。
ここでは、先ほどトレーニングしたモデルを設定しており、その下にテストデータとして transaction ID や取引額、そして自宅からの距離などのデータを指定して予測を実行します。
下図の一番上の行が true となっており、これは取引額が大きい、かつ自宅からの距離も遠く、取引時間も深夜のため、怪しい取引データだと考えられています。ここでアトリビューション値を見てみると取引時間が 1.5658〜 となっており、取引額もプラスの値を示しています。
そして、これらの値を総合して算出される prediction_value の値が一定の数値(ここでは「3」)を超えたため、不正取引を示す true を表示している、という仕組みです。
逆に不正取引ではないと思われる場合はアトリビューション値がマイナスの値を示し、 prediction_value が 3 を超えることはありません。このように、 BigQueryML でも説明性を確認することができます。
Explainable AI のユースケース
最後に Explainable AI のユースケースをご紹介します。
イギリスの Moorfields という眼科病院では、白内障手術に必要な時間の長さを予測するモデルを AutoML で作成しています。
これにより、手術をより効率的にスケジューリングできるようになり、白内障手術時間の予測精度を 33% も向上させることに成功しました。また、予測精度の向上はスケジューリングの効率化だけではなく、リソースに制約のある環境で手術を行う場合のコスト削減にも大きく寄与しています。
このユースケースでは、 Explainable AI によって機械学習の専門知識がない現場のスタッフでも予測結果を正しく解釈することができ、さらには医師が患者の状態と手術時間の相関性を把握するための理解にも役立っています。
本事例は Google Cloud 公式ブログでもご紹介していますので、関心のある方はぜひご覧ください。
Explainable AI に関する Q&A
Q. Shapley と統合勾配の使い分けを教えてください
A.Shapley はテーブルなどの表形式データの処理に適しており、統合勾配は画像データの処理に適しています。このようにデータのフォーマットで使い分ける方法がオススメです。
Q.Explainable AI の他の事例はありますか?
A.社名はお伝えできませんが、海外の EC サイトで不正取引がないか?をチェックする目的で利用されています。
Q.Explainable AI は AutoML Forecasting に対応していますか?
A.現状は使えませんが将来的には対応する予定です。今後のアップデートにご期待ください。
Q.AutoML Tables の画面で特徴アトリビューションを見る方法がわかりません。モデルの評価画面と予測画面で見える結果は何が違うのでしょうか?
A.モデルの評価画面では「モデル全体で各特徴量がどれくらい影響しているのか?」という平均値のようなものが結果として表示されます。一方、予測画面では「その予測に使った入力値がどのように影響しているのか?」という極地的な貢献度を測るようなものが結果として表示されます。
まとめ
今回は Google Cloud (GCP)に搭載されている Explainable AI というサービスについて詳しくご紹介しました。
機械学習の大きな課題として「わからないことへの不安」が挙げられますが、 Explainable AI を活用することで機械学習のブラックボックス化を防ぐことができ、機械学習における説明性を高めることが可能になります。
これにより、機械学習に対する信頼感が高まり、より効率的かつ積極的に AI や機械学習を自社の業務に取り入れることができます。データのビッグデータ化が進み、機械学習の重要性が叫ばれている現代において Explainable AI はとても有効なソリューションであると言えるでしょう。
なお、 Explainable AI は Google Cloud (GCP)に搭載されているサービスであり、 Explainable AI を利用するためには Google Cloud (GCP)の契約が必要です。
Google Cloud (GCP)には Explainable AI 以外にも様々な AI 関連サービスが搭載されているため、あらゆるシーンで自社の AI 活用を促進してくれます。本記事を参考にして、ぜひ Google Cloud (GCP)の導入を検討してみてはいかがでしょうか?
弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。
Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!
Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。
メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!