ホーム エンジニア AI ビジネスはAIの夢を見るか〜AIがビジネスにもたらす価値〜
ビジネスはAIの夢を見るか〜AIがビジネスにもたらす価値〜
 

ビジネスはAIの夢を見るか〜AIがビジネスにもたらす価値〜

Michael SchwarzenbergerによるPixabayからの画像

はじめに

データイノベーション部所属の浅田です。

昨今、AI(Artificial Intelligence)というワードがバズワードになっています。日夜、AIに関連した記事やニュースを目にしない日はないと言っていいでしょう。

私はAI-Laboという、ビジネスにおけるAI活用を研究・支援する部署に属しています。業務的にも個人の興味的にも、そのような情報にアンテナを立てていますので、AIに関する情報を目にする機会は普通の方より多いと思いますが、そうではない、ITと直接関わりのない方々でさえも「AI」というキーワードをニュース等で目にすることは当たり前になっているかと思います。 ですが、どうしてこんなにAIという技術が注目されているのか疑問に思ったりする方もいるのではないでしょうか。あるいは、過去のAIブームをご存知の方の中には、今のAIブームが過去のAIブーム同様に一過性のものになるのではと思う方もいるのではないでしょうか。

そこで、なぜこれほどまでにビジネスにAIという技術が求められるのかを私なりに書いてみようと思います。

AI発展の歴史

AIのブームは過去二度あります。

第一次ブームは1960〜70年代に、コンピュータに推論や探索をさせようとしますが、簡単な問題(いわゆるトイプロブレム)しか解けなさそうとわかって、終焉を迎えることになります。

第二次ブームは1980年代に、コンピュータに知識をもたせることによって、専門家の役割を担わせる、いわゆるエキスパートシステムの構築を目指しました。しかし、知識を定義するのが膨大な作業で現実的でないことがわかり、終息していきました。

これらのブームの主役となったAIは、いわゆる記号主義と呼ばれるAIで、ルールを人間が定義して、その通りに振る舞わせようというものです。例えば、現代のゲームAIなどは多くの場合この技術の発展系が使われています。

それに対して、今の第三次ブームの火付け役となったディープラーニング(Deep Learning)に代表されるAIはコネクショニズムと呼ばれるAIで、人間がルールを教えるのではなくデータを与えることによってコンピュータにルールを獲得させようとするものです。ルールを機械が学習しているので、機械学習と呼ばれます。

それまでもコネクショニズムに基づくAIはありましたが、大量のデータが必要、データの保存場所も必要、それを処理できるCPU性能も必要、といった課題がありました。2000年代に入り、センサー技術やスマートフォンの普及などによるデータ獲得手段の発達、データを保存するストレージの低価格化、CPU(GPU)の高性能化などによって、大量のデータを処理することが可能になりました。また、ニューラルネットワークで層を深くした際に生じる勾配消失の問題を解決する誤差逆伝播法などが登場したことにより、今のブームを迎えます。

データ・ドリブン(Data Driven)

データに基づいて判断を行う、いわゆるデータ・ドリブンは、現代のビジネス環境において重視されつつあります。ファクトベースで状況を理解し、適切な判断をくだしていく。これがビジネスにとって重要なことは論を俟ちません。

データをもとにしてルールを獲得させる機械学習は、まさにデータ・ドリブンです。データから意思決定のための知見を得る、あるいは予測(判定)を行って迅速にビジネスを回していく。これがビジネスにAI(機械学習)が求められている一番の理由だと思います。

すなわち、ビジネスの核に近い部分にメリットをもたらすのが機械学習という技術であると言えると思います。

機械学習により得られるもの

ほとんどの場合、人間たちは、自分が望んでいることを喜んで信じる(fere libenter homines id, quod volunt, credunt.)

古代ローマの政治家ユリウス・カエサルの言葉です。

客観的に考えてるつもりでも、先入観が入ってしまうのが人間というものです。 それは固定観念であったり、偏見であったり、誤解であったり、時には希望であったり様々だと思いますが、先入観なしに物事を理解するのは難しいものです。そこで、機械学習を用いてデータから客観的な知見を獲得するのを助けることができます。

単純な例で言えば、回帰分析などは顕著な例かと思います。 回帰分析(Linear Regression)はもっともデータにフィットするよう偏回帰係数などを求めますが、その値はデータから導くもので人が設定するものではありません。ディープラーニングにしても、ニューラルネットワークがデータにフィットするような重みなどをデータから導き出します。

このように集められたデータから、データの中に潜む法則性を機械的に導き出す、というのが機械学習の根底にある思想です。

データを有効活用するために

とはいえ、大量のデータさえあれば、それで自動で機械学習のモデルが構築できて知見を得られるかというと、そう単純ではありません。

まず、第一にデータの質の問題があります。 ビッグデータの時代と言われるように、日々大量のデータが生み出されて蓄積されていますが、それらのデータが問題解決に十分なものであるとは限りません。いくら安価になったとはいえ、ストレージも無料ではないので、なんでもかんでも保存しておくわけにもいきませんし、そもそも入手すらしていないデータが問題解決に必要だということもあります。

第二に、機械学習に入力として与えるデータは何でもかんでも放り込めばいいわけではありません。オッカムの剃刀という、「ある事柄を説明する際に、必要以上に要素を仮定すべきではない」という原則は、機械学習の分野でもあてはまります。データの種類が増えれば増えるほど、機械学習のモデルが良い結果(精度)を出すために必要な学習データの量が増えていくということが知られています。なので、有限のデータ、有限のリソース、有限の時間の中でよりよい結果を出すためには、データの選別は必要になってきます。

