すのふら

すのふら

日々の備忘録

分析モデルの説明責任の話

機械学習モデルの判断根拠の説明という、興味深い動画があったので、思ったことをメモしていく。


機械学習モデルの判断根拠の説明

www.slideshare.net


結局俺がこうあってほしいでモデルが作られる

f:id:snofra:20190118002112p:plain
「この納得感のいくモデル」ひとつを探しだそうとしているから難しいという言葉は、一度機械学習を触ったことのある人にとって、1度は思ったことなのではないかなって思う。

特に俺はプロジェクト経験として機械学習をやっているわけではないので特に思う。


モデルって(裏のアルゴリズムはある程度分かっていても)調整のパラメータって経験やカンがすごい影響するものだなって思ってる。

じゃあその経験やカンで作って精度の高いものを客先にちゃんと報告したときに理解してもらえるのか。


客先がこうあるべきなモデルが作るべき

ビジネス的な側面を見ても「だからこうである」はちゃんと提示できていないと、意味があるのかないのか判断がつかないものができてしまう。

精度が高ければ確かにいいんだけど、どんなに高くても客先が思っている「だからこうである」にヒットしなければ無駄な時間だけかけた不要なものになってしまう。


精度と信頼性をどれだけ担保するべきなのかって点を考えるべきなんだろうなって。
その担保をどうするのかって色々なアプローチのモデルを作って、モデル作成にあたっての経緯をどう説明(どのレベル感で説明)するか何だろうなと思う。

当然分析に明るい人が必ずしも客先にいるわけでもないので、そこのレベル感に合わせた説明資料は用意すべきで、その説明するためのアプローチがこの動画の内容だと思った。


多分この辺りをビジネスにしている人は当然の話をしているんだろうけど。


動画から知ったことのメモ

モデルへの信頼性

A→XXX→BとなったときにAを入れるとBになるのは分かる。

だが、XXXがブラックボックスだと、どんなに精度が高くても、なぜAをinputにしたらBになるのかが分からない。
分からないとモデルへの信頼性が不足してしまう。何故かよく分からないものは使いたくないのは当然。

それが分からないと客先(ユーザ)側が、そのモデルに正当性があるのかどうか分からない。


日本及びEUでの機械学習への信頼性

〇日本の場合
www.soumu.go.jp

f:id:snofra:20190118004225p:plain
http://www.soumu.go.jp/main_content/000564157.pdf

⑦~⑩が信頼の醸成にかかわるところ。
つまり利用者は人間の尊厳を保とう。自身をコントロールできるようにしましょう。
AIサービスプロバイダやビジネス利用者はサービスによって個人が不要に差別されないように留意しましょう。入出力は検証可能、結果の説明可能な状態とし利用者へ説明責任を果たせるように留意しましょう。

EUの場合
EU一般データ保護規則」がそれにあたる。
ja.wikipedia.org

データ主体は、当該データ主体に関する法的効果をもたらすか又は当該データ主体に同様の重
大な影響をもたらすプロファイリングなどの自動化された取扱いのみに基づいた決定に服しな
い権利を持つ。

第 2 項(a)号及び(c)号で定める状況に関して、データ管理者は、データ主体の権利及び自由並
びに正当な利益を保護するための適切な対策を実施し、少なくとも管理者側で人を介在させる
権利、当該データ主体の観点を表明する権利、及び決定に同意する権利を実施するものとする。

https://www.jipdec.or.jp/archives/publications/J0005075



どのように説明するのか

代表的な説明法

  1. 重要な特徴の提示
  2. 重要な学習データの提示
  3. 自然言語による説明
  4. モデルの可読化

説明は当然だが、「目の前にある課題」や「誰に向けた説明か」に対してどのように説明をすべきか考えなければならないので、100%これという回答はない。


説明のアプローチ

f:id:snofra:20190118010406p:plain

f:id:snofra:20190118010428p:plain

LIMEの応用例。
画像のうち何パーセントが判断に使われていたのか。判断に使用された部分だけを表示させる。(スライド27p)

influence応用例。
DataPoisoning。指定したテストデータにノイズ(何かちょっと変なデータを入れる)と結果が全然違ってくる。(スライド47p)

f:id:snofra:20190118010444p:plain


説明の手段で本当に欲しいのは

モデルひとつを作るって提示するパターンだと、相手が思っているデータの関連性にヒットしないかもしれない。

そのためいくつか作ってユーザに委ねるというのが必要なのでは。それを各説明アプローチを使用しながら提示できるようにする必要がある。