第12回 洞察・予測・最適化〜AI開発で同様のところと違うところ
シティズンデータサイエンスラボは「データサイエンスを全ての人に」を掲げる株式会社データビークル(https://www.dtvcl.com/)が運営する公式noteです。
AI開発ではどうなのか
前章ではアウトカムと解析単位というリサーチデザインの基本をもとに、「何に活かしていいかわからない」という状況で、どう考えればよいかということを説明してきました。
データ分析のような定量的な研究は、「何かと何かの違いを生んでいる原因がどこにあるかを考える」ために行なわれます。したがって「購買金額の高い顧客とそうでない顧客の違い」のように、アウトカムがよい状態の解析単位と、そうでない解析単位の違いはどこにあるのか、と考えればよいわけです。アウトカムとは可能な限り確実に長期的な利益につながる指標であり、優先して考慮すべき解析単位の特徴についても学びました。このような分析を行なえば、「解析単位の状態を変える」か「リソース配分を変える」かというアクションにしたがって利益を向上できるかもしれません。
これが分析による「データの活用」ですが、読者の中にはデータ分析ではなく、「AIへの活用」についての期待で本書を手に取られている方もいらっしゃるでしょう。
一般的な呼び方は異なりますが、「このデータに対してどのようなAIを作るか」ということを考える場合にも「アウトカム」と「解析単位」という考え方は役立ちます。AIの領域においてアウトカムは「目的変数」あるいは「外的基準」と呼ばれることが多く、解析単位にあたる表現はあまり一般的ではありませんが、「対象」と呼んでいます。
つまり、データ分析では「アウトカムがよい状態の解析単位とそうでない解析単位の違いは何か?」を考えましたが、AI開発においては「対象ごとに目的変数を正確に予測し、最適な選択肢を提示する」というように考えていきます。
また、データ分析とAIの間ぐらいの位置に「最適な選択肢を提示する」ということを抜きにして、「条件を入れれば目的変数を正確に予測し出力する」という、統計学や機械学習を応用した「予測モデル」という考え方が存在しています。
データ分析の場合と同様、予測モデルやAIの開発においてもこれら2点(目的変数と対象)を整理することが意義ある目的設定となり、「活用のためのデータ」として、解析単位や対象ごとにデータを整理することも意義があります。また、対象ごとの特徴量を網羅的に考えれば高い精度での動作につながる点も共通しています。
データ分析とAI開発で異なる「活かし方」
一方で、根本的な違いはその活かし方にあります。データ分析では過去のデータからもっともよく当てはまる説明変数とアウトカムの間の関係性を導き出します。そこから、何がどれくらい関係しているのか、ということがわかれば、前述の通り「解析単位の状態やリソース配分を変える」というアクションにしたがってアウトカムをよりよく変えていくことができます。データ分析の手法に「統計的因果推論」と呼ばれるものがありますが、その名の通り「因果関係」を適切に「推論」することができれば、その原因を改善してよりよい結果を得ることができるでしょう。たとえば現代において「喫煙すると死亡率が上昇する」という知見も統計的因果推論にしたがって得られた成果で、政府が喫煙対策に取り組めば死亡率が下がる、というアクションが考えられます。
予測モデルを作る際には、このようなデータ分析と同じ手法を使うこともあります。「もっともよく当てはまる関係性」を使えば、このまま同じ状態が続く限り正確に未来を予測できるからです。同じ手法を使っていても、その活用方法は異なります。先ほどの喫煙と死亡の例でいえば、喫煙への対策ではなく「このままの喫煙率が続くとすれば10年後に何人が亡くなるのか」といった予測に使うわけです。この予測がうまく行けば、年後に病院のベッドがどれだけ必要なのか、どれぐらいの量の薬を用意すればいいか、ということがわかります。そのことでムダなリソースを省いたり、不足して困る事態を避けたり、ということができるでしょう。これはビジネスの場面においても同様です。適切な予測モデルをつくれば、生産量や在庫、コールセンターの人員数などのリソースをムダにせず、不足もしない最適な量を考えることができるでしょう。
さらにいえば、予測モデルを作る手法では、データ分析よりはるかに複雑で、中身がブラックボックスとなるようなものも許容される、という側面もあります。データ分析では最終的に「何がどれくらい関係しているか」と人間が理解しなければなりませんが、予測モデルではとにかく予測が正確に当たりさえすればよいわけです。多少中身が複雑でブラックボックスになっていても、予測値と実際の値の間のズレが小さくなっていればよいと考えます。そのため、「データからもっともあてはまりのよいものを考える」という数学的な側面はデータ分析と同じであっても、より複雑で、統計的機械学習と呼ばれる手法が予測モデルではよく使われます。
最近のAIの発展は、こうした統計的機械学習にしたがって支えられていますが、AIすなわち人工知能というからには目的変数の予測値を正確に算出するだけでなく、有限の選択肢のうちもっとも「よい」ものを提示するところまでが含まれます。(ただし、単なる機械学習による予測モデルのことをAIとして売っている会社も見かけます。)
インターネットにアップされた1枚ずつの画像を対象に、統計的機械学習にしたがってどのような単語のラベルがつけられる確率が高いか、という目的変数を正確に予測するAIが、近年のAI研究のブレイクスルーとなりました。これによって、画像に何が写っていると判別すればよいか、という最適な選択肢を提示できるわけです。こうした技術を応用すれば、1枚ずつのレントゲン画像から、さまざまな病気に罹っている確率という目的変数を正確に予測することもできます。そこから、何の病気への警戒を表示するか、というもっとも適切な選択肢を提示するわけです。他にも「ロゴデザイン」や、「文章の翻訳」といったさまざまなものについて最適な選択肢を提示するAIが開発されています。
予測モデルやAIの価値を分けるところ
このように十分なデータをうまく使いこなせば、とても便利な道具を作れる機械学習の技術ですが、データ分析でリサーチデザインという考え方が欠如していたときと同じような問題が存在しています。リサーチデザインという考え方を知らない人が、どのような目的で何のデータをどう分析してよいかわからない、という状態に陥るという話を前章ではしました。あるいは、リサーチデザインの考え方がわかっていなかったために、せっかくのデータからナンセンスな結果しか見つけられなかった、という人もいます。
AIを開発する場合も同様で、この世にはナンセンスなAI製品がいくつもあります。私たちのところには近年こうしたものについての相談も寄せられていて「せっかく大学と協力して作ったAI製品がすこしも売れないのだがどうすればよいか」といったことも数多くあります。予測モデルについても「予測自体はうまく行っているが、コスト削減につながるわけではない」といわれることもあります。また、「開発の時点ではうまく機能したように見えたが、実際に運用するととんちんかんな結果が出てくる」といわれることもあります。
この数年で、ディープラーニングをはじめとする統計的機械学習の手法は大きく進歩し、使いやすい道具や、わかりやすい資料もたくさん生まれました。これらを活かせば何かできそう、と思うのはとても夢のある考え方で、実際にうまく活かせた人たちもたくさんいます。しかし、手法の中身やそれを実装するためのプログラムの書き方、という知恵はどんどん普及しているのに対し、実際にそれをどう活かすか、という知恵はあまり知られていません。
データ分析におけるリサーチデザインという考え方を持っている状態で「価値を生まないAIや予測モデル」の相談を多数もらった私たちは、これらに対してもリサーチデザインの考え方を応用すれば、「どのような課題に取り組むべきか」を判断できることに気づきました。
また、機械学習手法の中身について説明している資料であっても、予測モデルやAIの精度が「今後も有効に機能するようなものなのか」をどう検証するかという点についてはあまり詳しくは書かれていません。この点については統計学を用いた場合とまったく同様に、クロスバリデーション法という考え方を使えば、機械学習の精度もきちんと評価できます。こちらについても本章の後半で詳しく説明しましょう。
私たちの考えでは、多くの企業やビジネスマンにとって、機械学習技術から価値を生めるかどうかを分けるのは、手法自体の理解やそれを実装する技術力ではありません。すでに述べたようにディープラーニングであっても「便利な道具と資料が普及してきた」ために、実装自体はとても簡単になってきています。具体的にいうと、画像を認識して最適な選択肢を選ぶといった「ちょっとしたAI」なら、「活用のためのデータ」が整備された状態から、数十行ほどのプログラムを書くだけで実装できます。
GoogleのTensorFlowは、無料で商用利用できるソフトウェアライブラリですが、彼らはこの中で「直感的な短いコードを書くだけで、ディープラーニングが実装できる」という機能を積極的に開発しているぐらいです。それ故か、IT系の専門媒体の編集長に聞いたところ、AIの開発を外注できる企業は、大手から中小まで合わせるとすでに国内で100社を超えているそうです。大学の工学部サイトを調べれば、AI開発の共同研究を受け付けている先生方を見つけられるかもしれません。皆さん自身が機械学習技術を知らなくても、必要な予算を確保して彼らに対して適切な依頼をすれば、AI製品を作り上げることが可能です。
その一方で、「誰もお金を払う人がいない」AIが、この瞬間にも作り続けられています。納品時に報告されたよりも低い精度でしか、運用上機能しないというケースも起こります。
したがって、リサーチデザインに基づく「課題の設定」が適切かという点と、クロスバリデーション法にしたがってきちんと性能を評価できるかという点をクリアできる側面の方が、多くの人にとって「機械学習技術を活かす」上で重要になります。前者ができていればマネタイズに失敗するリスクは下げられ、AI開発の外注も明確にオーダーすることができます。また、後者ができていれば機械学習手法の中身はわからなくても「それが今後機能するかどうか」を正確に判断できます。
極端な話、予測モデルやAIの性能を評価するにあたり、依頼する会社の規模も、技術者の年齢や性別、学歴すら考慮する必要はありません。いくつかの課題に対し、機械学習手法を適用させて、クロスバリデーション法に基づき、どの課題にも安定して高い性能を示す人がいれば、確実に「腕利きの機械学習技術者」と判断してよいでしょう。本章ではここから、こうした「機械学習技術を活かす方法」について詳しく説明していきます。