---
# System prepended metadata

title: 6/2ゼミ発表

---

# 6/2ゼミ発表

## 1.導入
- トランスフォーマーとは
  - NLP（自然言語処理）における最も重要なモデル・アイデア
  - RNNやCNNを用いず注意機構のみを用いたモデル
  - 並列化がかなりしやすく訓練時間が圧倒的に削減可能
  - 汎用性が高く現在は画像分類などなどのほかのタスクにも使われる
- 背景
  - 自己注意機構がトランスフォーマーの性能に不可欠であるかはわかっていない  
- 目的
  - 自己注意機構の必要性を実験する
  - 注意機構を使わない代替案としてgMLPを提案しその性能をトランスフォーマーと比較する
- gMLPとは
  - 今回提案するMLPベースのモデルで、MLPにゲート機構を組み合わせたもの
    - MLP：入力層、中間層（隠れ層）、出力層の少なくとも3つ以上の層からなり、各層が全結合されているニューラルネットワーク
    - ゲート機構：どのゲートから入力を保持し、どの入力を忘れるか制御する機構
  - 注意機構を一切使わない
- 実験方法
  - gMLPとトランスフォーマーの精度を比較する 
  - 画像分類とNLPの二つのタスクのに分けて検証
    - NLPはBERTのMLM（Masked Language Model）で検証
    - 画像分類はImageNetでVIT（Vision Transformer）と比較
    
    
    
## 2.モデルの説明
![](https://i.imgur.com/bAA72cJ.png)
- gMLPのモデルの入力は、ビジョントランスフォーマーやBERTと同じように、トークンを線形変換した埋め込みの系列で行われる。これはトークン数×埋め込みの次元数の行列Xによって表される。
  - トークンとは
    - 形態素や単語みたいな単位、ただし統計的に区切る場合はへんな区切り方になる場合もある（SentencePieceの場合など）
  - ビジョントランスフォーマー(ViT)とは
    - 画像処理で一般的なCNNなどを利用せずに純粋にTransformerのみを利用しているモデル
- 「Norm」：はじめにデータを正規化する
  - 正規化とは
    - データを一定のルールに基づいて変形し、利用しやすくすること
- 「Channel projection」：次に、チャンネル投影レイヤーで、各トークンごとにチャンネル方向を混ぜ合わせる
  - ここでいう「チャンネル」は、「埋め込み次元」のことを表している。この操作はトークンごとに独立に適用される。
  - 例：特徴量１が、「このトークンはingで終わるか」、特徴量２が、「このトークンの前は、be動詞か」というようなものであった場合、それらを組み合わせて、新しい特徴量３「このトークンは、現在進行形か」というような情報が合成される、というイメージ
- 「Activation」：非線形の活性層 
  - Channel projectionとActivationで行われる操作を数式で表すと、<img src="https://latex.codecogs.com/gif.latex?Z&space;=&space;\sigma&space;(XU)" /> となる。　ここでUはd×dの行列、σは活性化関数。またこれは、トランスフォーマーの順方向伝搬ネットワーク（FFN）の構造と同じ。
    - 活性化関数とは
      - あるニューロンから次のニューロンへと出力する際に、あらゆる入力値を別の数値に変換して出力する関数
      - 活性化関数を使うことで 「表現の自由度を上げる」 ことができ、難しい予測や分類をすることが可能になる 
    - 順方向伝搬ネットワーク（FFN)とは
      - ディープラーニングで用いられるニューラルネットワークの一つ。入力層で受け取ったデータが出力層へ向け、一方通行で処理されていくのが特徴。
- 「Spatial Gating Unit」：次に、前に出力された値を空間ゲーティング層へと入力する
  - この空間ゲーティング層がこの gMLP の最も重要な要素。これは、例を使うと、「トークン 1 とトークン 2 が文の先頭に並んでいた場合、次の層のトークン 1' の埋め込みは、トークン 1 の埋め込みに、トークン 2 の埋め込みを半分足したものとする」ような関係を表すもの
  - これを行うことでトークン間の空間情報を所得している

- 「Spatial Gating Unit」の中身 
  - データ長の重み行列のWを用いて線形射影をすることで空間情報を獲得。数式で書くと<img src="https://latex.codecogs.com/gif.latex?f_w,_b&space;(&space;Z&space;)&space;=&space;W&space;Z&space;&plus;&space;b" /> ｂはバイアス項
    - 重みとは
      - 入力値の重要度を数値化したようなもの
    - バイアスとは
      - ニューラルネットワークにおける出力を行うか判断する閾値のようなもの 
      
  - 次にgMLPでは、上で求めた空間情報に２点の変更を加えることでより適切な空間情報を獲得できるようにした
    - １. 線形変換前と後の値の要素ごとの積を計算するゲーティング機構を使う 
    - ２. GLUsのように、入力のＺを（例えば0～127次元目、128〜255次元目、のように）２つに分割し、それぞれをゲートする方に別々に使うというもの
    - これらを数式で書くと次のようになる。<img src="https://latex.codecogs.com/gif.latex?s&space;(&space;Z&space;)&space;=&space;Z_&space;1&space;\odot&space;f_&space;W&space;,&space;_b&space;(&space;Z&space;_2&space;)" />  ここで<img src="https://latex.codecogs.com/gif.latex?\odot" />は要素ごとの積を表しています。
    
- 「Channel projection」：最後にチャンネル投影レイヤーをもう一度適用すれば完成。

