ニューラルネットワークとは?仕組みや手法、AI・ディープラーニングとの違い

AIに関連してニューラルネットワークという用語をよく目にしますが、いまひとつ理解できない人も多いのではないでしょうか。ニューラルネットワークとは、人の脳神経回路を数学的なモデルにしたものです。この記事は、AIを活用したい人に向け、ニューラルネットワークの概要やAI・機械学習・ディープラーニングとの違い、技術の変遷、仕組み、手法などを解説しています。AI活用の参考にしてください。
目次
ニューラルネットワークとは?
ニューラルネットワークとは、人の脳神経回路(ニューロン)を数学的なモデルにしたものです。
AIでは、ニューロン1つにあたるものが、後ほど紹介するパーセプトロンに相当します。ニューラルネットワークは、このパーセプトロンを複数組み合わせて構成されます。それによって、人間の脳に似た複雑な情報処理が可能です。
AIのなかでのニューラルネットワークの位置づけ
ニューラルネットワークは、「AI>機械学習>ニューラルネットワーク>ディープラーニング」という関係で位置付けられています。
人の知能をコンピューターの機能で実現する試みであるAI(人工知能)の一種が機械学習です。その機械学習の一種にニューラルネットワークが位置付けられています。後ほど詳しく説明するディープラーニングは、機械学習の進化型と言われますが、ニューラルネットワークの一種でもあります。
混同しがちなのは、機械学習とニューラルネットワークの関係です。明確な違いは、機械学習が計算機科学上の方法論なのに対して、ニューラルネットワークの数学的なモデルであることです。
ニューラルネットワークの進化は大きく分けると3段階
ニューラルネットワークの進化は、多く分けると3段階です。それぞれの段階のニューラルネットワークの概要を解説します。
第1段階:パーセプトロン
第1段階のニューラルネットワークであるパーセプトロンは、単純な階層型ニューラルネットワークです。1958年にローゼンブラットによって提唱されました。
パーセプトロンは人間の脳や認識を模した画期的な試みです。しかし、線形分離できない問題を解決できないことが明らかとなり、次第に用いられなくなりました。
第2段階:マルチレイヤーパーセプトロン
第2段階(1986年ごろ)に登場したのは、パーセプトロンの入力層と出力層の間に隠れ層を入れて多層化したマルチレイヤーパーセプトロンです。
マルチレイヤーパーセプトロンは、パーセプトロンの入力層と出力層の間に隠れ層を入れた3層構造が特徴です。複雑な学習が可能になりましたが、過学習の問題と学習が収束しない問題があり、研究は停滞します。
第3段階:ディープラーニング
第3段階(2006年ごろ)に登場してAI技術のブレイクスルーを起こしたのが、ディープラーニングです。
ディープラーニングの特徴は、入力と出力の間に2つ以上の隠れ層(中間層)を挟んだことです。これにより、ニューラルネットワークが自律的に特徴を見つけ出せるようになりました。
ディープラーニングを実現できた背景には、GPUによる並列計算などにより、大量のデータを処理できるようになったことも大きく関係しています。
ニューラルネットワークの仕組み
ここでは、先に紹介したパーセプトロン、マルチレイヤーパーセプトロン、ディープラーニングについて、数学的モデルの観点から解説します。
パーセプトロン
パーセプトロンは、入力層と出力層で構成されるニューラルネットワークです。隠れ層はありません。
入力層は教師データ(人間が作成した問題と答えをセットにしたデータ)の次元と同じ数のユニットが配置され、出力層は1つのユニットで構成されます。各入力の重み係数を教師データで学習して、サンプルを分類する精度を高めるアルゴリズムです。
しかし、この方法では、非線形データを処理できない問題があります。
マルチレイヤーパーセプトロン
マルチレイヤーパーセプトロンは、入力層と出力層の間に隠れ層を入れることで、非線形データの分類が可能になりました。このニューラルネットワークには、複雑な数式を細かく分解して解を求めて最適化(微分)するステップを繰り返す、「誤差逆伝播法」が使われます。
ディープラーニング
ディープラーニングは、2つ以上の隠れ層を組み込んでいる深層ニューラルネットワーク(Deep Neural Network, DNN)という仕組みで実現されます。ReLU活性化関数による勾配消失問題の解決、Dropout法による過学習の防止など、学習手法を向上させたことが特徴です。
2012年の画像認識コンペでは、これらの技術によって、人によるプログラミングを大きく上回る精度を実現できました。
ニューラルネットワークにおける学習とは?
ニューラルネットワークを単に構築しただけで実用化はできません。ニューラルネットワークを学習させる必要があります。ここではAIの精度を高めるための学習手法を解説します。
そもそもAIにおける学習とは何か?
AIにおける学習とは、ニューラルネットワークを最適化することです。より具体的にいえば、正誤のラベル付けを人間が行うことで教師となるデータを作成します。その教師データによって重みづけを適切な値に調整することを学習といいます。
以下に、ニューラルネットワークの学習手法をいくつかご紹介します。これらを利用し、学習を重ねることで判断や推論の精度が上がり、たとえば顔認証やドローンの自動運転などが可能になります。
Dropout法
Dropout法とは、過学習を防ぎながら学習を進める手法の1つです。過学習とは過去のデータに過度に最適化してしまうことで、却って精度が低くなることです。過去データへの正答率は高くなりますが、未知のデータに対する正答率が下がる弊害があります。
Dropout法では、一定の確率でランダムにニューラルネットワークの結果を無視することで、過学習を防ぎます。
確率的勾配降下法(SGD)
確率的勾配降下法(SGD)はランダム性を取り入れた勾配降下法です。SGDは「Stochastic Gradient Descent」の略です。
勾配降下法では、勾配を求めるために誤差逆伝播法を用いますが、重みの初期値が適切でないと勾配0になり、最適化がストップする問題がありました。確率的勾配降下法はデータセットをランダムに並び替えるというシンプルな方法で、この問題を回避しています。
活性化関数(ReLU)
活性化関数(ReLU)とは、出力にバリエーションを持たせることで高度な識別を実現するために用いる関数です。ReLUは「Rectified Linear Unit」の略です。出力を変化させるとは、さまざまな特徴を持つパーセプトロンを組み合わせる、と言い換えられます。
活性化関数には幾つか種類がありますが、AI開発で用いられる代表的な関数は、ステップ関数、ランプ関数、シグモイド関数などです。
ニューラルネットワークの種類
ここでは、近年注目を集めているニューラルネットワークの種類として、CNNとRNNを解説します。
CNN(Convolutional Neural Network)/畳み込みニューラルネットワーク
CNN(Convolutional Neural Network)は「畳み込み層」や「プーリング層」などの層を、何段も積み上げることで構成されるニューラルネットワークです。日本では「畳み込みニューラルネットワーク」とも呼ばれます。
ディープラーニングのニューラルネットワークとして、特に画像処理に有効です。身近なところでは、Facebookの自動タグ機能にCNNが用いられています。
RNN(Recurrent Neural Network)/再帰型ニューラルネットワーク
RNN(Recurrent Neural Network)は、ニューラルネットワークを拡張して時系列データを扱えるようにしたものです。日本では「再帰型ニューラルネットワーク」と呼ばれます。
RNNは次に起こるデータの予測に優れているのが特徴で、特に機械翻訳や音声認識に活用されています。
たとえば、工場の機械に取り付けたセンサーに入力された駆動音を時系列で解析することで、故障を未然に警告することが可能です。
ニューラルネットワークの活用事例
ニューラルネットワークは、ますます身近に活用されつつあります。たとえば、アプリケーションに搭載された手書き文字の自動認識機能や、カメラで人の年齢・性別を認識する顔認証技術などがあります。
今後、活用範囲が急速に広がると予測されているのが「エッジAI」です。エッジAIは情報入力部(各種センサー)と解析部(AI搭載の基板)が一体化されていることが特徴です。
従来のニューラルネットワークは通常パソコン上で通信を用いて実現されるため、応答性や消費電力、サイズなどに課題があり、用途も限られていました。エッジAIなら、これらの問題の多くを解決できます。学習済みのニューラルネットワークを現場(エッジ)で処理することで、応答性の問題はクリアされ、省電力、小型化も実現しやすいからです。
「Spresense」なら、たとえば文字認識や顔認証も学習済みAIとライブラリを使うことで、比較的簡単に実装できます。
まとめ
人の脳神経回路を数学的にモデル化したニューラルネットワークは、AIの中核技術として用いられています。さらなる実用化が期待されるディープラーニングや、用途が大きく広がっているエッジAIに活用することで、さまざまな課題を解決できます。
「Spresense」は、センシングカメラやドローン、スマートスピーカーなどのIoT端末の活用に興味がある人におすすめのスマートセンシングプロセッサ搭載ボードです。省電力と高い演算能力、信頼性を両立し、カメラからの画像取り込みだけでなく複数マイクでの集音も可能です。