Skip to content

ニューラルネットワークと深層学習

はじめに

ニューラルネットワークは AI 革命のエンジンです。 ChatGPT の言語理解から自動運転の画像認識まで、その裏側ではすべてニューラルネットワークが動いています。それは魔法ではなく、大量のデータから入力と出力の対応関係を「学習」する精巧な数学的フレームワークです。基本原理を理解することで、AI ツールをより上手に使いこなし、デバッグできるようになります。

この記事で学べること

この章を学び終えると、次の知識が身につきます:

  • コアコンセプト:ニューロン、層、順伝播、逆伝播の基本原理を理解する
  • ネットワークの種類:CNN、RNN、Transformer などの主要アーキテクチャの特徴と適用シーンを理解する
  • 学習プロセス:モデルがデータから「学習」する仕組みを理解する
  • 重要なテクニック:過学習、学習率、正則化などの実用的な概念を把握する
  • 発展の流れ:パーセプトロンから大規模言語モデルへの進化の道筋を理解する
内容コアコンセプト
第 1 章ニューロンからネットワークへパーセプトロン、活性化関数、順伝播
第 2 章ネットワークの学習方法損失関数、勾配降下法、逆伝播
第 3 章主要なネットワークアーキテクチャCNN、RNN、Transformer
第 4 章学習の技術過学習、正則化、ハイパーパラメータ調整
第 5 章発展の歴史と最前線パーセプトロンから GPT へ

1. ニューロンからネットワークへ

単一ニューロン

ニューラルネットワークの最小単位はニューロン(Neuron)です。これは生物のニューロンの働きを模倣したもので、複数の入力信号を受け取り、重み付き和を計算し、活性化関数を通して出力を生成します。

入力 x1 ──→ ×w1 ──┐
入力 x2 ──→ ×w2 ──┼──→ Σ(重み付き和) + b(バイアス) ──→ f(活性化関数) ──→ 出力
入力 x3 ──→ ×w3 ──┘

数式:y = f(w₁x₁ + w₂x₂ + w₃x₃ + b)

How a Neuron Works
Adjust inputs and weights to see how the neuron output changes
Input × Weight
0.5
×
0.8
=0.40
-0.3
×
1.2
=-0.36
0.7
×
-0.5
=-0.35
Weighted sum + bias (0.1)
-0.21
Activation: Sigmoid
0.4477
0.1

活性化関数:なぜ非線形性が必要なのか?

活性化関数がない場合、何層のニューロンを重ねても、最終的には単一の線形変換(行列乗算)と等価になってしまいます。活性化関数は非線形性を導入し、ネットワークが複雑なパターンを学習できるようにします。

活性化関数数式特徴使用シーン
ReLUmax(0, x)シンプルで効率的、学習が速い隠れ層のデフォルト選択
Sigmoid1/(1+e⁻ˣ)出力が 0~1二値分類の出力層
Tanh(eˣ-e⁻ˣ)/(eˣ+e⁻ˣ)出力が -1~1RNN でよく使用
Softmaxeˣᵢ/Σeˣⱼ確率分布を出力多クラス分類の出力層

ニューロンからネットワークへ

複数のニューロンをにまとめ、複数の層を直列に接続することで、ニューラルネットワークが構成されます:

入力層          隠れ層1        隠れ層2        出力層
(特徴)         (低レベル特徴抽出)  (高レベル特徴抽出)  (予測結果)

 x1 ──→  [○ ○ ○ ○] ──→ [○ ○ ○] ──→  [○ ○]
 x2 ──→  [○ ○ ○ ○] ──→ [○ ○ ○] ──→  猫/犬
 x3 ──→  [○ ○ ○ ○] ──→ [○ ○ ○]
概念説明
入力層生データを受け取る(画像のピクセル、テキストベクトルなど)
隠れ層中間処理層。層の数が多いほどネットワークは「深く」なる(深層学習の「深層」)
出力層最終的な予測を生成する(分類確率、回帰値など)
順伝播データが入力層から出力層へ層ごとに流れるプロセス

なぜ「深層」学習と呼ばれるのか?

