ITmedia NEWS > AI+ >
ニュース
» 2019年05月09日 07時00分 公開

よくわかる人工知能の基礎知識:エンジニア以外も「AIの仕組み」を学ぶべき理由 機械学習とディープラーニングの違いは? (3/4)

[小林啓倫,ITmedia]

各分野で期待が集まる「ディープラーニング」

 先ほど挙げた3つの手法は、「どのように機械にデータを与えるか」に基づく分類だった。しかし、機械学習は「データをどのように処理するのか」、すなわちどのようなアルゴリズムを使って分析するのかによっても分類できる。

 ここでは、自動運転やがんの早期発見など、各分野で活用されている「ディープラーニング」(深層学習)を紹介したい。

AI

ディープラーニングの仕組み

 いま過去のアイスクリームの売上データと、販売地点の気温のデータが存在していたとしよう。これらのデータから、「ある気温のときにアイスクリームはどれくらい売れるか」を予測したい場合、2つのデータを回帰分析という統計手法を使って分析するのが一般的だ。

 これが画像認識になると、どうだろうか。大量の画像データからネコが写っている写真だけをピックアップしたい場合、画像データをいくら回帰分析しようとしても答えは出せない。こうした問題に使われるアルゴリズムの1つが人間の脳機能を模した「ニューラルネットワーク」で、その階層を深めたアルゴリズムがディープラーニングだ。

 では、ニューラルネットワークはどのようなものなのか。「ニューラル」は「神経細胞(ニューロン)の」という意味で、ニューラルネットワークは人間の脳にある神経細胞の働きを参考に考えられたアルゴリズムだ。1957年にコーネル大学のフランク・ローゼンブラットが考案した「パーセプトロン」が、世界で最初のニューラルネットワークといわれている。機械学習の研究領域が定義される前に登場していたことになる。

 ニューラルネットワークは文字通りネットワークで、個々の神経細胞を模したノードがつながり合う構造をしている。ネットワークはいくつかの層から構成され、「入力層」「隠れ層」「出力層」の3種類がある。

 入力層は外部からのデータ(先ほどの例なら画像データ)を受け取る層で、出力層は最終的なアウトプット(ネコの画像かどうかの分析結果)を出力する層だ。その間に、入力層と出力層をさまざまな経路でつなぐ隠れ層があり、経路の構造や性質は学習で変化する。ディープラーニングは隠れ層がいくつも積み重なっており、出力層が非常に深い位置にあるので深層学習と呼ばれている。

 簡潔に言うと、ニューラルネットワークでは、機械がデータを与えられて学習していくうちに正しい出力を導き出すネットワークが形成されていく。このネットワーク内でデータがどのように扱われるかによっても、ディープラーニングの種類を分けることができるのだが、本記事では省略したい。

 そして、どうすればこの多層からなるネットワークを効率的に形成できるかや、結果の精度を上げられるかについての研究は長年行われてきた。前述の通り、ニューラルネットワークという概念自体は古くから存在していたのだが、実は隠れ層を増やした場合において、思うように精度を上げることができない期間が続いていた。

 しかし近年になり、この問題を乗り越える研究が進んだことで、ディープラーニングの性能が一気に向上する。2016年に囲碁AIソフト「AlphaGo」が韓国のトップ棋士に勝利したことも記憶に新しい。最近でも、製造、金融、医療、流通と幅広い分野でディープラーニングは活用されている。

 ディープラーニングは機械学習の一分野であるが、「機械学習を活用したアプリケーション」だからといってディープラーニングが使われているとは限らない。ディープラーニングの流行によって両者を混同するような説明がされることも多いので、注意が必要だ。

Copyright © ITmedia, Inc. All Rights Reserved.