AI・機械学習を中心に

AI/機械学習/データ分析/子育て/日々の雑感

[翻訳]AIの間違いは誰のせい?

要点抜粋

  • 効果的で信頼できるAI/機械学習ソリューションを構築する方法は、そのソリューション自体にあなたを納得させること
  • 適切なデータでテストされていないAI/MLソリューションによる間違いは、それを使用した人のせい
  • AI/MLシステムの通常システムと違いは、AIには”指示”ではなく”例”を元に人の要望を教えるという点
  • 盲目的な信頼を防ぐチェックリスト
    ①テストをしないなら、信頼するな
    ②[特定の環境]においてテストをしないなら、[特定の環境]において信頼するな
    ③[特定のユーザ属性]においてテストしないなら、[特定のユーザ属性]において信頼するな
    ④[特定のデータ]においてテストしないなら、[特定のデータ]において信頼するな
    ⑤入力が異常な場合は、システムが適切なものを出力すると信頼するな。外れ値の検出とセーフティネットの使用を検討すること(人間がレビューするための異常フラグを立てる、など)
  • 安全性が確認されないツールを使用して混乱を招いたならば、それはあなたの責任です。AIは他のツールと同じ

原文

Cassie Kozyrkov氏の記事(2018/11/10)より

towardsdatascience.com

誤解しないでください。私は機械学習とAIが大好きです。しかし私はそれらを盲目的に信頼しておらず、あなたもそうすべきではありません。なぜなら効果的で信頼できる機械学習/AIソリューションを構築するための方法は、ソリューション自体にあなたの信頼を獲得させることだからです。

(この記事の多くのアドバイスは他のデータからのインサイト機械学習/AIを用いないモデルにおいても当てはまります。特に一番最後のパラグラフ)

盲目的な信頼は酷いこと

この話はロボットやSFと関係はありません。機械学習やAIは人間らしいものではなく、それは単なる便利な”モノのラベラー(ラベル付けをするもの)”でしかありません。そのかわり、それが信頼できないことは完全に別のものに起因する問題です。お馴染みの例を見てみましょう。

理想的なシーンの設定

猫の写真を2グループ(猫A、猫B)に分割する例でお話しします。驚くべき魔法のような機械学習システムによって、正確に猫を2グループに分割することに成功しました!

猫検出器?それとも冷房検出器?

新しい例(新規データ)を用いたテストは役立つと言われているので、その方法で問題があるかどうかを見てみましょう、、、どうやらこのシステムは猫Bの背景だけに常に映り込んでいた冷房を検出し、冷房があれば猫B、そうでなければ猫Aとするようです。このシステムは実は、冷房検出器であり、猫検出機ではありませんでした。

もし猫Bは常に冷房の前にいて、猫Aはそうでないなら、何の問題もありません。

しかしもし他のアパートに引っ越しをして、そのままこのシステムをつかったらどうなりますか?その場合、返されるラベルは常に猫Aになり、猫A/猫B検出器に依存するミッションクリティカルなシステムはクラッシュしてしまいます。

誰のせい?

簡単な原因追及をしてみましょう。

  • AIの一般的な問題として、ピクセル画像をラベルに変換するレシピ(モデル)は複雑すぎて、人間の頭では理解できない
  • 私が観察でいるのは入力(ピクセル画像)と、出力(猫A/猫Bのラベル)だけ
  • 私は人間なので、猫Bと冷房が常に同じ場所にあるという事実には気づかない
  • 入力(ピクセル画像)が出力(猫判定ラベル)にどのように関係しているかについての私自身の説明はあまりに単純化されすぎているだけでなく、希望的観測に基づく思考(確証バイアス)によって歪められている
  • 機械学習/AIが確実に機能する限り、どのように機能しているかを理解する必要はない
  • それが機能するかどうかを確認する方法は、これまでに見たことのない例(新データ)でどのように機能するかを評価すること

あなたは、どのように機能するか知らなくても多くのものを信頼します。例えば、私たちが頭痛を抑えるために飲む頭痛薬など。それは機能しますが、科学的にどのように機能するかは説明しません。重要なのは、頭痛薬が機能することを確認できることです。

頭痛の治療法と同じように、複雑なAIシステムについても考えてみてください。それらが機能することを確認できれば問題ないのです。さぁどのようなことが分かったでしょうか?

  • 残念ながら、動作させたい例(データ)において、希望する動作とは異なるパフォーマンスが確認された

システムが適切に適切なデータでテストされる限り問題ないのです。つまり、これは人間のせいです。

もしあなたがあるジョブに対しシステムをテストし、別のジョブにシステムを適用したならば、何が期待できますか?

学生に学んでもらいたい内容をカバーせずに授業とテストをしていたら、後で混乱が起こっても何も驚くことはないでしょう。もし私の例(学習データ)が猫A/猫Bが行ける範囲の場所におけるデータだった場合、その分類器に期待できるのはその範囲内で機能することです。もしそのアプリケーションがそれが生み出された範囲の外に適用される場合、そのアプリケーションにあまり大きな期待を寄せない方がいいでしょう。「おっと、私はそのシステムが意図された条件の外では機能しないとは知りませんでした」という言い訳は通用しません。

そのため、ゴールとユーザーを最初から思い描いておくことが非常に重要です。スペックと設定を事前に設定し、責任ある大人な人に責任者となってもらってください。

もし重要なことが懸かっているなら、無関係なデータセットをクールなバズワード(AI)に投げ入れるだけではいけません。

熟練した責任あるリーダーシップが無いにもかかわらず、そのアプリケーションに健康、安全、尊厳、将来がかかることがないことを願っています。

魔法ではない、常識的な通念です

私は「データ」の代わりに「例(examples)」という言葉を使用してきました。それらは同じものですが、これは魔法ではないということを示すためです。機械学習/AIのポイントは、指示ではなく例を使ってあなたの希望を表現することです。それが機能するために、例は関連性がある必要があります。タスクが複雑であればあるほど、たくさんの例が必要になります。あなたはおそらくその例を使って毎日コミュニケーションをとっているでしょう。ですからそれを良く知っているはずです。もしかしたらあなたは数学的理論によりAIが何か違うことをすると考えていたかもしれません。しかし、そんなことはありません。あなたの常識的な通念が最良のアルゴリズムだったのです。

もしあなたが例を用いて教えるのなら、例が良くなければなりません。
もしあなたが生徒を信頼したいなら、テストが良くなければなりません。

盲目的な信頼は酷いこと

以下のリマインダーを常に手元に置くと良いでしょう。

  • テストをしないなら、信頼するな
  • 特定の環境]においてテストをしないなら、[特定の環境]において信頼するな
  • 特定のユーザ属性]においてテストしないなら、[特定のユーザ属性]において信頼するな
  • 特定のデータ]においてテストしないなら、[特定のデータ]において信頼するな
  • 入力が異常な場合は、システムが適切なものを出力すると信頼するな。外れ値の検出とセーフティネットの使用を検討すること(人間がレビューするための異常フラグを立てる、など)

安全性が確認されないツールを使用して混乱を招いたならば、それはあなたの責任です。AIは他のツールと同じです。