従来の機械学習は通常 1〜2 層でした。隠れ層の数が数十から数百層に増えると、「深層」学習と呼ばれます。より深いネットワークはより抽象的な特徴を学習できます:1 層目はエッジを学び、2 層目はテクスチャを学び、3 層目はパーツを学び、さらに深い層は「これは猫だ」ということを学びます。


2. ネットワークの学習方法

ニューラルネットワークの「学習」は本質的に最適化問題です:ネットワークの予測ができるだけ正解に近づくように、重み(w)とバイアス(b)の組み合わせを見つけることです。

学習の3ステップ

1. 順伝播:データを入力し、予測結果を得る
2. 損失計算:損失関数を用いて予測と正解の差を測定する
3. 逆伝播:損失に基づいて各重みの勾配を計算し、重みを更新する

損失が十分小さくなるまで上記を繰り返す

損失関数:「どれだけ間違っているか」を測る

損失関数(Loss Function)は予測値と真の値の間の差を数値化します。学習の目標は損失を最小化することです。

損失関数数式の概要適用シーン
MSE(平均二乗誤差)予測値と真の値の差の二乗の平均回帰問題
Cross-Entropy(交差エントロピー)-Σ y·log(ŷ)分類問題
Binary Cross-Entropy交差エントロピーの二値分類版二値分類問題

勾配降下法:最低点を見つける

目隠しをして山の上に立っていて、最低地点まで歩いていくことを想像してください。あなたにできるのは足元の傾斜を感じ取り、下り坂の方向に一歩進むことだけです。これが勾配降下法です。

損失値

  │    ╱╲
  │   ╱  ╲      ← 現在位置
  │  ╱    ╲    ↙ 勾配方向に降下
  │ ╱      ╲╱   ← 局所的最小値
  │╱            ╲╱  ← 大域的最小値
  └──────────────→ 重み値
概念説明
勾配各重みに対する損失関数の偏微分。「どの方向に調整すれば損失が減るか」を示す
学習率一歩の大きさ。大きすぎると最小値を飛び越え、小さすぎると収束が遅すぎる
バッチサイズ勾配を計算する際に使用するサンプル数。全量は遅すぎ、単一では不安定すぎるため、ミニバッチが妥協点

逆伝播:連鎖律の勝利

逆伝播(Backpropagation)は勾配を効率的に計算するアルゴリズムです。微積分の連鎖律を利用して、出力層から始めて、各重みの損失への寄与を層ごとに後方へ計算します。

順伝播:入力 → 隠れ層1 → 隠れ層2 → 出力 → 損失
逆伝播:損失 → 出力 → 隠れ層2 → 隠れ層1 → 全重みを更新

逆伝播の直感的理解

ニューラルネットワークを製造ラインに例えてみましょう。製品(予測)に問題が発生した(損失が大きい)場合、最後の工程から順に遡って、各工程(各層の重み)が最終的な問題にどれだけ寄与したかを確認し、寄与度に応じて調整します。寄与が大きいものは大きく調整し、小さいものは小さく調整します。


3. 主要なネットワークアーキテクチャ

異なる種類のデータには異なるネットワークアーキテクチャが必要です。適切なアーキテクチャを選べば、半分の労力で倍の成果が得られます。

Common Neural Network Layer Types
Click a layer to inspect its role and parameters
Dense layer
Each neuron connects to every neuron in the previous layer. This is the most basic layer type and learns combinations of input features.
units (number of neurons)activation
Output layers for classification or regression, and simple feature extraction
Dense(128, activation="relu")

3.1 CNN(畳み込みニューラルネットワーク)

CNN は画像処理の王者です。中核となる考え方:小さな畳み込みカーネルを画像上でスライドさせ、局所的な特徴を抽出します。

入力画像 → [畳み込み層→活性化→プーリング] × N → 全結合層 → 出力
  28×28      エッジ/テクスチャ/形状の抽出        分類結果
特徴説明
局所結合各ニューロンは画像全体ではなく小さな領域のみを見る
パラメータ共有同じ畳み込みカーネルを画像全体で再利用し、パラメータを大幅に削減
並進不変性猫が画像の左側にいても右側にいても認識できる
階層的特徴浅い層はエッジを学び、深い層は意味を学ぶ

