人工知能は万能ではない
人工知能のたいへんなところは、用途に合わせて知能を作り上げないといけないところです。
人工知能は自ら勝手に学習してくれるわけではなく、作りたい知能に必要な情報を十分な量だけ与えないといけません。
そうすることによって、自分が欲しい知能を持った人工知能ができあがります。
何でも解決してくれる「自分で考える人工知能」は今のところ存在しません。
将来できるのか?ということは私にはわかりませんが、学者や専門家からそのような人工知能の登場は相当先ではないか?というのが一般的な意見といえます。
自分の会社に役立つ人工知能を作る
最初から何でもできる人工知能はいないということをお話ししました。
人の代わりにある程度正確に、そして人の速度より圧倒的な速さで判断するのが人工知能です。
ところが、人の代わりをさせるためにその判断の方法を教え込むのは、かなりたいへんな作業になります。
何を教え込むのかといえば、判断するための材料を与えどのような条件で判断するのかを教え込むのです。
画像から猫を識別できるようにするなら、大量でいろいろな角度から移っている猫を数千枚、数万枚と学習させる必要があります。
猫の中でもペルシャ猫だけを判別させたいのなら、ペルシャ猫の写真を大量に読み込ませる必要があるのです。
質問に答えるチャットボット
今はチャットボットという、お客様の質問に回答するボット(ロボット)も増えています。
チャットボットは、文字で話したら文字で応答してくれるというすごく賢いシステムではありますが、実はこのチャットボットを作るにはかなり地味な作業が必要です。
それは、「こういう質問にはこういう回答を返す」というパターンをたくさん作って行くことです。
質問に対する回答を作るだけなら、どこが人工知能かと思われるかもしれません。
もし質問と回答が1対1でしか作らないならば、従来の技術でもできるかもしれません。
でも、その方法ではたとえば、「ありますか?」と「ございますか?」は同じ言葉とは判断できませんし、「今日東京に行きたいのです」と「東京に今日行きたいのです」も別の文章として扱われることにもなるのです。
ところが、音声解析の人工知能を使えば、文で解釈するのではなく、その文章で言いたいことを把握することにより、何に対する質問かを大別するので、作るべき回答は大幅に少なくなるのです。
機械学習の難しさ
上で猫を判別することについて書きましたが、たくさんの事例を学んでいくことによって作る方法を機械学習といいます。
問題を解決できる人工知能にするためには、対象の問題(上の例では猫を識別する)に即したデータ(猫の画像)をたくさん覚えさせることにより学んで賢くなっていきます。
しかし、機械学習の場合は学ばせる過程に、かなり人の知恵や手間が必要です。
どの辺に着目して分析してどう判断するということを人が考えないといけません。
これを学問的には「特徴量」というのですが、これを人間が考えて設定していたのが機械学習です。
人が考え仮の特徴量を決め、それにあったデータを提供し分析し判断します。
その結果、判断する性能が高くなければ、再度「特徴量」を決めて再計算するのです。
これが機械学習のたいへんなところなのです。
深層学習は精度が高いが大量のデータが必要
深層学習(ディープラーニング)はその「特徴量」を自分で見つけ出してくれるという点が最大の特徴です。
その結果非常に精度が上がることが期待できます。
人の能力では考えられなかったような速度や精度で判定できるようになります。
その代わり、学習のために膨大なデータが必要になってきます。
以前グーグルがアルファ碁を開発したとき、短期間に過去データを学習したという話がありましたし、またAI同士が対戦することにより学んでいったという手法もとられたことが話題になりました。
こういったたくさんのデータを取り込んで学んで賢くしていく手法がディープラーニングです。
機械学習がある程度人間の知能を加えることで精度の良い判定をしようとするのに対し、ディープラーニングを使うことで人工知能そのものが人間がやっていた「特徴量」を与えるという作業を肩代わりしてくれます。
人間がやる面倒で正確性を損なう可能性のある作業を、ディープラーニングが解決するからこそ精度の向上が期待できるのです。
そして、適切にデータを与えられるなら、高速に学習することができます。