Python
ディープラーニング
AI
人工知能

「AIで〇〇したいんだけど」の相談前に確認してほしい3つのこと

はじめに

みなさん、こんにちは。
株式会社キカガクの代表取締役の吉崎です。

今回のテーマは「AIで〇〇したいんだけど」という相談についてです。

1か月ほど前に書いた「機械学習を使った事業を成功させるために必要な考え方や人材、フェーズとは?」という記事に多くのいいねをいただき、このあたりの内容にご納得いただけたようで、とても嬉しいです。

そして、今回のテーマで扱う「AIで〇〇したいんだけど」という相談について一概に否定するわけではないのですが、基本的には何もわからないからとりあえず話を聞かせてほしいという文脈の相談が多く、こちらとしても解析に使う時間などを削って相談に乗っているので、何もないと何の時間だったの...と思うわけです。

そこで、今回は1人分の相談に乗れる時間を使って、こういったことをすでにクリアしているのであれば、さらに相談すると実りがありますよという線引きをしておきたいと思います。

それでは、私が感じる相談前に確認してほしい3つのことは以下の通りです。

  • 人間を超えるAIという幻想を抱いていないか
  • AIなしでもビジネスが成り立っているか
  • 必要なデータの形を知っているか

人間を超えるAIという幻想を抱いていないか

この相談内容でよくあるものとして、人間にはできていないから、人間を超えると言われているAIで解決したいということがあります。
確かに、AlphaGoでは囲碁で人間に勝ちましたし、最近では人間を超える結果を残すAIも登場しています。

ただし、これは限られた環境の中での話であって、すべての状況においてAIが人間を超えているわけではありません。

AIには汎用型AI特化型AIがあります。
前者はドラえもんのように人間から与えられた情報を収集しながら処理を行い、その情報をもとに成長していくような人間にとって理想的な存在のAIです。
そして、後者は人間が与えた教師データをもとに、その手順を限られた環境下で再現できるような規則性を見つけるようなAIです。

ビジネスの現場で使われているAIはほとんどが特化型AIです。
この特化型AIでは人間が与える教師データを答えとして学習するため、基本的には人間を超えることはありません。
処理速度などという観点では人間を超えることはあるのですが、回答の質という意味では模倣するだけであるため、人間と同じ性能が出せれば万歳というものです。

またAIでは学習推論の工程がありますが、これを知らない人を今でもよく見かけます。

学習では、人間が与えた教師データに基づいてその規則性を見つけていきます(教師なし学習というものもありますが、ひとまず置いておきましょう)。
この例でいうならば、与えられた画像が「佐藤さん」か「鈴木さん」かを分類するのですが、AIでは最初からこれが佐藤さんか鈴木さんか知っているはずもないので、これは人間が教師データとして手作業で準備する必要があります。

00.png

そして、学習を終えてある程度良い精度で予測できるような学習済みモデルが出来上がれば、これを用いて推論を行うことができます。

00_1.png

サービスで使っていく場合にはもちろん推論の工程から活用が開始できるのですが、AIは最初から学習なしでも推論から始められると思っている人が意外と多いのです。

こんな話をするとないないと思うかもしれませんが、
即導入できるチャットボットが欲しい
という要望を聞いたりすることがあり、まさにこの例です。

AIを作る場合は部下を育てるようにとよく言うのですが、まずは教師データを作りながら、根気強く人間がAIに教え込んでいく必要があります。
「なんだAIってそんなものか」
そう思った方は、AIを使わずにビジネスを成り立たせることをお勧めします。

ただし、AzureのCognitive Servicesなどで提供されているのですが、学習済みモデルが提供されており、提供されている限られた用途でよければ、推論から始めることもできます。
AI初心者の方にはまず使ってみるという点で、このような学習済みモデルを使ってサービスに活かせないかというところから調べてみましょう。

  • Azure Cognitive Services
  • IBM Watson
  • GCP Cloud Visionなど

AIなしでもビジネスが成り立っているか

こちらに関しては、前回の記事でも大きく触れているところでした。
参考:機械学習を使った事業を成功させるために必要な考え方や人材、フェーズとは?

詳しくは上記の記事を読んでほしいのですが、AIありきでないと成立しないビジネスモデルを成り立たせることは苦労すべき点が多いです。
AIに関して知見のある人が取り組んでもビジネスとして成り立たないことが多いということは、AIに関してほとんど知らない人が成り立たせることはさらなる難しさがあるわけです。

上記の記事で紹介しているパターンAのビジネスモデルとなれるように考え、そして、精度100%が出ない場合での運用側のカバーを考えてみてください。
AIの活用はその点でのアイディアが見えていて、はじめてスタート地点に立てるはずです。

必要なデータの形を知っているか

AIと一言で言っても、ほとんどの場合は機械学習を指していると思います。
そして、この機械学習はありとあらゆるものをなんかいい感じの結果を得られるブラックボックスではなく、決められた入力から決められた結果が得られる程度のものです。
そのため、すでに用意されている状況下でしかパフォーマンスを出すことができません。

この機械学習を活用したいという場合には、どのような手法があり、その手法を使うためにはどのようなデータの形をしておかないといけないかを覚えておきましょう。
その手法や形を覚えておくために、ここではいくつかの代表的なものを紹介していきます。
さらに詳しくは下記の本などがおすすめです。

