AI(人工知能)の発展とともにAI(人工知能)に関する情報を得る機会が増えましたが、ニューラルネットワークなどのAI(人工知能)関連用語は理解が難しいものが多いですよね。用語の理解がイマイチなままだと、正確に情報を理解したり、そもそも調べながら情報を得ようとしたりするに当たって障害が生じるようになります。AI(人工知能)は最先端で現代社会において最重要な技術のひとつなので、そのような状況は避けたいはず。
AI(人工知能)に関連した用語でもニューラルネットワークは理解が難しい部類に入り、周辺用語も難しめのものが多いでしょう。人によっては理解が難しく、ついていけずに途中で投げ出したくなるかもしれません。そこで今回は、ニューラルネットワークについて、関連用語含めて徹底的にわかりやすく解説します。この記事を読めば、AI(人工知能)に関してさらに理解を深められること間違いありません。
最初にニューラルネットワークについての解説です。
まずはニューラルネットワークについて解説
ニューラルネットワークは現代のAI(人工知能)の中心をなす技術で、一言でまとめると、人間の脳の神経回路を模した数理モデル、といえます。より詳細にいうと、ニューラルネットワークはニューロンと呼ばれる神経細胞の人間の脳内のつながりの仕組みから着想を得たもので、この脳機能の仕組みをコンピュータ内に再現しようとした数理モデルです。つまり、ニューラルネットワークは人間(の脳)がやっていることをコンピュータにさせるための仕組みで、AI(人工知能)が高度なタスクをこなせるのはニューラルネットワークのおかげといえるでしょう。
隠れ層は入力層から受け取った情報をそれぞれの解釈をおこない、その結果を次の層へとつなげます。隠れ層が複数の層になり、複雑になったものをディープニューラルネットワークとなり、ディープラーニングはディープニューラルネットワークを使ったコンピュータの学習方法のひとつです。
次からニューラルネットワークに関連した用語を解説します。まずは分類・回帰です。
ニューラルネットワークの関連用語:分類・回帰
ニューラルネットワークの文脈での分類とは、データをカテゴリごとに分類することで、例えば電子メールがスパムなのかそうではないのか、画像に写っている動物が猫であるのか、犬であるのか、それ以外であるのかをAI(人工知能)が推測し、分類することです。分類問題で問題になるのは分析データのどこで線引きするのかであり、異常なデータと正常なデータを見分けるのに使うことができます。
対して、ニューラルネットワークでの回帰とは、分析データがどのような関係性にあるのか線(関数)で見極めることで、例えば温度変化や株価の変動、機械の故障までの時間をAI(人工知能)で予測することです。データの分布から線(関数)を導き出すには、○○関数に似ている、××関数に似ているなど、まずはもっとも近そうな関数を選んで当てはめる方法がとられ、その後より複雑な関数へと変化させます。
次に解説するニューラルネットワークに関連した用語はパーセプトロンです。
ニューラルネットワークの関連用語:パーセプトロンとは
パーセプトロンはニューラルネットワークにおいて重要な概念であり、合わせて理解しておきたい関連用語です。パーセプトロンとは人工ニューロンとも呼ばれており、複数の入力に処理を施してひとつの出力をおこなう、ニューロンのような性質をもつ、数理的なモデルになります。電気信号ではなく、数値を入力した情報として受け取るところがニューロンとパーセプトロンの違いといえるでしょう。
入力された数値の処理をおこなううえで重要な概念が「重み」と呼ばれるもので、パーセプトロン同士のつながりの強さを変化させ、情報の伝わりやすさを変える作用を持っています。重みを割り当てる処理のことを重み付けと呼び、この重み付けによって複雑な処理を実現されるとのこと。さらに、活性化関数と呼ばれる関数によって、出力する値を修飾する処理もおこないます。
続いてディープラーニングについて解説します。
ニューラルネットワークの関連用語:ディープラーニングとは
ディープラーニングをニューラルネットワークとの関係から説明すると、隠れ層をふたつ以上持つニューラルネットワークによる学習をディープラーニングと呼ぶ、といえるでしょう。通常、隠れ層が増えれば増えるほど複雑にデータを学習することが可能となり、現代のAI(人工知能)はディープラーニングを土台として複雑な処理を可能とし、スマホの顔認証も、スマートスピーカーの音声認識もディープラーニングの成果によって生み出されているとのこと。
またディープラーニングの実現には、コンピュータの機能向上と学習材料となるビッグデータ(大量のデータ)の普及が必要でした。というのも、ディープラーニングを実装するにはハイスペックなコンピュータでなければ実現できず、また学習は大量のデータなくしては成しえないからです。コンピュータ科学には理論だけでは実現できないこともあり、現実の技術の発展の必要性を表していますよね。
ニューラルネットワークに関連する用語で最後に解説するのはCNNです。
ニューラルネットワークの関連用語:CNNとは
CNNはConvolutional Neural Networkの略で、日本語では畳み込みニューラルネットワークと呼ばれる、ニューラルネットワークの一種。CNNはAI(人工知能)の中でも画像認識処理をするために頻繁に使われる学習方法のひとつで、自然言語処理にも使われることも多いです。例えばFacebookの写真の自動タグ付けやGoogle翻訳などでCNNは使われています。
CNNはニューラルネットワークの一種でしたが、他にもニューラルネットワークには種類があります。最後に、主だったニューラルネットワークについて紹介しましょう。
代表的なニューラルネットワークの種類
ニューラルネットワークにはCNNの他にRNN、DNN、LSTMがあります。
RNN(Recurrent Neural Network、再起型ニューラルネットワーク)
RNNは主に自然言語処理の分野で使われるニューラルネットワークです。中間層にループを組み込むことで前の入力を記憶し、前後の文脈から単語の意味を推測できるようになったおかげで、時系列データである自然言語の処理ができるようになりました。
LSTM(Long Short Term Memory)
RNNは構造の複雑さゆえに誤差の処理が苦手でしたが、そこを解決したのがLSTMです。LSTMは、RNNにはない情報を忘れる機能が追加されており、そのおかげで情報の必要不必要という判断ができるようになりました。このおかげで機械翻訳の精度はRNNがよく使われていたときに比べて飛躍的に向上したとか。
DNN(Deep Neural Network、ディープニューラルネットワーク)
DNNはディープラーニングにもっとも使われているモデルで、隠れ層を多層に、すなわち深く重ねたものです。以前の機械学習では隠れ層がない、または一層だけあるというものでしたが、コンピュータの性能向上などにより深く重ねることが可能となり、DNNが使われるようになりました。
さて、今回はニューラルネットワークについて、関連用語含めて徹底的にわかりやすく解説しました。今回解説した用語を一言で簡単にまとめると次のようになります。
- ニューラルネットワーク:人間の脳の神経回路を数理的に再現したモデル
- 分類:データをカテゴリごとに分けて分類すること
- 回帰:データの関係性を線(関数)で表すこと
- パーセプトロン:複数の入力に対してひとつの出力をおこなう数理モデル
- ディープラーニング:隠れ層をふたつ以上持ったニューラルネットワークによる学習方法
また、ニューラルネットワークの代表例は次の4つでしたよね。
- CNN(畳み込みニューラルネットワーク):生物の脳の視覚野から発想を得たニューラルネットワークで、画像認識技術によく使われる
- RNN(再起型ニューラルネットワーク):前の入力を記憶し時系列データの処理に強くしたニューラルネットワークで、自然言語処理によく使われる
- LSTM:RNNに情報を忘れる機能を追加したニューラルネットワークで、自然言語処理によく使われる
- DNN(ディープニューラルネットワーク):隠れ層を深く重ねたニューラルネットワークで、ディープラーニングに使われる
ニューラルネットワークのことについてしっかり学ぼうとなると、なかなか大変なように感じられますよね。しかし用語をバッチリ理解すれば、今後の理解も楽になります。今回の記事を足掛かりにして、ニューラルネットワークに関する知見をさらに深めましょう。