- トランスフォーマーの注意層が、入力の埋め込みの値に応じて「動的に」注意の重みを計算し、他の埋め込みを混ぜ合わせるのに対し、MLP では「静的に」、すなわち、入力の値によらず、学習されたネットワークの重みに応じて他の埋め込みを混ぜ合わせる点が異なっている。
- 具体的には、トランスフォーマーではポジションエンベディング層で文章のトークンの位置などを判断していたが、gMLPではSpatial Gating Unitがそのような情報を取得してくれる



## 3.画像分類
- gMLPを画像分類のタスク(ImageNet)に適用した
    - gMLPモデルの容量はViT/DeiTと同等に設定した(表1)
- 以下のような結果が得られた(表2,ImageNet Top-1)
    - DeiTと同等の精度およびデータ効率
    - 他のMLPの方式を上回った(空間ゲートユニット/Spatial Gating Unitの有効性による)
    - ConvNetモデルや注意機構を用いたハイブリッドモデルには劣る
- 空間射影行列(図3)には局所性と空間的普遍性が見られた
    - データ駆動型で不規則な非正方形カーネルによる畳み込みを学習している

## 4.BERTを用いたMLM(Masked Language Modeling)

- MLMタスクにおける実証研究
    - 事前学習とファインチューニングの入出力フォーマットはBERTに準じている。
    - Transformerモデルとは異なり位置エンコーディングは使用しない。

- BERTのベースライント様々な空間投影手法を比較
    - SGU(Special Gating Unit)がPerplexityにおいてほかのバリエーションよりも低くすぐれていて、SGUを用いたgMLPはTransformerと同様のperplexityを示している。
    - Transformer(BERTbase+rel pos)=4.26, gMLP(Multiplicative, split)=4.36

- モデルサイズが大きくなった時の挙動
  - 具体的にはモデルの深さを{0.5,1,2,4}でスケーリングし比較した。
  - 結果はサイズの小さい(18,36程度)のレイヤーではTransformerが有利(Perplexityが低い)という結果になったがサイズを大きくしていき十分に深いレイヤー(72,144程度)になるとgMLPのほうが有利であるという結果になった。また、SST-2(感情分析)のタスクに転移学習した場合にはgMLPのほうが高い精度を示したが、一方で自然言語推論(MNLI)ではTransformerよりも劣っているという結果が得られた。
  - 真ん中のトークンに注目し前の層のどのトークンの埋め込みがどのような強さで混ぜ合わせられているか
    - 主に前のトークンに注目するフィルタや後ろ、両方向に注目するフィルタなど様々な種類のフィルタが学習できた。

- これまで、自己注意機構はMLMのperplexityやscalabilityを満たすためには必要でないことがわかっている
  - その一方でgMLPがNLPファインチューニングタスクにおいてTransformerよりも低いことを示した。
  - attentionのないSST-2なら有利だがMNLIでは不利である(←有益な情報)
    - SST-2は単文課題、MNLIは文のペアであるため
  ↓
  - とても小さいアテンションモジュール(サイズ1の単一のヘッド)を持たせた。→aMLP
    - Transformerは12個のヘッドを持ち全体のサイズは768
  - これによりMNLIにおいてもTransformerに匹敵する性能を示し、gMLPとTransformerのいいとこどりができた。
  - スケーリング性においてはperplexity(クロスエントロピー)、SST-2、MNLIのすべてにおいてTransformerを超える性能を示している。

- BERTセットアップにおける事前学習とファインチューニングの結果
  - gMLPはTransformerとperplexityの点で競合しており大規模な設定であればよりその傾向が顕著である。
    - gMLPがTransformerを下回るタスクではモデルが大規模になるのに伴い性能差が縮まる傾向がある
      - 例えば、baseスケールではgMLPはTransformerよりも8.5%劣っていたがlargeスケールではその差は2.7%に縮まっていた。
    - また、gMLPがSQuAD-v1.1で89.5%のF1を達成した。これはDevinらがBERTbaseで報告した結果(88.5%)を大きく上回っている
      - ただし、公正な比較ではない
  - そしてaMLPは難易度の高いSQuAD-v2.0でもTransformerよりも高い性能を達成している。
    - この結果はTransformerの多数のヘッドを用いた自己注意機構の大部分が冗長であることを示し、その機能の大部分をgMLPの空間ゲーティング層で補うことができる。計算量が増えるとこのわずかなattentionの利点が消えてしまう可能性があるがgMLPの実用的にさせる。


## 5.結論
- トランスフォーマーはNLPとコンピュータビジョン全体で広く採用されている。
    - 特にNLPで多くの印象的な結果が得られた。
    - 現在まで、トランスフォーマーがどうして成功結果をもたらすのか明らかになっていない。
        - フィードフォワードの性質
        - マルチヘッド(Multi-Head)構造と「Self-Attention Layer」
- gMLPは、トランスフォーマーと以下の点において競合できる
    - pretraining perplexity とViTの精度
    - 増加したデータとコンピュータに対するScalability
- gMLPは、SQuADなどの困難なタスクに対して注意を払わずとも、魅力的な結果を得ることができる。
    - 場合によっては、トランスフォーマーから得られる結果を大きく上回る可能性もある。
- トランスフォーマーの multi-head self-attentionが、センテンス間の調整に必要なタスクに役立つ。
    - しかし、gMLPを大きくするだけで、トランスフォーマーとの差が縮まる。
    - 実用的にするならば、single-head attentionの少しをgMLPに混ぜるだけで、優れた結果が得られる。
        - モデルサイズを大きくする必要がない。