参考文献:大学4年間のデータサイエンスが10時間でざっと学べる

教師あり学習

ビジネス活用されている代表的なものが教師あり学習と呼ばれる入力となる変数と教師データとの関係性(規則性)を見つけて、その規則性に基づいて新しいサンプルに対する予測をおこなうものです。
そのためには以下のようなデータの構造になっている必要があります。

01.png

「データは大量にあるんだけど」という相談も多いのですが、たいていのケースは入力変数となるデータが溜まっているだけであり、教師データと紐づけて蓄積されていることがありません。

教師なし学習

教師なし学習ではマーケティングによく使われるクラスタリングを代表的なものとして、入力となるデータだけで学習を行います。

02.png

教師データのように答えのない中、何を予測するの?と思うかもしれませんが、たとえばクラスタリングの例でみてみましょう。

03.png

クラスタリングでは上図のように、データが存在している中でどのようにグルーピングすると適切であるかと考えて、それを学習していきます。

04.png

距離情報(遠い近いを定量評価)に基づいてクラスターと呼ばれる塊を作ります。上記ではわかりやすいように丸で囲んでいますが、厳密には丸と丸の間のゾーンに新しいサンプルが来た場合には一番近いクラスターに割り当てられます。
また、今回はクラスターの数を3としていますが、答えがないため適切なクラスターの数はわかりません。
データを見ながら、またAICなどのいくつかの指標を見ながら適切だと考えられるクラスターの数を決めていきます。

そして、クラスターという単位でくくることができれば、おそらくこの同一クラスター内の人物は似ているだろうという仮説のもと、それぞれのクラスターに対する施策を打つマーケティングが行われるわけです。
この先の姿としてパーソナライズされたレコメンドがあります。

たしかに教師データはありませんでしたが、なんの根拠もなくマーケティングするよりは一歩進みそうな気配がします。
これが教師なし学習と呼ばれるものです。

レコメンド

マーケティングの次の施策として登場していたレコメンドは各個人の単位でおすすめの商品などを予測して提案するものです。
Amazonのおすすめの商品など最近ではとても身近な存在になっていると思います。
このレコメンドに関する相談も多くあります。

05.png

レコメンドの際には上記のようなデータ構造のデータセットが必要となります。
あるユーザーにお勧めの商品を提示する場合には、過去のどのユーザーがどのアイテムに対して何点をつけていたかという点数 (rating) が必要です。
それ以外にも、ユーザーやアイテムの属性情報などからレコメンドを行うこともできますが、それはさらに発展形としてここでは置いておきましょう。

レコメンドでは点数がつけられており、その点数情報を教師データとして学習するため、教師あり学習のように受け取ることもできますし、内部で属性情報が似たユーザーという距離情報に基づいたアルゴリズムも含まれるため、教師ありと教師なしの両方を駆使したものだと思っています。
そのため、別の枠組みで紹介していました。

ツールで簡単に実装できる時代

これまで回帰や分類の教師あり学習、クラスタリングなどの教師なし学習、レコメンドと紹介してきましたが、それではこれらのデータの構造を理解し、蓄積ができていても難しいプログラミングが次の壁として待っているのでしょうか。
それが、最近では、ツールを使って簡単に機械学習のモデルを構築できる時代になっており、たとえば、Azure Machine Learning Studioでは下記に示すように、GUIでポチポチと組んでいくだけでノンプログラミングで実装ができます。

06.png

もちろん実際にシステムへ組み込んでいく際にはエンジニアの方の手助けは必要になってきますが、簡単な仮説検証程度であればプログラミングなしでもどうにか行うことができるようになっています。

AIがこれから事業化されていく世の中になるためには、

  • AIが使えるデータ構造を理解し
  • まずはAIなしでビジネスを成り立たせながら
  • AIで使えるデータを蓄積し
  • データが溜まったタイミングで解析を行い
  • エンジニアと協業しながらサービスの改善に取り組めるような人材

が必要とされているのではないかと思います。
本記事がその最初のステップになることを願っています。

まとめ

「AIで〇〇したいんだけど」の相談前には

  • 人間を超えるAIという幻想を抱いていないか
  • AIなしでもビジネスが成り立っているか
  • 必要なデータの形を知っているか

の3つをクリアしてから相談しましょう。

そして、この知識という文脈では話さなかったのですが、相談相手へのお返しもちゃんと考えましょう。
「とりあえず相談させてほしい」と連絡が来て相談に乗るも、AIについて話して結局何もなく、時間だけ奪われてしまうことも少なくありません。

相談するための最低限のレベルになっていること、相談する相手への配慮を忘れないこと。

AIが登場する以前に当たり前のことですが、その当たり前を忘れず、ビジネスを発展させ、産業を盛り上げていきましょう。
資源の少ない日本だからこそ、情報という資源をうまく活用できることが、日本の産業を盛り上げられるチャンスだと思っています。

技術を事業化していくことは大変ですが、お互い頑張っていきましょう。

もし記事の内容を気に入っていただければ、いいねをいただけると嬉しいです。

ご一読いただき、ありがとうございました。

著者

株式会社キカガク
代表取締役社長 吉崎亮介

Twitterでのフォローをお待ちしています。
@yoshizaki_kkgk