More Related Content Similar to 「解説資料」Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Network (19) More from Takumi Ohkuma (10) 「解説資料」Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Network1. 1DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
Takumi Ohkuma, Nakayama Lab M1
Set Transformer: A Framework for Attention-
based Permutation-Invariant Neural Network
2. 自己紹介
大熊拓海(オオクマ タクミ)
東京大学 情報理工学系研究科 創造情報学専攻 中山研究室 M1
専門はfew-shot learning関連
現在の研究テーマはfew-shot learningにおける適切なトレーニングデータ選択
について
3. 書誌情報
題名:Set Transformer: A Framework for Attention-based
Permutation-Invariant Neural Network
出典:ICML 2019
著者:Juho Lee, Yoonho Lee, Jungtaek Kim, Adam R.
Kosiorek, Seungiin Choi, Yee Whye Teh
11. 関連研究
"Deep sets" Zaheer et al. (2017) [2]
順序普遍性を持つ集合の特徴量の抽出を可能にする研究。可変サイズにも対応。
弱点としては集合の特徴量の抽出が比較的単純な計算に基づいており表現力に乏しい
事と、特徴量を固定サイズに圧縮する機構が無いので別途Poolingなどをしなければな
らない事。
“Robust attentional aggregation of deep feature sets for multi-view 3D
reconstruction” Yang et al. (2018) [3]
Dot-product attentionを用いることで、可変サイズに対応しかつ順序普遍性を保ったま
ま特徴量を固定サイズに圧縮することができる。
特徴量の重み付き和を取っているので、要素間の非線形な関係性に対する対応力は低
い
14. Attentionの基本構造
Attentionは基本的に”Query”, “Key”, “Value”の3要素を用いて計算される。
Queryを𝑄 ∊ ℝ 𝑛×𝑑 𝑞、KeyををK ∊ ℝ 𝑛 𝑣×𝑑 𝑞、ValueをV ∊ ℝ 𝑛 𝑣×𝑑 𝑣として
𝐴𝑡𝑡 𝑄, 𝐾, 𝑉; ω = ω 𝑄𝐾 𝑇
𝑉
と表すことができる。
この式の意味は「queryベクトルとkeyベクトルの類似度を求め、 その正規化し
た重みをvalueベクトルに適用して値を取り出す」と解釈でき、出力ω 𝑄𝐾 𝑇 𝑉は
𝑉の行ごとの重み付き和である。
活性化関数ωは行ごとのsoftmax関数が用いられることが多い。今回はsoftmax関
数を更に 𝑑 𝑞で割ってスケーリングする関数を活性化関数ωとして用いる。
15. Multi-Head Attention
CNNの特徴量が複数のチャンネルを持つように、Attentionも複数のチャン
ネル (ヘッドと呼ばれる) を並列させて表現力を高めることができる。
具体的にはQ, K, Vをヘッドの数(右図のh)だけあらかじめ線形活性しておき、
個別にAttentionした後に合体させ(Concat)、最後にまた線形活性する。
数式で表すと、
𝑀𝑢𝑙𝑡𝑖ℎ𝑒𝑎𝑑 𝑄, 𝐾, 𝑉; ω = 𝑐𝑜𝑛𝑐𝑎𝑡 𝑂1, 𝑂2, … , 𝑂ℎ 𝑊 𝑂
𝑂𝑗 = 𝐴𝑡𝑡 𝑄𝑊𝑗
𝑄
, 𝐾𝑊𝑗
𝐾
, 𝑉𝑊𝑗
𝑉
; ω
と表すことができ、各𝑊 𝑂
, 𝑊𝑗
𝑄
, 𝑊𝑗
𝐾
, 𝑊𝑗
𝑉
は学習可能なパラメータである。
16. Multi-Head Attention Block (MAB)
前スライドで定義したMulti-Head Attentionを用いてMulti-Head Attention
(MAB)を定義する。ここの構造も基本的には[1]と同じである。具体的には
右図の構造である。
Source Target Attention と呼ばれるKeyとValueの入力が同じである
Attentionを用いる。
数式で表すと
𝑀𝐴𝐵(𝑋, 𝑌) = 𝐿𝑎𝑦𝑒𝑟𝑁𝑜𝑟𝑚(𝐻 + 𝑟𝐹𝐹(𝐻))
𝐻 = 𝐿𝑎𝑦𝑒𝑟𝑁𝑜𝑟𝑚(𝑋 + 𝑀𝑢𝑙𝑡𝑖ℎ𝑒𝑎𝑑 𝑋, 𝑌, 𝑌; ω )
とあらわされる。 𝐿𝑎𝑦𝑒𝑟𝑁𝑜𝑟𝑚はLayer Normalization、
𝑟𝐹𝐹は行ごとの線形活性を表す。
本研究のSet TransformerはこのMABを基準として構築される
18. Set Transformer 概要
Set Transformerは前スライドで導入したMABを用いて可変サイズの集合を入力と
して受け取り特徴量を抽出し (Encoder)、同様にMABを用いて特徴量を固定サイ
ズに圧縮する (Pooling)ことで固定長の特徴ベクトルを得ることを目的とする。
詳細は後述する。
EncoderとPoolingを経て得られた固定長特徴量は、通常の特徴量と同様に様々な
タスクに用いることができる。
可変サイズの集合のサイズを𝑛、集合の各要素の次元を𝑑である時、集合𝑋を𝑛 × 𝑑
行列として、 X ∊ ℝ 𝑛×𝑑と表すこととする。
19. Set Attention Block
Set TransformerのEncoderはMABの2つの入力の両方に、入力の集合 X ∊
ℝ 𝑛×𝑑
を代入したSet Attention Block (SAB) が用いられる。
数式で表すと、
𝑆𝐴𝐵(𝑋) = 𝑀𝐴𝐵(𝑋, 𝑋)
と表される。
Self Attentionと同じと言った方が伝わるかもしれない。
入出力の次元は ℝ 𝑛×𝑑
→ ℝ 𝑛×𝑑
と変化しない。
計算量はMulti-head Attentionの計算でX𝑊𝑗
𝑄
(𝑋𝑊𝑗
𝐾
) 𝑇
等を計算するので、
O(𝑛2
)の計算量となる。
20. Induce Set Attention Block (ISAB)
SABは計算量が𝑛の2乗オーダーとなるので、入力となる集合サイズが大きい時
計算量が爆発してしまう。これを防止するために代わりに用いることができる
のがInduce Set Attention Block (ISAB) である。
ISABはMABを右図の様に二段重ねにしたものであり注目すべきは一段目の入力
の 𝐼 ∊ ℝ 𝑚×𝑑
であり、これは学習可能パラメータである。
ISABは処理の中で𝑛に依存する行列同士の積が出て来ず、𝐼は入力集合の大きさ
にかかわらず一定なので計算量はO(𝑚𝑛)である。𝑛に関して計算量が線形オー
ダーなので、大きな集合を扱うのに適している。
ISABを数式で表すと
𝐼𝑆𝐴𝐵 𝑚 𝑋 = 𝑀𝐴𝐵 𝑋, 𝐻 ∊ ℝ 𝑛×𝑑
𝐻 = 𝑀𝐴𝐵(𝐼, 𝑋) ∊ ℝ 𝑚×𝑑
と表される。
21. Pooling by Multihead Attention (PMA)
前スライドで導入したSAB及びISABによって抽出された特徴量を固定サイズに圧
縮するための、Pooling by Multihead Attention (PMA) を導入する。
PMAは、入力 Z ∊ ℝ 𝑛×𝑑
、学習可能パラメータ S ∊ ℝ 𝑘×𝑑
を用いて
𝑃𝑀𝐴 𝑘(𝑍) = 𝑀𝐴𝐵(𝑆, 𝑟𝐹𝐹(𝑍)) ∊ ℝ 𝑘×𝑑
と表される。
行列Sの行数を表す𝑘は定数なので、入力サイズ𝑛に寄らない固定長の出力を得る
ことができる。𝑘 = 1としてベクトルの出力を得る場合が多いが、 𝑘 > 1として
さらにSAB等を重ねることも可能。
(meanやmax 等の)通常のPoolingが入力要素に関係なく単純に平均や最大値を取
るのに対し、PMAはAttention機構を持つのでより柔軟なPoolingが可能となって
いる。
22. Set Transformerの全体構造
SAB, ISAB, PAMを単層もしくは多層に重ねてSet Transformer全体を構築する。
SAB or ISAB
SAB or ISAB
𝑃𝑀𝐴1
FC
SAB or ISAB
SAB or ISAB
𝑃𝑀𝐴4
FC
SAB or ISAB
SAB or ISAB
SAB or ISAB
例1 例2
24. 条件設定
本論文では、複数のタスクに対して Set Transformerの有効性検証している。
そのために提案手法と既存手法を組み合わせて以下の条件で比較実験を行う。
rFF + Pooling:通常の row-wise feedforward + Pooling。
rFFp-mean/max + Pooling:rFFの代わりに[2]の順序普遍特徴量を用いる。
rFF + Dotprod:Poolingの代わりに[3]のAttentionによる重み付き和を用いる。
SAB (ISAB) + Pooling (ours):rFFの代わりにSAB (ISAB)を用いる。
rFF + PMA (ours):Poolingの代わりにPMAを用いる。
SAB (ISAB) + PMA (ours):提案手法をFullで用いる。
31. 実験5:Point Cloud 分類
3DモデルデータModelNet40[6]のクラス分類
3Dモデル形式としては、多数の頂点を3次元空間に配置して3Dモデルを構成する
Point Cloudという形式である。
入力は、各データの頂点のうちの{100, 1000, 5000}点選択して集合を作る。
集合サイズが5000のとき、SABを用いると計算に非常に時間がかかってしまう
(数十分)ので、より高速(数秒)なISABのみを用いる。
集合が小さい (100点) のとき、提案手法はより効果を発揮する。
34. 参考文献
[1] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information
processing systems. 2017.
[2] Zaheer, Manzil, et al. "Deep sets." Advances in neural information processing
systems. 2017.
[3] Yang, Bo, et al. "Robust attentional aggregation of deep feature sets for multi-view
3D reconstruction." International Journal of Computer Vision 128.1 (2020): 53-73.
[4] Lake, B. M., et al. “Human-level concept learning through probabilistic program
induction.” Science, 350(6266):1332–1338, 2015
[5] Karen Simonyan et al. “Very deep convolutional networks for large-scale image
recognition” In proc of ICLR 2014
[6] Chang, A. X., et al “An information-rich 3D model repository.”, arXiv:1512.03012,
2015.