ニューラルネットワークの可視化
学習の仕組みを段階に分けます。値が層を前へ流れて予測になり、勾配が後ろへ伝わり、重みの更新で損失が変わります。各レッスンはコードと同期し、計算した値を使います。
ニューラルネットワークはパラメーターを持つ関数で、重みが入力から予測への写像を決めます。学習は予測、誤差の測定、各パラメーターの勾配計算、更新を繰り返します。各部分を理解してから、組み合わせた動作を見ます。
ネットワークが学ぶ仕組み
- 順伝播:入力を各層へ通して予測を得ます。学習済みネットワークも、新しい入力にこの処理を行います。
- 損失:予測と目標の差を一つの数にします。同じ評価条件なら、小さい損失は選んだ目標への適合を示します。更新が使うのは損失の勾配なので、損失関数は学習速度にも影響します。
- 誤差逆伝播:出力から入力へ連鎖律を適用し、各重みが損失に与える影響を計算します。
- 更新:勾配降下では負の勾配方向へ進みます。学習率が歩幅を決め、大きすぎると発散することがあります。
この循環で選んだ損失を下げます。収束や未知データでの正しさは、モデル、データ、設定にも依存します。
学習ループを構成するレッスン
| レッスン | 観察するもの |
|---|---|
| パーセプトロン | 一つのニューロンが描く直線境界と XOR での失敗 |
| 順伝播 | 入力が層ごとに予測へ変わる過程 |
| 損失関数 | 同じ誤りを二つの損失で測り、勾配の差を比べる |
| Softmax と交差エントロピー | 十個のスコアが分布になり、勾配が一回の引き算になる理由 |
| 勾配降下 | 極小へ向かう更新と、歩幅が大きすぎる場合の発散 |
| 誤差逆伝播 | 勾配の逆向きの伝播と、各重みへの連鎖律 |
| 学習ループ | 予測、損失、勾配、更新をエポックごとに繰り返す |
| MNIST 数字分類器 | 手描きの数字を学習済みネットワークが分類する |
| CNN | 畳み込みフィルターが画像を走査し、特徴マップを作る |
| RNN/LSTM | 文を一語ずつ読み、時間方向の逆伝播で学習信号が弱まる |
| 勾配消失 | sigmoid の導関数の積で信号が縮み、活性化した ReLU 経路では残る |
| Dropout | 同じノイズ付きラベルのネットワークをランダムな学習マスクの有無で比べ、暗記の抑制と落としすぎの代償を見る |
| バッチ正規化 | 統計グループ内で一チャネルを中心化・標準化し、更新回数を固定した深層ネットワークと二値しかない統計の境界を比べる |
| 最適化手法:SGD、Momentum、Adam | 同じシードのバッチを使い、円形、細長い形、ノイズのある損失面で三つの更新経路を比べる |
推奨する学習順序
パーセプトロンから始め、一つのニューロンが直線境界を学び、XOR を解けない理由を見ます。次に順伝播で層を組み合わせ、ネットワークが何を計算するかを理解します。
続いて損失関数です。本例の同じユニット、誤り、学習率では、平均二乗誤差の学習が交差エントロピーより約九十倍遅くなります。Softmax と交差エントロピーでは多クラス分類の一般的な組み合わせを調べます。99.86% の確信で誤分類した MNIST 数字に対し、同じ確率から得たスコアへの勾配の押し戻しは、交差エントロピーが平均二乗誤差の 361 倍です。
勾配降下では単純な曲面で歩幅と行き過ぎによる発散を観察します。誤差逆伝播は逆向きの連鎖律で計算を層間で共有し、全勾配を順伝播と同程度の計算量で求めます。その後の学習ループで四段階を合わせ、エポックごとの損失を追います。
最後に七つの応用を見ます。MNIST 数字分類器は学習済みの推論、CNNは隣接ピクセルの構造を利用する畳み込みです。勾配消失は局所的な導関数の積が信号を数百万分の一に縮め得ることを示し、RNN/LSTMは同じ重みを語順に沿って適用し、隠れ状態で記憶を渡します。Dropoutはランダムマスクでノイズの暗記を抑えられるかを試します。バッチ正規化は一つの隠れチャネルを見てから、条件をそろえた六層の実行を比較します。最適化手法では更新に戻り、速度の記憶と座標ごとの尺度が同じバッチで異なる経路を生む様子を見ます。
ニューラルネットワークの可視化一覧
入力を変え、一段階ずつ進めて、コードのハイライトとアニメーションの対応を確認してください。