ニューラルネットワーク
ニューラルネットワークとは
ニューラルネットワークは、脳の神経細胞(ニューロン)のつながりを参考にした計算モデルです。たくさんの単純な計算ユニットをつなぎ合わせ、全体として複雑なパターンを学習します。[[ディープラーニング]] の基本構造であり、[[機械学習の基礎]] を学んだ後の重要ステップです。
基本構造:層とニューロン
ニューラルネットワークは3種類の層で構成されます。
| 層 | 役割 |
|---|---|
| 入力層 | データ(画像のピクセル値など)を受け取る |
| 中間層(隠れ層) | 特徴を段階的に抽出する。多層にしたものがディープラーニング |
| 出力層 | 予測結果(「猫の確率90%」など)を出す |
各ニューロンは「入力に重みを掛けて足し合わせ、活性化関数で変換して次の層へ渡す」というシンプルな計算をします。この重みこそが、ネットワークが学習によって獲得する「知識」です。
どうやって学習するのか
学習の流れは「予測 → 答え合わせ → 重みの修正」の繰り返しです。
- 訓練データを入力し、予測を出す
- 正解との差(損失)を計算する
- 損失が小さくなる方向へ、誤差逆伝播法(バックプロパゲーション)で全ての重みを少しずつ調整する
- これを大量のデータで何度も繰り返す
人がルールを書くのではなく、重みの調整だけでデータからパターンを獲得するのが最大の特徴です。
初学者向けポイント
- 1つ1つのニューロンは掛け算と足し算をするだけの単純な存在です。「単純な部品の大量の組み合わせが複雑な能力を生む」ことを押さえましょう
- 重みの数はモデルの規模を表し、パラメータ数と呼ばれます。生成AI・LLM の「〇〇億パラメータ」はこの重みの個数のことです
- 訓練データに合わせすぎて未知のデータに弱くなる現象もあります。詳しくは [[過学習と汎化]] を参照してください
関連技術とのつながり
- [[ディープラーニング]] — ニューラルネットワークを多層化した手法
- [[機械学習の基礎]] — ニューラルネットワークは機械学習モデルの一種
- [[Transformer]] — ニューラルネットワークの発展形で、LLM の基盤アーキテクチャ
- [[過学習と汎化]] — 学習時に必ず向き合う課題
Q: ニューラルネットワークが学習によって調整するものはどれ?
- [x] ニューロン間の重み
- [ ] 入力データそのもの
- [ ] 層の名前
解説: 学習とは、損失が小さくなるように重みを少しずつ調整するプロセスです。重みがネットワークの「知識」に相当します。
Q: 誤差逆伝播法(バックプロパゲーション)の役割はどれ?
- [ ] 入力データを圧縮する
- [x] 損失が小さくなる方向へ重みを調整する
- [ ] 予測結果をユーザーに表示する
解説: 予測と正解の差(損失)をもとに、全ての重みを修正するのが誤差逆伝播法です。
Q: 中間層(隠れ層)を多く重ねた構造は何と呼ばれる?
- [ ] 入力層
- [ ] 損失関数
- [x] ディープラーニング
解説: 中間層を多層にしたニューラルネットワークによる学習がディープラーニング(深層学習)です。