大きな画面での利用をおすすめします — アニメーションと操作がより快適になります。
入力

訓練ループ

訓練ループは、順伝播、損失、逆伝播、パラメーター更新を繰り返し、初期重みから学習します。勾配を使うニューラルネットワークで広く使う手順です。初期設定の 2 入力、4 隠れニューロンは、バイアス込みで 17 パラメーターです。

塗りつぶした 40 点は勾配に使う訓練例、白抜きの 20 点は評価専用の保持データです。UI は test と呼びますが、繰り返し見て設定を選べば実質的に検証集合です。偏りのない最終評価には別の未使用データが必要です。ブラウザーで実際に訓練し、2 曲線の一致と差を見ます。

訓練ループの仕組み

入力 2 個、tanh 隠れニューロン 0、2、4、8 個、sigmoid 出力 1 個を選びます。隠れ層なしはロジスティック回帰です。隠れ層があれば次の順です。

  1. 順伝播。 全訓練点で h = tanh(W1·x + b1)、p = sigmoid(W2·h + b2) を求めます。p は正クラス確率です。
  2. 損失。 二値交差エントロピーでラベルと比較します。強く確信した誤りは大きな損失になります。
  3. 逆伝播。 連鎖律で各パラメーターの勾配を求めます。
  4. 更新。 学習率 η で負の勾配方向へ動かします。
  5. 評価。 保持した 20 点の損失と精度を計算します。勾配へは寄与させません。

40 点全体を 1 更新に使う full-batch なので、1 epoch が 1 更新ループです。1× 再生では約 160 epoch/秒を目標とし(速度設定に比例)、実速度は機器とブラウザーに依存します。

背景も現在のネットワークの順伝播です。藍は正、マゼンタは負、p=0.5 の境界で薄くなります。損失と同じモデルを使います。データと初期値をシード固定し、シャッフルしないため、Reset は同じ実験を再現します。

訓練ループのステップ

初期 XOR · η = 0.3 · hidden = 4 · clean は epoch 0 で停止しています。1 直線では XOR を分けられませんが、4 tanh ニューロンは表現でき、この実行で非線形境界を学びます。

  1. Epoch 0。 ランダム重みで薄い場になり、両損失は ln 2 ≈ 0.69 付近。約 0.5 の確率予測です。
  2. 初期。 両曲線が下がり、しばらくほぼ直線で粗く分けます。
  3. 曲がる境界。 4 隠れ単位の組み合わせが ++、−− を一方、混合符号を他方へ分けます。1 直線では作れない形です。
  4. Epoch 878 前後で自動停止。 両損失はゼロ近く、訓練・保持精度は 100%。訓練損失が 0.02 未満の状態を 200 epoch 続けたという、表示終了用の条件です。判定は描画バッチごとなので、停止が数 epoch 遅れることがあります。一般の収束定理ではなく、実訓練は反復予算や検証結果を使います。

この保持点への汎化を支持する結果ですが、全入力の正しさの証明ではありません。3 プリセットは別の問題を示します。

  • Too hot、η=30。 損失が跳ね、近い解と悪い場を往復します。このシードは無限増大でなく振れを示します。sigmoid と交差エントロピーの出力 logit 微分 p−y は有界でも、全重みの勾配やパラメーターが必ず有界ではありません。二次曲線の発散とは別の例です。
  • Too simple、隠れ層なし。 ロジスティック回帰は XOR を分離できず、両損失は約 0.69 で停滞します。この場合の制約は既知の線形表現力で、時間追加だけでは解けません。
  • Overfit、circle · noisy · 8 neurons。 保持損失が最初の数百 epoch で底を打ち、その 2 倍超へ上がる一方、訓練損失は下がります。最終訓練精度 100%、保持は 80% 未満。訓練固有の雑音へ合わせることで評価が悪化します。

2 曲線の読み方

実線は訓練、破線は保持評価です。更新は訓練損失を下げようとしますが、大きな歩幅で上がることもあります。保持曲線は訓練固有の構造や雑音の影響を示し得ても、過学習開始の瞬間を正確に検出する器械ではありません。

両方低下なら学習の進行を支持します。両方高く平坦なら不足適合のほか、最適化やデータ問題も考えます。本例の隠れ層なし XOR は表現制限と分かっています。訓練低下・保持上昇は過学習の兆候で、検証に基づき以前のチェックポイントを選べます。激しい振動では Too hot の学習率をまず確認しますが、一般には他原因も調べます。

実訓練はミニバッチ、Adam、正則化も使います。ここは省き、順伝播、損失、逆伝播、更新、独立評価の役割を見せます。

境界条件

  • 線形モード。 隠れ層なしの p=0.5 は w·x+b=0。場の上に直線を描き、パーセプトロンと同じ幾何を示します。
  • 螺旋。 既定の η = 0.3 では、線形は偶然より少し上、2 単位は苦戦し、8 単位は多くの構造を捉えます。容量が曲線表現へ及ぼす影響です。η = 30 では 8 単位でも解に届きません。
  • 遅いと停止は違う。 clean の XOR では η=0.03 で 4000 epoch の上限でも両曲線が下降中。雑音付きデータでは保持曲線が先に上がり始めることもあります。Too simple の平坦さと、値だけでなく傾きを比較します。
  • 一時停止と終了。 途中の Play は続行します。収束、上限、振動による終了後は epoch 0 から再生します。設定変更も同じシードでやり直します。

よくある間違い

  • 訓練損失だけを見る。 低下は訓練集合への適合で、汎化には保持証拠が必要です。調整に使った点は独立した最終テストではありません。
  • ニューロンが多いほど常によいと思う。 雑音付き円では余分な容量が雑音も合わせ、保持結果を悪くし得ます。データと正則化も必要です。
  • 大きい学習率は必ず無限爆発と思う。 この実行は振動です。ただし出力 logit の有界微分から一般の安定性は保証できません。
  • 自動停止を収束理論と読む。 「0.02 未満を 200 epoch」は表示条件です。実際は目的と検証設計に合わせます。