What-If Tool:プログラムせずに機械学習モデルを見極める

  • 2018.09.12
  • AI
What-If Tool:プログラムせずに機械学習モデルを見極める

1.What-If Tool:プログラムせずに機械学習モデルを見極めるまとめ

・What-Ifツールを使うと機械学習モデルのバイアスや誤分類、パフォーマンス悪化要因をチェック
・従来は使い捨てのプログラムを書いて検証する必要があったがコードを書く必要がない
・既にGoogle内のチームで試用され、未発見のバグやパフォーマンス向上に繋がっている

2.TensorBoardのWhat-If Toolとは?

以下、ai.googleblog.comから「The What-If Tool: Code-Free Probing of Machine Learning Models」の意訳です。

効果的な機械学習(ML)システムを構築するためには多くの質問に答える必要があります。モデルを訓練し実行するだけでは不十分です。今回紹介するWhat-Ifツールを代わりに探偵として行動させて、モデルの理解を深めることができます。

データポイントの変更はモデルの予測にどのように影響しますか?私の機械学習モデルは、歴史的に疎外されてきた人々のような、マイノリティの人たちを対象にしても成果をあげる事ができますか?私のモデルをテストするために使っているデータセットの多様性は十分ですか?

これらの種類の質問に答えることは容易ではありません。 「もし?」と仮定のシナリオを調べることは、しばしば、特定のモデルを分析するためのそれ専用の一度しか使わないプログラムを書くことに繋がります。これは非効率的であるだけでなく、非プログラマがMLモデルを形成し改善するプロセスに参加することを難しくします。 Google AI PAIRイニシアチブの焦点の1つは、幅広い人々がMLシステムの調査、評価、およびデバッグに参加する事を容易にすることです。

本日、私達はオープンソースのTensorBoard Webアプリケーションに新機能として「What-If Tool」を発表し、ユーザーがコードを書かずともMLモデルを解析できるようにしました。What-Ifツールは、TensorFlowモデルとデータセットへのポインタを指定すると、モデルの出力結果を調べるためのインタラクティブなビジュアルインターフェイスを提供します。

What-Ifツールが、250枚の顔写真のセットから笑顔を検出するモデルの結果を表示しています。

What-Ifツールには沢山の機能があります。データビジュアライゼーションツールであるFacetsを使用して自動的にデータセットを視覚化する機能、データセットのサンプルを手で編集し、その変更の影響を確認する機能、単一の特徴量が変更されたときにモデルの予測がどのように変化するかを示すプロットの自動生成など。以下では、2つの機能に的を絞ってご説明しましょう。


what-ifシナリオのデータポイントの探索

counterfactuals(反作用点)
ボタンをクリックするだけで、指定したデータポイントを「モデルが異なる結果を予測する最も類似したデータポイント」と比較することができます。このようなポイントを「反作用点」と呼び、モデルの意思決定の境界を明らかにすることができます。

または、データポイントを手作業で編集して、モデルの予測がどのように変化するかを調べることができます。下のスクリーンショットでは、UCI国勢調査データセットの公開国勢調査データに基づいて、対象者が5万ドル以上を稼いでいるかどうかを予測するバイナリ分類機でこのツールを使用しています。

これは、特にアルゴリズムの公平性を分析する際に、ML研究者によって使用されるベンチマークとなる予測タスクです。この場合、選択されたデータポイントについて、モデルはその人が5万ドル以上を稼いでいると73%の信頼度で予測しました。

what-ifツールは、モデルが収入を5万ドル未満と予測したデータセット内で最も類似した人物を自動的に探し出し、2人を並べて比較します。このケースでは、年齢と職業変化のわずかな違いだけで、モデルの収入予測が反転していました。


反作用点の比較

パフォーマンスとアルゴリズムの公平性の分析
また、さまざまな数値の公平基準などの制約を考慮しており、分類時に使われるしきい値の影響を調べることもできます。下のスクリーンショットは、有名人の注釈付き顔画像からなるオープンソースのCelebAデータセットで訓練された笑顔検出器モデルの結果を示しています。

以下では、データセット内の顔が茶色の髪の毛かどうかで分けられ、2つのグループのそれぞれについて、ROC曲線と予測結果の表(混同行列)とモデルがどれくらい自信を持っているかを判断するためのスライダがあります。このケースでは、2つのグループの信頼限界閾値は、機会均等を最適化するようにwhat-ifツールによって自動的に設定されました。

笑顔検出モデルが2つのスライスのデータの性能を比較

デモ
What-Ifツールの機能を説明するために、事前にトレーニングされたモデルを使用して一連のデモを公開しています。

(1)誤分類の検出
花弁の長さなど、花を測定して得た4つの値から、花の種類を予測するマルチクラス分類モデル。このツールは、モデルの決定境界と誤分類の原因を示すのに役立ちます。このモデルは、UCIアイリス(アヤメ)データセットで訓練されています。

(2)バイナリ分類モデルにおける公平性の評価
前述の笑顔検出のための画像分類モデルです。このツールは、さまざまなサブグループにわたるアルゴリズムの公平性を評価するのに役立ちます。このモデルは、What-Ifツールがどのようにモデル内のバイアスを解明するのに役立つかを示すために、集団の特定のグループにサンプルが集中しないように意図的に訓練されました。公平性を評価するためには、全体的なコンテキストを慎重に検討する必要がありますが、これは定量的な出発点になります。

(3)異なるサブグループにわたるモデルパフォーマンスの調査
国勢調査から対象者の年齢を予測する回帰モデルです。このツールは、様々なグループ間で共通で使用されるモデルの相対的なパフォーマンスと、個々の特徴が個別に予測にどのように影響するかを示すのに役立ちます。このモデルは、UCI国勢調査データセットで訓練されています。

What-Ifツールの実践
私たちはWhat-If ToolをGoogle内のチームとテストし、このツールの価値をすぐに見出しました。あるチームは、モデルがデータセットのある特徴量を誤って無視していたことをすぐに発見し、従来は発見できなかったコードのバグを修正しました。

もう1つのチームは、最良のパフォーマンスを出すモデルと最悪のパフォーマンスのモデルを視覚的に整理し、モデルのパフォーマンス低下に繋がっていた特定のサンプルに関するパターンを発見しました。
私達は、このツールを使用して、MLモデルをよりよく理解し、公平性を評価し始めるために、Googleの社内外のユーザーをお待ちしています。コードはオープンソースなので、ツールへの貢献を歓迎します。

謝辞
What-Ifツールは、Mahima PushkarnaによるUXデザイン、Jimbo WilsonによるFacetsの更新、他の多くの人々の貢献を含む共同作業でした。このツールを試用して貴重なフィードバックをくれたGoogleチーム、及びTensorBoardチームの助力に感謝いたします。

3.What-If Tool:プログラムせずに機械学習モデルを見極める関連リンク

1)ai.googleblog.com
The What-If Tool: Code-Free Probing of Machine Learning Models

2)pair-code.github.io
What-If Tool