概要
Google Developers ML Summit Tokyo : Human-Centered Machine Learning
本イベントでは、Google I/O 2019 で公開した、People+AI Guidebook (有志の方が翻訳してくれた日本語ドキュメントはこちら) の内容を中心に、”Human-Centered AI Products” をキーワードに機械学習を活用したプロダクトを設計するうえでいかに人間中心設計を考慮するかについて
発表について
People + AI guidebook(和訳)というものを公開しており、それの内容に関連して、人間にとって使いやつい機械学習プロダクトのUX設計についての発表でした。
なお、筆者は業務都合により残念ながら途中までしか聴講できなかったため、ここに掲載するのは前半の発表についてのみです。。。
Socially Responsible AI : Practical Challenges and Lessons Learned
メモ
-
不公平な(≒不均衡な)データを使ったAI
- データ数の不均衡さによる悪影響が意図せず発生することがある
- 機械学習を使うことで、人による判断よりも良いと思い込みがちだが、学習データによるバイアスを増幅して判断してしまうことがある
-
事例
- 顔検出モデルにおいて、学習データの不足で、肌が濃色の人種の顔を認識しない
- 顔認識で犯罪リスクの算出において、肌が濃色の人種をリスク高く算出してしまう
- 物体認識において、データ数の少ない途上国特有の物体を正しく認識できない
-
意図しないAIの問題の原因とは
- データセットに対してバイアスを認知できていない
- 機械学習外におけるユースケースに基づいたレビューが十分でない
- 因果関係への考慮が足りていない
- AIシステムが与えるへの社会的影響を考慮しきれていない
所感
社会的影響という言葉からスケールが大きい話をイメージしてしまいますが、実際問題、不均衡データでモデルを学習することが多いと思います。
自身が関わっているモデルやそのシステムが与えうる影響を、身近な問題として意識する必要がありそうです。
Fairness and Explainability in ML
メモ
-
機械学習システムについて
- データから帰納的に判断する
- 従来のシステムは人の手によって演繹的に振る舞いを記述
- 認知バイアスによって、意図せずUnFairnessが発生する
- 従来のシステムは人の手によって演繹的に振る舞いを記述
- データから帰納的に判断する
-
機械学習パイプラインにおいて、認知バイアスの発生ポイント
- データの取得
- 取得環境のバイアス
- 例:医療センサデータは技師によって設定が異なるため、正規化する必要がある
- ラベリング
- ラベラーによるのバイアス
- モデルや最適化指標の設計
- 特徴量設計
- データの取得
-
評価時の対応
- 全体評価だけでなく、テストデータを属性グループ別に評価を行う
- 十分な精度を出せないターゲットは何なのかを確認する
-
データへの対応
- 前処理でバイアスを除去する
- 特定のidentityな用語をマスキングするなど
- サンプリングを行って不均衡データを解消する
- 損失関数でバイアスを補正する
- 前処理でバイアスを除去する
-
UXによる対応
- 複数の候補があるとき、両方出せるようにデザインする
- コンテキストを加味する
- 多様なユーザに対応できるようにする
-
透明性の確保による対応
-
Data Cards
- データに対し、どのように取得したのかを公開する
-
Model Cards
- モデルに対し、使っているアルゴリズムや特徴量などの詳細を公開する
- 各グループごとにどのくらいの精度が出せるのか
-
説明可能性な手法を活用する
- ディープラーニングにおいては難しいが、画像認識の研究が進んでいる
- SHAP
-
-
- モデルをドリルダウンに分析するツール
- jupyterやBigQueryなどと連携可能
- モデル全体だけでなく、属性グループ別の評価値を確認できる
- 因果推論の分析ができる
- 似ている属性だけど結果が違うデータを比較することで、反事実データの分析
- Partial Dependence Plotsの作成
- 学習データの分布を確認できる
所感
モデル構築時に混入するバイアスへの対応策として、Model Cards(モデルの詳細を明らかにしていくこと)のような発想はあまりなかったので新鮮でした。
ただ、ユーザ側でこれらの情報を理解することは難しいという認識なので、あくまで説明責任を果たすという意味付けなのでしょうか。次の発表にも繋がりますが、モデルの挙動を理解してもらうための説明を考えることも必要だと思いました。
勉強不足でwhat-if toolについては初見でしたが、因果関係を見れるのは便利だと思いました。一度使ってみます。
Designing Human-Centered AI Products
メモ
-
AIプロダクトの設計について、People + AI guidebookで定義される要素
- ユーザニーズと成功の定義
- データ収集 + 評価
- メンタルモデル
- 説明 + 信頼感
- フィードバック + コントロール
- エラー + 上手な失敗
-
ユーザニーズと成功の定義
- ユーザの持つ問題の内、AIで対応するべきものはどれか
- AIが満たすべき性能は何か、どのような指標を最適化すればよいか
-
データ収集と評価
- 必要なモデルに合わせて取得すべきデータの対象や変数、ラベルを定義する
- ユーザのニーズとデータのニーズは対応する
- 対象ユーザとそのニーズ - モデルの入出力や学習方法 - 必要なデータ
-
メンタルモデル
- サービスに対するユーザの期待値を適切に保つ
- オンボーディングの中で、モデルの仕組み(アルゴリズムや使っているデータ)を明らかにする
-
フィードバックとコントロール
- 明示的なフィードバックと暗黙的なフィードバックを適切に使い分ける
- フィードバックの内容は、本質的な要求とずれている場合があり、ユーザインタビューを併用する
- ただフィードバックをもらうだけでなく、それによる改善が与えるユーザ側のメリットを明確にする
所感
最近、サービス設計について興味があるので、機械学習をどのように活かしていくかの実践についてとても参考になりました。
取り扱ったのはUXデザインの話ですが、課題感の定義やデータの扱い方、期待値の調整の仕方など、分析によるコミュニケーションにおいても、同様のことが言えるという印象です。