Deep Learning: Transformers ©  Fabian M. Suchanek
Sequence2Sequence Architectures 2 Classical neural network architectures for translating one string to another one (seq2seq, RNNs, LSTMs, CNNs, ...) try to cram the entire first string into a single vector, before producing the translation: Disadvantages: •  forgets long‐term dependencies •  suffers from the vanishing gradient problem [MLexplained:Paper Dissected: “Attention is All You Need” Explained]
Transformers 3 transformer  is a neural network architecture that translates the input string at once into an output string. The central tool is  attention , i.e., the ability to link distant parts in the input and output string: [MLexplained:Paper Dissected: “Attention is All You Need” Explained] ->BERT
Key-Value mapping 4 key‐value mapping  is based on •  a key matrix  •  a value matrix  Given a query vector  , it computes  Vocabulary:  “man”, “woman”, “child” Query vector: a  -dimensional encoding of “woman”,  Key matrix: list of   keys, each of dimension  Value matrix: maps keys to output        “boy”        “girl”    “child”    “female”    “male”  is most similar to key “girl”
Key-Value mapping for matrix query 5 Given •  a key matrix  •  a value matrix  •  a list of queries  , stacked as a matrix  the key‐value mapping for all queries is given by          Vocabulary:  “man”, “woman”, “child” Query vectors: “man”, “woman”, stacked as a matrix  Key matrix and value matrix: as before                                                           is more like key “boy”                                                           is more like key “girl”                 output for “man”         child,female,male           output for “woman”  child,female,male
Key-Value mapping for matrix query 6 Given •  a key matrix  •  a value matrix  •  a list of queries  , stacked as a matrix  the key‐value mapping for all queries is given by       
Self-Attention Layer 7 self‐attention layer  of a neural network learns weight matrices Given as input •  a list of input vectors  , stacked as a matrix  it computes as output the  attention head        Vocabulary:  “man”, “woman”, “boy”, “girl” Input vectors:   (“man”),   (“woman”) attention attention head: one representation for                                      each input word
Multi‐Headed Attention Layer 8 multi‐attention layer  of a neural network consists of   self‐attention layers of dimension   with    ‐dimensional inputs, applied in parallel.  The resulting matrices are concatenated to a   matrix,  and multiplied by a   matrix   to output a   matrix.  attention heads  result  Example with  :  self‐attention layers  inputs of dimension 
Encoder in Transformers 9 An  encoder  in a Transformer is a multi‐headed attention layer followed by a fully connected feed‐forward network for each row of the output. It takes as input    ‐dimensional vectors, and produces as output also  ‐dimensional vectors. one FFNN for each row Example with  : same dimensions as input!  attention heads   attention layers  inputs of dimension  >transformer
Transformer 10 [Jay Alammar: The Illustrated Transformer] transformer  is a neural network that consists of stacked encoders. The last encoder feeds each decoder in a stack of decoders. The output is the output of the last decoder. A  decoder  is a neural network similar to an encoder. The input to a transformer is a vector that combines embeddings with position codes. Key advantages: •  parallelizable    => faster training •  processes the    sentence simul‐    taneously    => can capture    long‐range    dependencies
BERT 11 BERT  (Bidirectional Encoder Representations from Transformers) is a neural network that consists of stacked encoders: input sentence output sentence Encoder Encoder Encoder BERT is a huge model, with 110 M parameters in its smallest variant and 345 M parameters in its largest. BERT was  developed by Google .
BERT Input 12 The input to BERT is a sequence of tokens, with special tokens for a  sentence start and end. For each token we add the following vectors: •  an embedding of the token (usually: WordPiece) •  an embedding of the position of the token in the sentence •  an embedding of the number of the sentence in which the token is “Be alert! BERT will hurt!” [CLS] [be] [alert] [SEP] [bert] [will] [hurt] [SEP]   1           2          3          4          5          6           7         8   1           1          1           1          2          2           2         2 “be” ->  input sentence input tokens token embeddings positions position embeddings sentence numbers sentence number emb. final vector
BERT Training 13 BERT is trained on large text corpora to predict randomly masked words. “BERT, lift your [MASK]” Encoder Encoder Encoder “BERT, lift your ____” BERT is also trained on predicting, for two input sentences, whether one follows the other in a text or not.
BERT Fine Tuning 14 The trained BERT model can be used for other tasks by (1) adding layers and (2) starting the training from the pre‐configured parameters (a practice called  fine‐tuning ). “BERT makes dirt” Encoder Encoder Encoder PERSON  OTHER  OTHER Classifier for the output for each token
Other Transformers 15 Besides BERT, other popoular transformers are: •  variants of BERT   - MobileBERT   - FastBERT   - CamemBERT •  for language generation   - GPT-2   - T5 [Raffel et al: Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer, 2020]
Summary: Transformers 16 Transformers are a powerful neural network architecture: •  They process the input not sequentially, but simultaneously •  BERT is a special transformer network, which is pre‐trained    and can be fine‐tuned to a variety of tasks •  BERT achieves state‐of‐the‐art performance in a wide variety of tasks ->Deep-learning