Re Reference AI

アーキテクチャ

ニューラルネットワーク

Neural Network / NN

生物の神経回路を模した数理モデルで、層状に接続したノード間の重み付き信号伝播により学習する

深層学習機械学習

概要

ニューラルネットワークは、生物の脳内にあるニューロン(神経細胞)の結合構造を数理的に模した機械学習モデル。入力層・隠れ層・出力層からなるノード(ユニット)の集合が重み付きの接続でつながり、各ノードは入力の重み付き和に非線形の活性化関数を適用して出力する。層を重ねる(=深くする)ことで複雑な非線形関数を近似できるようになり、この多層構造を用いた学習手法は「深層学習(Deep Learning)」と呼ばれる。画像認識・音声認識・自然言語処理など幅広い分野で中核技術として使われている。

背景

単純な線形モデルでは表現できない複雑なパターン(画像・音声・言語など)を学習するため、生物の神経系にヒントを得た多層構造のモデルが考案された。層を重ねることで、入力データから段階的に抽象度の高い特徴表現を自動的に獲得できる点が、人手で特徴量を設計する従来の手法との大きな違い。

歴史

1958年: Rosenblattがパーセプトロンを提案しニューラルネットワークの原型となる。1986年: 誤差逆伝播法(Backpropagation)が普及し多層ネットワークの学習が実用化。2012年: AlexNetが画像認識コンペで従来手法を圧倒し深層学習ブームが本格化。2017年以降: Transformerが主要アーキテクチャとして台頭。

アーキテクチャ

入力層・1つ以上の隠れ層・出力層で構成される。各層のノードは前層の出力を重み付き和し、活性化関数(ReLU・シグモイド等)を通して非線形変換する。層の接続形態により全結合層(MLP)・畳み込み層(CNN)・再帰層(RNN)・注意機構(Transformer)など多様な派生アーキテクチャが存在する。

ワークフロー

入力データをネットワークに通し出力を得る(順伝播) → 正解データとの誤差を計算 → 誤差を逆伝播させ各重みの勾配を求める → 勾配降下法で重みを更新 → 収束するまで繰り返す。

コード例

最小構成の全結合層(PyTorch)

import torch.nn as nn

model = nn.Sequential(
    nn.Linear(784, 128),
    nn.ReLU(),
    nn.Linear(128, 10),
)

利点

  • 複雑な非線形関係を近似できる高い表現力
  • 生データから自動的に特徴量を学習できる
  • 画像・音声・テキストなど多様なデータ形式に適用できる汎用性

欠点

  • 大量の学習データと計算資源を要する
  • 内部の判断根拠が解釈しにくい(ブラックボックス性)
  • 過学習しやすく、正則化やデータ拡張などの対策が必要

比較

  • TransformerTransformerはニューラルネットワークの一種で、自己注意機構に特化したアーキテクチャ
  • RNNRNNはニューラルネットワークの一種で、系列データの処理に特化した再帰構造を持つ
  • 深層学習深層学習はニューラルネットワークを多層化して用いる学習手法。ニューラルネットワークはそのモデル構造自体を指す
  • GPUGPUの並列演算能力がニューラルネットワークの大規模な行列演算の学習を実用的にした

関連用語

TransformerLLMRNN深層学習GPU

よくある質問

ニューラルネットワークと深層学習の違いは?

ニューラルネットワークはモデルの構造そのもの。深層学習は、多数の層を持つニューラルネットワークを用いた学習手法全般を指す。

参考文献