Re Reference AI

技術

深層学習

Deep Learning / DL

多数の層を持つニューラルネットワークを用いてデータから高次の特徴表現を自動学習する機械学習手法

機械学習ニューラルネットワーク

概要

深層学習(Deep Learning)は、多数の層(レイヤー)を持つニューラルネットワークを用いる機械学習の一分野。入力に近い層では単純な特徴(画像ならエッジや色など)を、深い層に進むにつれてより抽象度の高い特徴(物体の形状や意味的概念など)を段階的に学習する点が特徴。従来の機械学習では専門家が手作業で特徴量を設計する必要があったが、深層学習は生データから特徴表現そのものを自動的に獲得できるため、画像認識・音声認識・自然言語処理など幅広い分野で従来手法を大きく上回る性能を達成し、現在のAIブームの中核技術になっている。

背景

層を深くするほどモデルの表現力は理論上高まるが、長らく勾配消失問題や計算資源の制約により多層ネットワークの学習は困難だった。GPU計算の発展、大規模データセットの整備、正則化・初期化手法の改善が組み合わさることで、深いネットワークの学習が実用的になった。

歴史

1980年代: 誤差逆伝播法により多層ネットワークの学習理論が確立。2006年: Hintonらが深層信念ネットワークの効率的な事前学習法を提案し「深層学習」の呼称が広まる契機に。2012年: AlexNetがImageNet画像認識コンペティションで従来手法を圧倒し深層学習ブームが本格化。2017年以降: Transformerの登場により自然言語処理でも深層学習が主流に。

アーキテクチャ

単一の「深層学習アーキテクチャ」があるわけではなく、CNN(畳み込みニューラルネットワーク)・RNN・Transformerなど、目的に応じた多様な多層ネットワーク構造の総称。共通するのは、複数の非線形変換層を積み重ねる点。

ワークフロー

大量のラベル付き(または自己教師あり)データを収集 → 多層ネットワークを構築 → 誤差逆伝播法と勾配降下法によりパラメータを最適化 → 検証データで性能評価 → 必要に応じて正則化やアーキテクチャ調整を行い再学習。

コード例

多層ネットワークの定義(Keras)

from tensorflow import keras

model = keras.Sequential([
    keras.layers.Dense(128, activation="relu"),
    keras.layers.Dense(64, activation="relu"),
    keras.layers.Dense(10, activation="softmax"),
])

利点

  • 生データから特徴表現を自動的に学習でき、手作業の特徴量設計が不要
  • 層を深くするほど複雑なパターンを表現できる高い性能
  • 画像・音声・テキストなど多様なデータ形式に応用可能

欠点

  • 大量の学習データと計算資源(GPU等)を要する
  • モデルの判断根拠が解釈しにくい
  • ハイパーパラメータ調整や学習の安定化に専門知識が必要

比較

  • ニューラルネットワーク深層学習はニューラルネットワークを多層化して用いる学習手法。ニューラルネットワークはそのモデル構造自体を指す
  • GPUGPUの並列計算能力が、深層学習における大規模な多層ネットワークの学習を実用的にした

関連用語

ニューラルネットワークTransformerRNNGPU

よくある質問

機械学習と深層学習の違いは?

機械学習はデータからパターンを学習する手法全般を指す広い概念。深層学習はその中でも多層ニューラルネットワークを用いる手法のサブカテゴリ。

参考文献