そしてこれが決定的だと思っていますが、第三に現時点でのAIは問題設定そのものを行うことができません。いわゆるフレーム問題と呼ばれるもので、課題を解くために必要な情報はなにかということをAI自身が選択することができません。

したがって、人間がモデリングというプロセスを行う必要があります。

モデリングというプロセス

モデリングの意味するところは様々な要素を持ちますが、共通することは、観測されたデータに潜む関係を構造化することだと思います。

人間の様々な活動に共通することかと思いますが、ある事柄に熟練している人間と、それに不慣れな人間とを比較すると、目の付け所が違うな、と思うことがあります。熟練者は与えられた状況に対し、何を注意的にみればいいか、何と何が関連しているかなどを経験的に知っていて、枝葉末節よりも根幹に関わる重要な情報に着眼するからだと思います。

それと同じで、モデリングを行う際にも、どのようなデータを入力とするか、データの生成過程がどのようになっているかということを考える必要があります。

典型例で言えば、ベイズ統計モデリングが当てはまります。ベイズ統計モデリングでは、観測されたデータがどのようなファクターから影響を受けているのか、それぞれのファクターはどのようなデータ分布をもっているのか、ファクター同士の交互作用はあるかないかなどを色々考えながらモデリングしていきます。そしてそれぞれのファクターのパラメータをMCMC法などのアルゴリズムを使ってデータから学習していきます。

データの構造化は、ひいては解決しようとしている問題の構造化と言い換えてもいいでしょう。モデリングというプロセスによって、取り組もうとしている問題の構造を浮き彫りにすることができます。問題の理解が進めば、解決のための打ち手を考えられる可能性も高くなります。

上記のようなモデリングというプロセスは、一面ではデータドリブン的に見えないかもしれません。人間の「こうではないか」という仮説と、それをデータに当てはめてみて検証するという、人間的なプロセスを経るからです。ですが、人間が得意とする仮説・検証と、機械が得意とする推定・予測との両輪がそろって初めて、データドリブンというプロセスは正常に機能すると考えます。

予測に使われる機械学習

前述のような機械学習の利用法は、データ(事象)の解釈性に重心をおいた機械学習の利用法といえます。

一方、解決したいタスクによっては、事象の理解よりも、高い予測精度を確保したいケースもあると思います。例えば、CT画像から病気を発見するようなタスクを考える場合には、「ここがこうなっているから、この病気である可能性が高いと判定できる」といった解釈そのものよりも病気を発見することそのものが重要な課題になってくるでしょう。

そのような場合に、解釈性と引き換えに予測の精度を得ることに重心をおいたモデリングをすることもできます。ディープラーニングはその好例で、複雑なモデルともなるとパラメータの数は億を超えてしまうので、学習によって機械が推定したパラメータを人間が解釈するのは困難ですが、代わりに高い予測精度を得ることが可能になります。

また、モデルの精度を上げるために使用するブースティング(boosting)やバギング(bagging)というアンサンブルの手法がありますが、それなども解釈のしやすさよりも精度を優先するモデルの構築方法と言えます。

近年そのような手法の発展によって、特定の分野では人間に匹敵する(場合によっては人間を超える)精度や速度をもってタスクを処理することができるようになっています。2016年にDeepMindがGoogleのデータセンターの冷却電力を大きく削減して話題になったことがありましたが、そのようなケースを見てもわかるように、高い予測精度のモデルがビジネスに与えるインパクトは計り知れないものがあります。

データを分析するだけで終わって、ビジネス上のアクションにつなげられなければ意味がありません。機械学習という技術は、データからアクションに直接繋げられる、という点もビジネスに機械学習が求められる理由でしょう。

機械学習を支えるソフトウェアの充実により、機械学習の利用はますます促進される

ここまで、機械学習がビジネスにもたらすメリットを簡単に見てきたわけですが、それらが一部のハイテク企業に限定された話であれば、そんなことをしている企業もあるんだな、という話で終わってしまうかもしれません。

近年機械学習を支えるソフトウェア群は凄まじいスピードで進化してきました。

  • scikit-learnを使用することで、線形回帰や決定木などのアルゴリムズを数行のコードを書くことで使用できます。
  • ベイズ統計モデリングとMCMC法を用いたベイズ推定を行いたければ、stanを使用することで数十行のコードで実装できます。
  • XgBoostやLightGBMを用いれば勾配ブースティングを用いたアンサンブルによるモデルを数行で構築できます。
  • TensorflowやPytorchを用いることで、単純なニューラルネットワークであれば数行で実装できますし、複雑なニューラルネットワークも柔軟に実装することできます。

さらに機械学習の知識がほとんどなくても機械学習のメリットを享受できるようなクラウドサービスも出てきています。

これらによって、機械学習のメリットをビジネスに組み込むことは、数年前に比べれば確実に敷居は下がっています。それがデータを活用しようとする企業を後押しし、その企業が実績を出すことによってその有効性が示され、それに追随する企業の出現を促す、というサイクルを生み出していると思います。

最後に

  • ビジネス上の意思決定においてデータの有効活用を助ける
  • 人間の判断を代替し迅速にビジネス上のアクションを行える

大雑把にいえば、上記の2点がビジネスに機械学習がもたらすメリットであると思います。それらが有効であることは、想像に難くないと思います。そして、それらのメリットを享受していく企業は今後も増えていくでしょう。

とはいえ、機械学習は単なる技術でしかありません。もちろん、向いていないタスクもありますし、何よりもそれを正しく活用するためには、それなりのスキルが必要になります。そして日進月歩の分野でもあるので、それをキャッチアップしていく必要もあるでしょう。

私も、AI技術のもつ価値を信じる者の一人として、その価値を社会に提供できるよう、これからも精進していくつもりです。

記事を共有

最近人気な記事