第14回最先端NLP勉強会(2022年9月26日、27日)@お茶大 発表用資料
∞-former: Infinite MemoryTransformerPedro Henrique Martins, Zita Marinho, André F. T. MartinsACL 2022お茶大 村山友理
View Slide
Prior Work• ⻑いcontext をどう扱えば良いか︖2Transformer Layer𝑋!STMqk,v...Transformer Layer𝑋!STMCMqk,v...Compressive Transformer [Rae+ 2019]Transformer-XL [Dai+ 2019]
Infinite Memory Transformer• 過去の⼊⼒系列を連続値にして扱う3
Long-term Memory• ⼊⼒Xに畳み込み(stride=1, width=3)をし、スムージングを⾏うLはinput size, eはembedding size• Xを連続値 !𝑋(𝑡)に変換𝑡 ∈ 0, 1 : 𝑡! = 𝑖/𝐿𝜓 𝑡 ∈ ℝ"はN個のRBF (radial basis function) のベクトルB ∈ ℝ"×$は多変量リッジ回帰によって得られる係数⾏列4
Long-term Memory𝑄 = 𝑋𝑊" ∈ ℝ#×%𝐾 = 𝐵𝑊& ∈ ℝ'×%𝑉 = 𝐵𝑊( ∈ ℝ'×%• attention mechanism としてガウス分布を⽤いる5
Long-term Memory• 𝑧),+は𝑍#,-,) ∈ ℝ#×.の⾏を成す• Transformerのcontext vector 𝑍,と⾜し合わせて最終的なcontext vector 𝑍を得る6← attention × value
Unbounded Memory7• !𝑋(𝑡)を圧縮• !𝑋(𝑡)から𝑀個のベクトルを等間隔にサンプリング
Sticky Memories• 重要な部分のメモリを積極的に保存したほうが良いのでは︖• 前ステップのattentionからヒストグラムを作成し、D個の等間隔なbinに分割{𝑑/, … , 𝑑0}• 各binについてattention probability 𝑝(𝑑1)を計算• 𝑝に従ってM個をサンプリング8
Complexity• Key matrix 𝐾 は基底関数の数𝑁 だけに依存し、contextの⻑さとは無関係• Complexityもcontextの⻑さとは独⽴• short-term memory も使う場合︓• LTMのみの場合︓• どちらもvanilla transformer より⼩さい9
Sorting• 系列のトークンを頻度順に並べる• モデルが直近のトークンだけでなく⻑期記憶も⾒ているか調べるために、トークンの確率分布を変化させていく• 系列が⻑くなるほど𝛼 ∈ [0,1]は0から1に徐々に増加• vocabulary size 20• 4,000, 8,000, 16,000トークンで実験10
Sorting• Transformer• 3 layers• 6 attention heads• input size L = 1,024• memory size 2,048• LTM (N = 1,024 basis functions)11
Document Grounded Dialogue• CMU Document Grounded Conversation dataset (CMU-DoG) [Zhou+ 2018]• より難しくするために、会話が始まる前にしかdocumentにアクセスできなくする• GPT-2 small + continuous LTM (N = 512 basis functions)12
Document Grounded Dialogue13
Document Grounded Dialogue14
LTMのアテンションの層による違い15
16
17
18
19
まとめ• Infinite Memory Transformer を提案• Unbounded context• 計算量はcontextの⻑さと独⽴• Sorting, Language modeling, Document grounded dialogue で実験• ⻑期記憶の有⽤性を⽰した20