Up 「教師あり」の概要 作成: 2025-06-03
更新: 2025-06-03


    順伝播の最終出力の
      o_i (D次元ベクトル)
    に対し, 「教師」のチェックが入る。

    これは,「誤差 (損失)」として
      loss_i (NV次元ベクトル)
    を作成する。


    つぎに,この誤差を減らすための「体の矯正」として,パラメータの調節をする。
    これは,トークンベクトルと各種重み行列の更新ということになる。

    誤差は,順伝播
      x_i^(1) → x_i^(2) → ‥‥ → x_i^(NL) → o_i
    の各レイヤーでの誤差が累積したものと見る。

    誤差を減らすための重み行列の調節は,レイヤーごとに──レイヤー独自の重み行列に対して──行う。
    このようにしないと,ここまでうまくチューニングされてきたパラメータを損なうことになるからである。
    この処理を,「誤差逆伝播(backpropagation)」の形で行う。

    誤差は,「勾配」に表現する。
    レイヤーごとに誤差発生の割合が違うことは,勾配が各レイヤーで違うという表現になる。
    「誤差逆伝播」は,「勾配」のことばでいえば,「勾配降下」である。

    重み行列は,このプロセスで更新される。
    トークンベクトル TV(ID_i) の方は,レイヤーごとの勾配 (局所的な勾配) を連鎖律で合成して得た勾配を用いて,更新する。


      順伝播から逆伝播へ ── 最急降下法の場合

       TV(ID_i)
         │
         ▼
      x_i^(1) = TV(ID_i)
         │
         ▼
      x_i^(2), ‥‥ , x_i^(NL), o_i
         │
         ▼
      損失 loss_i が計算される
         ▲
         │
      ∇loss_i/∇x_i^(NL), ‥‥ , ∇loss_i/∇x_i^(1) を計算
         ▲
         │
      ∇loss_i/∇TV(ID_i) を計算(連鎖律)
         ▲
         │
      TV(ID_i) := TV(ID_i) - η・∇loss_i / ∇TV(ID_i)
          η : 学習率 (learning rate)