Transformator (maskininlärningsmodell)

En transformator (från engelska: Transformer) är en maskininlärningsmodell som använder sig av en mekanism kallad självuppmärksamhet för att vikta olika delar av inmatningsdatan. Den används främst inom fälten datorlingvistik eller datorseende.

Bakgrund

Innan transformatorer utvecklades användes rekurrenta neurala nätverk av typen Long short-term memory (LSTM) eller Gated recurrent unit (GRU) för sekvens till sekvensmodelering, däribland maskinöversättning. Dessa har vanligtvis problem att bearbeta längre sekvenser på grund av det försvinnande gradientproblemet (vanishing gradient problem). I en transformator bearbetas hela inmatningssekvensen samtidigt, och det sker ingen sekventiell bearbetning.

Arkitektur

Modellen består av en kodare (encoder) som ansvarar för att bearbeta inmatningen, samt en avkodare (decoder) som ansvarar för att kombinera en representation av inmatningen samt tidigare utmatning för att prediktera nästa symbol i sekvensen. I originalutförandet för maskinöversättning är modellen autoregressiv, vilket innebär att en representation för hela inmatningen (texten på originalspråket) alltid matas in samtidigt vid varje steg i kodaren. Tidigare utmatning (texten som har översatts hittills) matas in i avkodaren. Modellen predikterar sedan nästa ord i den hittills översatta texten.

Inmatningen processas i flera steg i kodaren (encoder). Den består av en mekanism där de olika symbolerna i inmatningen viktas mot varandra med självuppmärksamhet vilken räknar fram hur de relaterar till varandra. Denna process görs i flera omgångar parallellt i en så kallad månghövdad uppmärksamhet. Resultaten från samtliga huvuden skalas sedan var och en för sig och kombineras med en linjärtransformation. En lagervis normalisering genomförs varpå representationen transformeras med ett framåtkopplat neuronnätverk med två lager. Denna procedur repeteras i flera omgångar i så kallade block.

Tillämpningar

Bidirectional Encoder Representations from Transformers (BERT) är en språkmodell baserad på transformatorstrukturen. Modellen lanserades i oktober 2018 av forskare på Google. Anmärkningsvärt var att BERT, vid tiden för lansering, uppnådde mycket högre prestanda jämfört med existerande språkmodeller som tidigare ansågs vara state of the art.[1]

BERT implementerades först i det engelska språket och i två modellstorlekar: (1) BERTBASE: 12 kodare med 12 dubbelriktade "huvuden" för självuppmärksamhet med totalt 110 miljoner parametrar för träning, och (2) BERTLARGE: 24 kodare med 16 dubbelriktade "huvuden" för självuppmärksamhet med totalt 340 miljoner träningsbara parametrar.[1] Båda modeller tränades på datasetet Toronto BookCorpus[2] (800 miljoner ord) och det engelska Wikipedia (2500 miljoner ord).

Referenser

  • Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N. (2017-12-05). ”Attention Is All You Need”. arXiv:1706.03762 [cs]. doi:10.48550/arxiv.1706.03762. http://arxiv.org/abs/1706.03762. Läst 2 juni 2022. 
  • Dosovitskiy, Alexey; et al. (2021). ”An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”. International Conference on Learning Representations. doi:10.48550/arXiv.2010.11929. https://iclr.cc/virtual/2021/oral/3458. Läst 23 januari 2024. 

Noter

  1. ^ [a b] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova (24 maj 2019). ”BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”. arXiv. doi:https://doi.org/10.48550/arXiv.1810.04805. https://arxiv.org/abs/1810.04805v2. Läst 12 februari 2024. 
  2. ^ Zhu, Yukun; Kiros, Ryan; Zemel, Rich; Salakhutdinov, Ruslan; Urtasun, Raquel; Torralba, Antonio (2015-12). ”Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books”. 2015 IEEE International Conference on Computer Vision (ICCV) (IEEE). doi:10.1109/iccv.2015.11. http://dx.doi.org/10.1109/iccv.2015.11. Läst 12 februari 2024. 
v  r
Differentierbar datoranvändning
General
Differentierbar programmering Neural Turing maskin Differentierbar neural dator Automatisk differentiering Neuromorf ingenjörskonst Cable theory Mönsterigenkänning Beräkningslärandeteori Tensorkalkyl
Begrepp
Gradient descent SGD Klusteranalys Regression Overfitting Adversary Attention Faltning Förlustfunktioner Backpropagation Normalization Activation Softmax Sigmoid Rectifier Regularization Datasets Augmentation
Programmeringsspråk
Python Julia
Applikationer
Hårdvara
IPU TPU VPU Memristor SpiNNaker
Mjukvarubibliotek
TensorFlow PyTorch Keras Theano
Implementation
Audiovisuellt
Verbal
Word2vec Transformator BERT NMT Project Debater Watson GPT-2 GPT-3
Beslutande
Alphago AlphaZero Q-learning SARSA OpenAI Five Självkörande bil MuZero Action selection Robot control
Personer
Alex Graves Ian Goodfellow Yoshua Bengio Geoffrey Hinton Yann LeCun Andrew Ng Demis Hassabis David Silver Fei-Fei Li
Organisationer
Deepmind Hi! PARIS Openai MIT CSAIL Mila Google Brain