ITmedia NEWS > 社会とIT >
ITmedia AI+ AI活用のいまが分かる

ディープラーニングは何ができる? エンジニア以外も知っておきたい注意点よくわかる人工知能の基礎知識(2/3 ページ)

» 2019年06月05日 07時00分 公開
[小林啓倫ITmedia]

 FNNは「フィードフォワード・ニューラルネットワーク」(Feedforward Neural Network)の略で、日本語では「順伝播型ニューラルネットワーク」などと訳される。この訳語から想像できるかもしれないが、FNNではデータがネットワークを構成する層の間を一方向(入力層から出力層へ)にしか流れない。前の層から次の層へと、順番に伝播していくので順伝播型というわけだ。

 一方で、RNNというニューラルネットワークが存在する。これは「リカレント・ニューラルネットワーク」(Recurrent Neural Network)の略で「再帰型ニューラルネットワーク」と訳される。再帰という言葉から分かるように、このニューラルネットワークでは「隠れ層」での処理が繰り返される。なぜわざわざ処理を繰り返すのか、それは分析対象のデータが時系列の性質を持つケースや、データの大きさが一定ではないケースを扱えるようにするためだ。

 再び「画像内に写っているのがネコかどうか判断する」という問題を例に挙げよう。この場合、入力データとして与えられるのは「静止画」で、時間の流れを考慮する必要はない。いまネコが写っている写真が、次の瞬間にタコが写っている写真になり、そのまた数秒後には……などと考える心配がないからだ。その場合はデータが順番に処理され、各層を1回だけ通って出力へと至るFNNで判定させても問題はない。

 いまあなたはスマートスピーカーを開発中で、ユーザーからの音声によるコマンドをリアルタイムで解析したいとしよう。先ほどの画像の場合とは異なり、音声データは1つのファイルに収まっているわけではなく、ある発話がどこまで続くかも決まっているわけではない。そこでRNNの登場だ。

 RNNでは、隠れ層のある時点で行われた処理結果が、次の時点で再びインプットとして隠れ層に与えられる。隠れ層では、入力層から流れてきた現時点のデータ(この場合は発話中の音声)と、前の時点の処理結果という2つのインプットを使って処理を行い、その結果がさらに次の時点における隠れ層でのインプットとして使われる。

 それぞれの時点で出力層には分析結果が出力されるが、その内容は過去の処理結果を踏まえて変化していく。これにより、RNNでは時系列の性質を持つデータに対して、過去の文脈を考慮した形で判断を行うことが可能になり、さらに可変長のデータにも対応できるのである。

 このように、一口にディープラーニングといっても、それを実現するニューラルネットワークにはいくつかの種類が選択肢として存在する。それぞれが持つ構造や性質によって、扱える問題や得意とする問題が違ってくるのだ。そのため、いま自分がAIに何をさせようとしているのか、それに向けてどのような性質のデータを処理させる必要があるかを考えておかなければならない

 もちろんAI開発者や研究者以外の人々まで、自ら構築できるほど詳しい知識を持たなければならないわけではない。しかし「いま提案されているディープラーニングの技術は、具体的にどのような処理で判断を行うのだろうか」と関心を持つことで、目標までの道のりを縮めることができる。

ディープラーニングのブラックボックス問題

 さて、ディープラーニングを考える場合、特にそれを自社で活用することを検討している場合には「ブラックボックス問題」について理解しておいた方が良いだろう。

Copyright © ITmedia, Inc. All Rights Reserved.