代表的なモデル:LeNet、AlexNet、VGG、ResNet、EfficientNet

3.2 RNN(再帰型ニューラルネットワーク)

RNN は系列データのために設計されています。隠れ状態が次の時間ステップに渡され、ネットワークに「記憶」能力を与えます。

時間ステップ t1   時間ステップ t2   時間ステップ t3
  "私"  ──→      "好き"  ──→      "猫"
   ↓              ↓              ↓
  [h1]  ──→     [h2]   ──→     [h3] ──→ 出力
   ↑              ↑              ↑
  隠れ状態が時間ステップ間で受け渡される(記憶)
派生型解決する問題コアメカニズム
基本 RNN基本的な系列モデリングシンプルな再帰結合
LSTM長系列での勾配消失忘却ゲート、入力ゲート、出力ゲート
GRULSTM のパラメータ過多リセットゲートと更新ゲートに簡略化
双方向 RNN過去しか見られない前方と後方の両方向から同時に処理

LSTM のゲート機構

LSTM の巧妙さは3つの「ゲート」にあります:忘却ゲートはどの古い記憶を捨てるかを決定し、入力ゲートはどの新しい情報を保存するかを決定し、出力ゲートはどの内容を出力するかを決定します。まるで本を読むとき、重要なプロットを選択的に記憶し、無関係な詳細を忘れるようなものです。

3.3 Transformer:注意こそがすべて

2017年、Google が発表した "Attention Is All You Need" という論文で提案された Transformer は、AI 分野を根本から変えました。自己注意機構を用いて再帰構造を置き換え、GPT、BERT、Claude などの大規模モデルの基盤となっています。

入力系列 → 埋め込み + 位置エンコーディング → [マルチヘッド注意 → フィードフォワード] × N → 出力

                                    各単語が他のすべての単語を「見る」ことができる
利点説明
並列計算RNN のように逐次処理する必要がなく、系列全体を並列処理できる
長距離依存任意の2つの位置間で直接関係を構築でき、距離の制限を受けない
スケーラビリティモデルが大きく、データが多いほど性能が向上する(スケーリング則)

自己注意の直感:「子猫がマットの上に座っている、なぜならそれはとても疲れているから」という文を読むとき、「それは」が「子猫」に注意を向ける必要があります。自己注意はモデルにこの関連付けを学習させます——系列内の単語のペアごとに「関連性スコア」を計算します。

Common Neural Network Architectures
Click to inspect each architecture, its characteristics, and applications
Feedforward neural network(FNN)
1958
The most basic neural network structure. Data flows one way from the input layer through hidden layers to the output layer, with no recurrence. Neurons in each layer connect to all neurons in the next layer.
Network structure
Input layer Hidden layers ×N Output layer
Typical applications
ClassificationRegressionFunction approximation
Key idea:Map inputs to outputs through multiple nonlinear transformations. More layers can represent more complex functions.

4. 学習の技術

優れたアーキテクチャがあっても十分ではありません。学習プロセスには多くの「落とし穴」があり、回避する必要があります。

4.1 過学習 vs 未学習

問題症状原因解決策
過学習訓練セットでは良いがテストセットでは悪いモデルが複雑すぎて「答えを暗記」し、法則を学んでいない正則化、Dropout、データ拡張、早期停止
未学習訓練セットもテストセットも悪いモデルが単純すぎて法則を学べないモデル容量の増加、より長く学習、より良い特徴量
誤差

  │ ╲  訓練誤差          テスト誤差  ╱
  │  ╲                          ╱
  │   ╲─────────────────╱
  │    未学習 ← 最適点 → 過学習
  └──────────────────────────→ モデル複雑度

4.2 重要なハイパーパラメータ

ハイパーパラメータは学習前に人が設定する必要があるパラメータです(モデルが自ら学習するものではありません):

