2017年8月1日火曜日

AI:機械学習とディープラーニング

2016年3月、Google傘下の人工知能(AI)会社であるDeepMindの「AlphaGo」が囲碁でトッププロ棋士に勝利しました。少し前までは囲碁でAIが人に勝つまで発展するには、まだ10年以上かかると言われていたことから、この結果は世界の注目を集めました。私も新聞記事で読んだ記憶があります。

また最近では囲碁のほかに将棋でもAIは急速に進歩し、プロの棋士に勝利するまでになりました。

指し手の組み合わせ(パターン)が、囲碁では10の360乗という膨大な組み合わせ、同様に将棋では10の220乗になるといいます。それではこのような膨大な組み合わせの囲碁や将棋について、どのようにコンピュータが学習してプロ棋士に勝利したのでしょうか。

これらの背景には、ここ数年、いや2~3年におけるこのAIの急速な進歩・発展があり、AIに「学習」させる技術の進化があるといえるのではないでしょうか。
最近、AIとして注目される「学習」させる技術としては「機械学習」と「ディープラーニング(深層学習)」があります。

機械学習とディープラーニング

では機械学習とディープラーニングはどういうものなのでしょうか。
まず2つの関係からいいますと機械学習の1つの分野がディープラーニングです。
その関係性をベン図でいうと最初に大きなAIの円があり、その中に機械学習の円があり、さらにその円のなかにディープラーニングの円があるという形になります。
関係性が分かったところで機械学習とは何かということですが、一言でいうと「機械学習は人がプログラムを作らない」ということです。

とはいっても、機械がいきなり情報を見て答えを出すことはできません。
機械には入力に対して答えとなる出力のセットの例を与えます。
それも大量に与えます。(大量にデータを“食わせ”ます。)
そうすると、機械は自動的に膨大なデータから学習してモデルを作ります。これが、機械学習です。
ある入力(問題)に対して出力(答え)されるモデルが作成されますが、出力結果に対して人が「どのような条件のときに、どのような答えが出力される」ということはわかりません。

次にディープラーニングですが、ディープラーニングは「深層学習」と訳されます。
機械学習では入力と出力があって、その間の関係性のモデルを作ることは前述のとおりです。
しかし、画像に何が映っているかを判断することを機械学習させようとしても、非常に難しいのが現実です。

つまり、機械学習では入力に対して出力を決めるという処理が必要になりますが、画像の場合これが非常に難しいのです。画像の明るさや被写体の大きさや向き、被写体の数など画像データに映ったものを判断できるようになるためには複雑な処理が必要となるからです。

つまり、入力データに対して出力結果が単純な処理は1段階の処理でできます。
しかし、複雑な画像が対象では1段の処理では機械学習は簡単な結果しか導き出せません。
例えば顔認証などの場合、複数の処理を重ねることにより、顔であることが認識できるのです。
これは複数の処理の層を重ねて複雑な判断をできるようにする技術で、深層学習、すなわちディープラーニングと呼ばれています。

実際のディープラーニングの最近の有名事例としては、猫の写真をコンピュータが認識したというGoogleの研究が挙げられるでしょう。
従来、人間が一目見て分かることでも何も学習していないAIには分からず、教えなければ適切な回答を得ることができませんでした。つまり、猫はこういうもの(こういう動物)です。 という答えを与えて学習する必要があります。

Googleの研究では、ディープラーニングの手法の一つであるニューラルネットワークを用いて、1週間にわたりYouTubeビデオを同ネットワークに見せたところ、同ネットワークは猫の写真を識別することを学習しました。
これは事前に「猫」のラベル付けをした画像、つまり猫がどういうものであるかを人間に教えられることなく、ニューラルネットワーク自身が、YouTubeの画像から「猫」がどういうものかを知ったことになります。
これは機械学習の自己教示学習(self-taught learning)(※1)と呼ばれるものです。

これらはコンピュータの進歩とともに膨大なデータ処理が可能になったことが大きい要因ですが、ディープラーニングを多方面で活用するには膨大なデータの処理量と処理速度が必要です。
最近の新聞の論調では、AIがあらゆるものに活用されて人間に置き換わるように言われています。よく見かける○○年後に無くなる職業といったことを目にされ不安になった方もいらっしゃると思います。
しかし、ディープラーニングを活用するには膨大なデータが必要であり、また、出力結果に対して「どのような条件のときに、どのような答えが出力される」ということはわからないという点であらゆるものが適用されるものではないと思います。

また、AIはあくまで人間が使うツールであり、これまで認識・認知できなかった事象などを見えるようにしてくれるものであるという視点に立ち、どのように活用するかを考えることが必要であると思います。

※1:ディープラーニングにおける学習方法の一つ。ディープラーニングでは、主として教師あり学習(半教師あり学習ともいわれる)が行われ、その中には最近有望視されているLadderNetworksなどがある。


データサイエンス部  奥村(株式会社アイズファクトリー