見出し画像

『AI vs 人』 人って精度100%なの?正しい正解って?

ちょっと誤解の生む表現かもしれませんが、今回は人の精度ってそんな高いのか?、そもそも精度評価する上での正しい正解って何なのか?という話です。いろんなセミナーとかでも『AI vs 人』の議論が不毛なんだよねという話は良くしていますが、そもそも人の精度が100%という前提でのことが多く、それっておかしくないかなとかれこれ5年くらい思ってます。

AIの活用方法として、なんらかの業務を自動化するというプロジェクトは我々の会社でもよくやっています。何なら全体の7〜8割はそういうプロジェクトなのではないかと思います。理由はおそらくAI導入後の費用対効果の算出が可能だから(予算化しやすい)というものなのではないでしょうか。「今10人でやっている業務が1人になる」、こうしたAI導入はコスト削減、働き方改革などどれをとっても良いことばかりです。これはRPAなどの導入でも同じことが言えるでしょう。

ただ、こうした現在人がやっている業務の自動化の際に、必ず壁となるのが「精度」の話です。

「AIの精度も99.9%以上でなければ困る」、「人と同じ精度でなければ困る」、そういった話は私がこの業界にいる6年ほどの中で毎回のように言われることです。そして前者のような事を言う方に「何故99.9%以上なのか」を尋ねると「今が100%であり、理論上AIで100%は難しいと考えているから99.9%」と回答されることも多く、結局後者で書かれている「人と同じ精度」つまりは「人の精度は100%」なのでそれをAIで実現して欲しいということなのです。

ここで疑問が生まれます。「人の精度は本当に100%なのか」、そして「そもそも精度とは何なのか」ということです。

有名なデータに画像認識の国際的なコンペティションのAIのエラー率のデータがあります。この大会は2010年から開催されておりDeep Learningによる革新を世の中に広めたものとも言えます。
そのコンペティション優勝チームの画像認識エラー率の推移と人間(Human)のエラー率を載せたものが下記です。
(引用元 https://www.ipa.go.jp/files/000050258.pdf)
ちなみに2016年以降は更にAIは進化してます。

スクリーンショット 2020-08-07 9.40.48

これをみてわかるように人も5.1%程度間違えることがあるということです。そう考えると「人と同じ精度を目指す」ということはこのデータで言えば「精度95%を目指す」というくらいが適正なのかもしれません。

次に「そもそも精度とは何なのか」、違った言い方をすれば「そもそも『正しい』とは何なのか」。

よくDeep Learningなどを実装する際に、アノテーション(ラベル付け)の作業をします。(例えば写真1枚1枚に対して、そこに何が写っているのか人間が入力する、コンピュータに教える準備をするイメージです)
そしてコンピュータに学習させて自動で何かを認識してくれるAIができ、その精度を検証するために、精度検証用のデータを事前に準備しておき、そのデータを使ってAIがどんな判定をするか、そしてその判定と事前に人がアノテーションした結果を見比べて精度がどれくらいかを確かめるという事をします。

よくあるケースとして、精度が80%も出なかったといった場合。。。

お客様からはがっかりした声が出ます。我々も残念です。しかしながら本当にアノテーションした結果が正しいのか、精度評価する上での正解って何なのか、疑問が生まれます。
なので、前回アノテーションしたデータを同じ方や別の方に再度アノテーションしてもらいます。そうすると全く違ったアノテーション結果になる、こんなことが多発しています。

何故、こんなことが起こるのか、いくつか原因は考えられます。誰がやるかによって差が出たり、日や気分によって判断が変わったり、基準が曖昧だったり。。。
とにかく言えることは上記のような場合、良い精度検証が出来ないだけでなく、そもそも良い学習も出来ないのでよく分からないAIが生成されてしまいます。

スクリーンショット 2020-08-07 9.54.43

個人的に最近上記のように整理しています。
判断基準の明確さによって、AI(コンピュータ)が介入できるかどうかが変わってきます。よくDeep Learningはこの図で言うと下の方へ行けば行くほど効果を発揮するとも言われます。確かにそうなのかもしれないですが、そもそも基準が曖昧ということは「正解が曖昧」ということであり、良い学習や正しい精度評価は出来ない可能性があるのです。

KICONIA WORKSでは最近、正解(と言われているor思われている)ラベルがついていても、それをそのまま学習したり評価に使うのではなく、いくつかサンプリングして再度アノテーションをしてもらったりして、上の図のどこに当てはまるのかを考えるようにしており、その結果から目標精度を考えるようにしていますし、それをお客様に納得いただくようにしています。つまり人でも精度(基準)が100%でないのに、その人間の判断を学習させたAIに精度100%を求めるのは無理ですし、そもそも基準(答え)が100%明確でなければ精度も正しく出せないのです。

じゃあ基準が曖昧なものをAIで自動化させることはできないのか?

実現する方法は2つあると考えています。
1つはAIにあり得ない精度を求めないこと(人の精度が悪い事を認めること)
2つ目に出来る限り質の高いアノテーションを実施すること

1つ目は書いてある通りです。人でも毎回完全に正しい判断できてないのだから、そのデータで学習させたAIもそれくらいの精度であり、重要なのは自動化することであると腹をくくれるかということです。また、人も間違えるという現状のオペレーションを理解してもらうことが重要です。

2つ目は少しテクニカルな話です。
正解の基準が曖昧なのであれば、アノテーションを同じデータに複数人に実施してもらい、その結果を多数決や統計的に尤もらしい結果を抽出するなどして複数人の判断の一番確からしい値をラベルとして採用することです。

スクリーンショット 2020-08-07 12.15.49

この2つを使えば、もしかしたら現状の人手による作業よりも高精度なAIで自動化が可能かもしれません。

よくAIに期待しすぎない方がいいという話がありますが、その前に「人の判断が常に同じか?」という事を考えなくてはならないのかもしれません。
そもそもの『正しい』とは何なのか現在それがどの程度人によって正しく遂行されているか。

この記事が気に入ったらサポートをしてみませんか?