ハイパーパラメータ役割一般的な範囲調整のアドバイス
学習率毎ステップの更新幅1e-5 ~ 1e-1最も重要なハイパーパラメータ、通常 1e-3 から開始
バッチサイズ毎回の学習に使用するサンプル数16 ~ 512大きいほど学習は安定するが、より多くの GPU メモリが必要
エポック数データセット全体を巡回する回数10 ~ 100+早期停止と併用し、検証セットが改善しなくなったら停止
オプティマイザ勾配更新戦略Adam、SGDAdam がデフォルト選択、SGD+モメンタムは微調整に適する

4.3 正則化テクニック

過学習を防ぐための一般的な手段:

テクニック原理使用方法
Dropout学習時に一部のニューロンをランダムに無効化通常 p=0.1~0.5
重み減衰損失関数に重みの大きさに対するペナルティを追加L2 正則化、λ=1e-4
データ拡張学習データにランダムな変換を適用(反転、切り取り、回転)画像タスクでは必須
早期停止検証セットの損失が減少しなくなった時点で学習を停止patience=5~10
Batch Normalization各層の入力分布を標準化収束を加速し、軽微な正則化効果あり

学習の経験則

  1. まず小さなデータセットでパイプライン全体を実行し、コードにバグがないことを確認する
  2. ゼロから学習するのではなく、既存の事前学習済みモデルからファインチューニングを始める
  3. 学習率は時間をかけて調整する価値が最も高いハイパーパラメータである
  4. 学習損失が減少しない場合、まずデータとコードをチェックし、その後モデルを疑う

5. 発展の歴史と最前線

ニューラルネットワークの発展は幾度かの「冬の時代」と「復興」を経験し、それぞれのブレイクスルーは重要な技術革新から生まれました。

年代マイルストーン重要なブレイクスルー
1958パーセプトロン(Perceptron)最初のニューラルネットワークモデル、線形問題のみ処理可能
1986逆伝播アルゴリズム多層ネットワークの学習を可能にした
1998LeNet(CNN)畳み込みネットワークが手書き数字認識で大成功
2012AlexNet深層 CNN が ImageNet で従来手法を圧倒、深層学習が爆発的に普及
2014GAN(敵対的生成ネットワーク)2つのネットワークが敵対的に学習し、リアルな画像を生成
2017Transformer"Attention Is All You Need"、注意機構が RNN を置き換え
2018BERT事前学習+ファインチューニングのパラダイム、NLP が全面的にブレイクスルー
2020GPT-31750億パラメータ、大規模モデルの創発能力を示す
2022ChatGPTRLHF アライメント技術、AI が一般に普及
2023+マルチモーダル大規模モデルGPT-4V、Claude など、テキストと画像を同時に理解

現在のトレンド

方向性説明
大規模モデル(LLM)パラメータ数が億から兆単位に、推論やプログラミングなどの能力が創発
マルチモーダル同一モデルでテキスト、画像、音声、動画を処理
効率的ファインチューニングLoRA、QLoRA などの技術で一般の開発者も大規模モデルを微調整可能に
AI Agent大規模モデルにツール使用、タスク計画、複雑な目標の自律的達成をさせる
小モデル蒸留大規模モデルの知識で小規模モデルを学習させ、エッジデバイスに展開

開発者への示唆

ニューラルネットワークをゼロから学習させる必要はありません。現代の AI 開発は、API の呼び出し(OpenAI、Claude API など)や事前学習済みモデルのファインチューニング(Hugging Face を使用)が中心です。しかし、基盤となる原理を理解することで、モデルの選択、プロンプトの設計、問題の診断をより適切に行えるようになります。


まとめ

コアコンセプト一言まとめ
ニューロン重み付き和 + 活性化関数、ネットワークの最小計算単位
順伝播データが入力層から出力層へ層ごとに流れ、予測を生成
逆伝播損失から出発し、層ごとに勾配を計算し、重みを更新
CNN畳み込みカーネルが局所特徴を抽出、画像処理の第一選択
RNN/LSTM再帰結合が記憶を保持し、系列データを処理
Transformer自己注意による並列処理、大規模モデルの基盤アーキテクチャ
過学習モデルが「答えを暗記」する現象。正則化や Dropout などで防止
転移学習巨人の肩の上に立ち、事前学習済みモデルを微調整して新しい問題を解決

さらに学ぶ