ニューラルネットワーク

ニューラルネットワーク (人工ニューラルネットワークまたは ANN とも呼ばれます) は、人間の脳に似た層構造内で相互接続されたノードまたはニューロンを使用して学習を行う適応システムです。ニューラルネットワークはデータから学習できるため、パターンを認識し、データを分類し、将来のイベントを予測するように学習させることができます。ニューラルネットワークは、入力を複数の抽象化の層に分類します。人間の脳と同様に、多くの例を用いて学習させることにより、音声や画像のパターンを認識できるようになります。ニューラルネットワークの動作は、個々の要素の接続方法と、その接続の強度または重みによって定義されます。これらの重みは、人工ニューラルネットワークが目的のタスクを正しく実行するまで、指定された学習ルールに応じて学習中に自動調整されます。

ニューラル ネットワークに関するよくある質問

ニューラル ネットワークは、人間の脳を思わせる層状の構造で相互に接続されたノード(ニューロン)を用いて学習する適応システムです。入力を複数の抽象化レイヤーに分解することで、パターン認識、データの分類、将来の事象の予測などを行うように訓練できます。

ニューラル ネットワークは、音声、視覚、制御システムにおけるパターン認識や分類タスクに用いられ、顔認識、テキスト翻訳、音声認識、車線分類、交通標識認識などの応用が含まれます。

ニューラル ネットワークは、訓練中に指定された学習則に従ってニューロン間の接続の重みを自動的に調整することで学習します。通常は予測誤差を最小化するように重みを最適化し、所望のタスクを正しく実行できるようになるまで学習が続けられます。

浅いニューラル ネットワークは接続されたニューロンが2層または3層しかありませんが、ディープニューラル ネットワークは多数の層(場合によっては数百層)を持ち、手動での特徴抽出を不要にするディープラーニングの用途で使われます。

一般的な代表例は、入力層、隠れ層、出力層を持つフィードフォワードニューラル ネットワーク、画像処理向けの畳み込みニューラル ネットワーク (CNN)、時系列やテキストなどの順序データ向けのリカレントニューラル ネットワーク(RNN)です。

畳み込みニューラル ネットワークは画像処理に広く適用される深層ニューラル ネットワークのアーキテクチャで、入力上でウィンドウを移動させる畳み込み層と重みを共有するノードによって構成され、画像入力を特徴マップへ抽象化します。

リカレントニューラル ネットワーク(RNN)はフィードバックループを持つニューラル ネットワークアーキテクチャで、時系列、センサー、テキストデータの時間的/順序的依存性をモデル化します。最も一般的なタイプはLSTM (長短期記憶)です。

MATLABでは、Deep Learning ToolboxやStatistics and Machine Learning Toolboxを使用して数行のコードでニューラル ネットワークを作成できます。Classification LearnerやTime Series Modelerといったアプリを使って対話的にモデルを訓練し、さまざまなハードウェアプラットフォームへ展開できます。