残差ネットワーク
事前活性化残差ブロック(ResNetV2も呼ばれる)は、残差関数を適用する前に活性化関数(例えば、非直線性や正規化)を適用する。正式には、前活性化残差ブロックの計算は次のように書くことができる:
x l + 1 = F ( φ ( x l ) ) + x l {\displaystyle {\begin{aligned}x_{\ell +1}&=F(\phi (x_{\ell }))+x_{\ell }\end{aligned}}}
ここで φ は任意の非線型活性化(ReLUなど)または正規化(LayerNormなど)操作である。この設計により、残差ブロック間の非同一マッピングの数を減らすことができる。この設計は、200層から1000層以上のモデルの学習に使用された。
GPT-2以降、Transformer BlocksはPre-activation Blocksとして実装されることが主流となっています。これは、Transformerモデルの文献では、しばしば "pre-normalization "と呼ばれています。