ニューラルネットワーク(英語: Neural Network)は、人間の神経系を模倣した、人工的な計算モデルである。ニューラルネットワークは、複数の層を持つノード(素子)からなる、複雑なグラフ構造を持っています。各ノードは、入力信号を受け取り、それらを加工して出力信号を生成することができる。
ニューラルネットワークは、様々なタスクを解決するために使用される。例えば、画像認識、自然言語処理、音声認識などです。そのようなタスクを解決するためには、大量のデータを学習させる必要がある。これは、データを入力し、それをもとにニューラルネットワークが出力を予測するというプロセスを繰り返すことで行われる。
ニューラルネットワークは、層と呼ばれる単位から構成される。各層は、複数のノードを持つ。層と層の間には、重みと呼ばれる係数がある。これらの重みは、各ノードからの入力信号を加工するために使用される。学習とは、これらの重みを最適化することを意味する。
ニューラルネットワークには、畳み込みニューラルネットワーク (Convolutional Neural Network: CNN)、長短期記憶 (Long Short-Term Memory: LSTM)、空間型多項式型ニューラルネットワーク (Spatial Polynomial Neural Network: SPNN)、など、様々なタイプがある。使用するタイプは、タスクやデータの特性によって異なる。