[Transformerの最前線 〜 畳込みニューラルネットワークの先へ 〜 - Speaker Deck](https://speakerdeck.com/yushiku/20220608_ssii_transformer)
## 概観
任意の個数のベクトルを任意の個数のベクトルに変換するネットワーク
![[Pasted image 20250828221640.png|600]]
### Positional Encoder
入力ベクトルの位置と出力ベクトルの位置を表すベクトル
- [[RNN]]や[[畳み込みニューラルネットワーク|CNN]]は各特徴量の位置情報を知っている
### Autoregressive vs Non-autoregressive
- Autoregressive = 1個ずつ推定する
- 精度は良いが遅い
- Non-autoregressive: 全部一気に推定する
## 細部
![[Pasted image 20250828221943.png]]
- [[Multi-head Attention]]
## 改善方法の分類
1. 活性化関数
- [[ReLU]] -> {[[ELU]]/[[SELU]], [[GeLU]]/[[Swish]]}
- 大して精度は上がらない
2. 正規化
- LayerNorm:ベクトルの要素ごとの平均と分散で正規化
- **RMS Norm**: LayerNormが遅いので平均抜きで正規化
- これのみ効果アリ
- ReZero: Encoderレイヤーの変換部分に学習可能パラメータα(初期値ゼロ)を掛ける
- Fixup: 正規化を一切せずに、Residualブロックの初期値を0 or 1にするだけでもBatchNormやLayerNormと近い精度を達成。
3. 深さ
-
4. 埋め込み
5. パラメータ共有
6. Softmaxの共有
7. 全体のアーキテクチャ