スキップ接続と残差接続の違い
スキップ接続とは、ニューラルネットワークの中で、ある層(またはブロック)を通過した特徴量が、その後ろにある別の層へ直接渡されるように、途中の処理を越えて情報を伝える結合のことである。
これにより、深いネットワークで生じやすい勾配消失を緩和しつつ、早い段階で得られた特徴を後段まで保持できるようになる。
スキップ接続自体は非常に広い概念で、飛ばす層の数や、結合の仕方(加算、連結など)は特に限定されない。
残差接続(Residual Connection)は、スキップ接続の一つであり、特に「入力をそのまま後段に加算する」という形式に限定したものを指す。入力を (x)、中間の変換を (f(x)) とすると、残差接続の出力は
code:latex
x_{i+1}=x_i + f(x_i)
となる。すなわち、ネットワークが直接複雑な変換 (H(x)) を学習するのではなく、元の入力との差分である残差 (F(x) = H(x) - x) を学習するようにする仕組みである。
これによって最適化が容易になり、非常に深いネットワークでも学習が進みやすくなる。
このように、スキップ接続は「層を飛ばして情報を渡す仕組み」全般を指し、その中でも「入力を後段に加算する形のスキップ接続」が残差接続である、という関係になっている。