ニューラルネットワーク——脳の神経細胞を真似る
脳をお手本にした発想
「ディープラーニング」の「ニューラルネットワーク」という名前は、脳の神経細胞(ニューロン)をモデルにしています。ただし本物の脳を再現しようとしているわけではありません。脳の動き方からヒントを得た数学的な仕組みです。
本物のニューロンの仕組み
脳の中には約860億個のニューロン(神経細胞)があります。ニューロンは隣のニューロンから電気信号を受け取り、信号が一定の強さを超えたら自分も信号を発火します。
隣のニューロンA ──┐
隣のニューロンB ──┼──→ [ニューロン] ──→ 次のニューロンへ発火
隣のニューロンC ──┘
信号を受け取る 合計が閾値を超えたら発火
「複数の入力を受け取り、合計して、しきい値を超えたら出力する」——この単純な動作を繰り返すことで、複雑な思考が生まれます。
人工ニューロン(パーセプトロン)
1957年に考案されたパーセプトロン(Perceptron)は、このニューロンの動きをシンプルな数式で表したものです。
入力: x1, x2, x3
重み: w1, w2, w3
合計 = x1×w1 + x2×w2 + x3×w3 + b
(bはバイアス:ニューロンの発火しやすさの調整値)
出力: 合計が0より大きければ1、そうでなければ0
重み(weight) とはニューロンどうしの「つながりの強さ」です。重みが大きいほど、そのニューロンからの信号が出力に大きく影響します。
バイアス(bias) は「そもそもどれくらい発火しやすいか」を調整する値です。重みとバイアスについては次回詳しく説明します。
パーセプトロンで「AND回路」を作る
パーセプトロンの動作を確認するため、AND回路(両方の入力が1のときだけ1を出力)を作ってみましょう。
| x1 | x2 | 期待する出力 |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
重みを w1=0.5, w2=0.5, バイアス b=-0.7 とすると:
x1=1, x2=1 のとき: 1×0.5 + 1×0.5 + (-0.7) = 0.3 > 0 → 出力1 ✓
x1=1, x2=0 のとき: 1×0.5 + 0×0.5 + (-0.7) = -0.2 < 0 → 出力0 ✓
うまくいきました。このように、重みとバイアスを適切に設定すれば、パーセプトロンは判断をすることができるのです。
1層だと限界がある
パーセプトロン1個でできることには限界があります。「XOR(どちらか一方だけ1のとき出力1)」のような問題は、1層のパーセプトロンでは解けないことが数学的に証明されています。
これを解決したのが多層ネットワークです。
多層ニューラルネットワーク
複数のニューロンを層として並べ、その層を重ねたのが多層ニューラルネットワーク(Multi-Layer Perceptron, MLP)です。
入力層 隠れ層 出力層
○ ─────┐ ○ ──┐
├──→ ○ ──┼──→ ○(予測値)
○ ─────┘ ○ ──┘
入力値を受け取る 中間で特徴を 最終的な
組み合わせる 予測を出す
- 入力層(Input Layer): データを受け取る。画像なら各ピクセルの値。
- 隠れ層(Hidden Layer): 内部で特徴を学習する層。ここが「深い(Deep)」ほどディープラーニング。
- 出力層(Output Layer): 最終的な予測結果を出す。
「ディープ」の意味は「隠れ層が多い(深い)」ということです。隠れ層が1〜2層ならシャローネットワーク、3層以上になるとディープニューラルネットワーク(DNN)と呼ばれます。
層を重ねるとなぜ強力になるのか
浅い層は「単純な特徴」を学び、深い層は「複雑な特徴」を学びます。
画像認識の例:
1層目: 縦線・横線・斜め線などのエッジを検出
2層目: 線の組み合わせ→角、曲線を検出
3層目: 目・鼻・耳などのパーツを検出
4層目: 顔全体のパターンを認識
各層が前の層の出力を受け取り、より抽象的な特徴を学んでいきます。これが「積み重ねによる表現力の増大」であり、ディープラーニングが強力な理由です。
まとめ
- ニューラルネットワークは脳のニューロンをモデルにした数学的な仕組み
- 1つの人工ニューロンは「入力×重みの合計 → 活性化 → 出力」を行う
- 1層では限界があるため、層を重ねた多層ネットワークが使われる
- 「ディープ」とは隠れ層が多いこと。深いほど複雑な特徴を学べる
次回は、ネットワークが学習する核心、重みとバイアスについて深掘りします。