11. Transformers - AI II Flashcards

1
Q

Vad är Transformers?

A

Transformers är en typ av neural nätverksarkitektur som revolutionerade Natural Language Processing (NLP) och många andra AI-applikationer. De introducerades i “Attention is All You Need” (2017) av Vaswani et al.

Tidigare användes RNNs (Recurrent Neural Networks) och LSTMs (Long Short-Term Memory) för språkmodellering, men de hade problem:

Lång träningstid
Svårt att hantera långa sammanhang
Parallellisering var begränsad

Transformers löste dessa problem genom själv-uppmärksamhet (Self-Attention) och parallell beräkning, vilket gjorde modeller som BERT och GPT möjliga.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Varför är Transformers så viktiga?

A

De kan förstå kontext bättre än RNNs – även om orden är långt ifrån varandra.

De tränar snabbare eftersom de inte behöver gå igenom ord ett i taget (till skillnad från RNNs).

De används i många moderna AI-modeller såsom:
GPT-4 (ChatGPT)
BERT (Google)
T5 (Text-to-Text Transfer Transformer)
ViT (Vision Transformer för bilder)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

“Attention Is All You Need” - Grundläggande Förståelse

A

Denna slide visar framsidan av den berömda forskningsartikeln “Attention Is All You Need”, publicerad av Vaswani et al. 2017. Det är denna artikel som introducerade Transformers, en arkitektur som förändrade AI och NLP för alltid.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad handlar artikeln om?

A

Huvudpoängen i artikeln är att:

Tidigare modeller för sekvensbaserade problem använde Recurrent Neural Networks (RNNs) och Long Short-Term Memory (LSTMs).

Dessa metoder var långsamma och hade svårt att hantera långa texter eller sekvenser.

Transformers ersätter dessa genom att använda Självuppmärksamhet (Self-Attention) och Parallellisering, vilket gör dem snabbare och mer effektiva.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Viktiga bidrag från artikeln?

A

Transformer-arkitekturen introduceras
Istället för att bearbeta text sekventiellt som RNNs gör, kan Transformers bearbeta hela texten på en gång genom Self-Attention.

Self-Attention är nyckeln
Modellen lär sig vilka delar av texten som är viktiga genom att väga ordens betydelse i relation till andra ord.
Exempel: I meningen “The animal didn’t cross the street because it was too tired.” måste modellen förstå att “it” refererar till “the animal”.

Multi-Head Attention
Modellen kan ha flera uppmärksamhetsmekanismer som fokuserar på olika aspekter av texten samtidigt.

Parallellisering & Effektivitet
RNNs måste bearbeta text steg för steg, men Transformers kan behandla alla ord samtidigt, vilket ger snabbare träning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Varför är detta så revolutionerande?

A

Tränar snabbare än RNNs/LSTMs.
Fångar kontext bättre genom självuppmärksamhet.
Används i alla moderna AI-modeller, t.ex. GPT-4, BERT, T5.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the main components of a Transformer model?

A

A Transformer consists of an encoder and a decoder, each made up of multiple layers containing self-attention mechanisms, feed-forward networks, layer normalization, and positional encoding.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the role of the encoder in a Transformer model?

A

The encoder processes the input sequence by applying self-attention and feed-forward layers to generate meaningful representations for the decoder.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the role of the decoder in a Transformer model?

A

The decoder generates the output sequence by attending to both the encoder’s outputs and previously generated tokens using masked self-attention.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Multi-Headed Self-Attention?

A

It is a mechanism that allows the model to focus on different parts of a sequence simultaneously, capturing multiple contextual relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why is Positional Encoding important in Transformers?

A

Since Transformers do not process words sequentially like RNNs, positional encoding provides information about word order to the model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Layer Normalization and why is it used?

A

Layer normalization helps stabilize and speed up training by normalizing activations within each layer, preventing gradient issues.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are some advantages of Transformers over RNNs?

A

Transformers enable parallelization, capture long-range dependencies effectively, and achieve state-of-the-art performance in NLP tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why is Masked Multi-Headed Self-Attention used in the decoder?

A

It prevents the model from attending to future tokens during training, ensuring autoregressive generation (word prediction step-by-step).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the difference between Self-Attention and Cross-Attention?

A

Self-attention allows the model to relate words within the same sequence, while cross-attention in the decoder helps it focus on relevant parts of the encoded input.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does the Feed-Forward Network contribute to the Transformer model?

A

It applies additional transformations to enhance feature representations, improving model expressiveness and learning capacity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hur Transformers-modellen fungerar – Steg för steg
1. Inmatning och Embeddings

A

Textinput: Modellen tar emot en sekvens av ord, t.ex. meningen “Jag älskar AI!”.

Tokenisering: Varje ord delas upp i mindre delar som kallas tokens (t.ex. “Jag”, “älskar”, “AI”, “!”).

Embeddings: Varje token omvandlas till en vektor (en lista av siffror) som representerar ordets betydelse i ett fler-dimensionellt rum.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  1. Positional Encoding – Varje ord får en position
A

Eftersom en Transformer inte behandlar ord i en bestämd ordning som en Recurrent Neural Network (RNN), måste modellen få en uppfattning om var i sekvensen varje ord hör hemma.

Positional Encoding lägger till unika numeriska mönster till varje ords vektor, så att modellen kan förstå ordningen i meningen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  1. Encoder – Bearbetar inmatningen
A

Transformers använder Encoders för att analysera den inmatade texten.

Varje Encoder-lager består av:

Multi-Headed Self-Attention
Vad? En mekanism där varje ord jämförs med alla andra ord i meningen.
Hur? Modellen beräknar “Hur mycket ska jag fokusera på varje ord i förhållande till andra?”
Varför? Detta gör att modellen kan förstå sammanhang och samband mellan ord i meningen.

Feed-Forward Network
Ett fullständigt anslutet nätverk som bearbetar informationen vidare och skapar djupare förståelse av texten.

Layer Normalization
Justerar och stabiliserar värdena för att förhindra överdrivna förändringar i dataflödet.
Flera encoders staplas på varandra (Nx “Layers”), vilket gör att modellen kan bygga en allt mer avancerad förståelse av texten.

20
Q
  1. Decoder – Skapar utmatningen
A

Efter att encoders har bearbetat texten, används Decoders för att generera svaret (t.ex. en översättning, en sammanfattning, eller ett svar i en chattbot).

Varje Decoder-lager består av:

Masked Multi-Headed Self-Attention
Fungerar på samma sätt som Self-Attention i encodern, men är maskerad för att modellen inte ska kunna se framtida ord – detta är särskilt viktigt vid textgenerering (så att den skapar en mening ett ord i taget).

Multi-Headed Cross-Attention
Jämför informationen från encodern med den redan genererade texten för att skapa en relevant fortsättning.

Feed-Forward Network & Normalization
Bearbetar och förbättrar informationen innan nästa ord genereras.

20
Q

Attention?

A

Attention är en mekanism som gör att modellen kan fokusera på viktiga delar av indata istället för att behandla all information lika. Det används för att hitta relationer mellan ord i en sekvens, även om de är långt ifrån varandra.

21
Q
  1. Slutlig utmatning – Prediktion av ord
A

Till slut genererar decodern ett nytt ord baserat på vad den har bearbetat hittills.
Detta upprepas ord för ord tills hela svaret har genererats.
Ett Softmax-lager används för att välja det mest sannolika nästa ordet.

Slutligen får vi en mening, t.ex.:
Input: “Jag älskar AI!”
Output (om det vore en översättningsmodell): “I love AI!”

22
Q

Cross-attention?

A

Cross-attention används i en dekoder för att koppla ihop information från inputsekvensen (encoder) med outputsekvensen (decoder).

22
Q

Self-attention?

A

Self-attention låter modellen jämföra varje ord i en mening med alla andra ord i samma mening för att förstå sammanhanget.

23
Q

Multi-headed attention?

A

Multi-headed attention innebär att flera attention-mekanismer körs parallellt. Varje “head” kan fokusera på olika delar av texten samtidigt, vilket gör modellen bättre på att förstå komplexa mönster.

24
Q

Masked Multi-headed attention?

A

Används i transformermodellens dekoder. Maskering gör att modellen inte kan titta på framtida ord i sekvensen när den genererar text, vilket är viktigt vid exempelvis textförutsägelse.

25
Q

Hur hänger allt ihop och samband mellan begreppen?

A

Self-attention hjälper modellen förstå ordens betydelse i sin kontext.

Cross-attention kopplar ihop indata med output.

Multi-headed attention gör processen mer effektiv genom att använda flera attention-mekanismer parallellt.

Masked Multi-headed attention ser till att text genereras stegvis utan att modellen “fuskar” och ser framtida ord.

Allt detta tillsammans gör att transformers kan förstå och generera naturligt språk på ett smart och effektivt sätt.

26
Q

Exempel på dessa begrepp?

A
  1. Attention
    Exempel:
    Meningen “Jag såg en vacker fågel i trädet.”_
    Attention hjälper modellen att fokusera på viktiga ord, t.ex. “vacker” och “fågel”, för att förstå att det handlar om en beskrivning av fågeln.
  2. Self-Attention
    Exempel:
    Meningen “Jag såg en vacker fågel i trädet.”_
    Self-attention gör att modellen förstår att “vacker” beskriver “fågel”, även om det finns andra ord mellan dem.
  3. Cross-Attention
    Exempel:
    Översättning av “Jag såg en vacker fågel i trädet.”_ till engelska.

Cross-attention kopplar ihop svenska ord med deras engelska motsvarigheter (“I saw a beautiful bird in the tree.”), så att rätt ord hamnar på rätt plats i den översatta meningen.
4. Multi-Headed Attention
Exempel:
Meningen “Jag såg en vacker fågel i trädet.”_

En attention-head fokuserar på “vacker-fågel”, en annan fokuserar på “fågel-trädet”, och en tredje kanske på “såg-fågel”. Detta hjälper modellen att förstå sammanhanget bättre.

  1. Masked Multi-Headed Attention
    Exempel:
    Autokomplettering av meningen “Jag såg en vacker…”
    Masked multi-headed attention hindrar modellen från att se att nästa ord är “fågel”, så att den förutser det baserat på tidigare ord istället för att “fuska”.
  2. Samband mellan dem
    Alla dessa mekanismer handlar om att identifiera och förstå relationer mellan ord:

Self-attention analyserar kopplingar inom en mening.
Cross-attention hjälper vid översättning eller koppling mellan input och output.
Multi-headed attention gör att modellen ser flera relationer samtidigt.
Masked multi-headed attention används för textgenerering och förhindrar modellen från att se framtida ord.

27
Q

Vad är ett Transformers Block?

A

Ett transformers block är den grundläggande byggstenen i en transformermodell. Det består av flera komponenter som gör att modellen kan bearbeta sekventiell data (t.ex. text) effektivt.

Komponenter i ett Transformers Block:
Self-Attention Mechanism – Hjälper modellen att fokusera på viktiga delar av indata.
Multi-Headed Attention – Flera attention-huvuden analyserar olika samband i texten.
Feed-Forward Neural Network – En fullt ansluten neural nätverksdel som processar data efter attention-steget.
Layer Normalization – Hjälper modellen att stabilisera inlärningen.
Residual Connections – Gör att information flödar smidigt mellan lager och motverkar att viktig information går förlorad.

28
Q

Hur används Transformers Block?

A

Flera transformers-block staplas på varandra i en modell som BERT eller GPT, vilket gör att modellen kan förstå komplexa sammanhang.
Varje block bearbetar indata på ett djupare sätt genom att extrahera viktiga relationer mellan ord eller andra element i datan.

Varför är det viktigt?
Transformers-blocket är grunden för dagens mest avancerade AI-modeller och gör det möjligt för dem att hantera språk, bilder och andra komplexa datamängder med hög precision.

29
Q

Struktur av ett Transformers Block?

A

Vad innehåller ett Transformers Block?
Ett transformers block består av två huvudkomponenter:

Multi-Headed Self-Attention
Hjälper modellen att väga olika ords betydelse i relation till varandra.
Använder Query (Q), Key (K) och Value (V) för att räkna ut attention-poäng.
Gör att modellen kan fokusera på olika aspekter av indata samtidigt.

Feed-Forward Network (FFN)
Ett enkelt neuronalt nätverk som bearbetar varje tokens representation.
Ger modellen kapacitet att lära sig mer komplexa mönster.

Andra viktiga delar:
- Layer Normalization – Stabiliserar inlärningen genom att hålla distributionen av värden jämn.
- Residual Connections (+) – Hjälper information att flöda genom modellen utan att gå förlorad.

Varför är det viktigt?
Ett transformers-block gör att modellen kan förstå relationer mellan ord och bearbeta text parallellt istället för sekventiellt (som RNNs).
Detta gör att modeller som GPT och BERT kan hantera långa texter snabbare och mer exakt.

30
Q

Vad är ett Feed-Forward Network (FFN) i en transformer?

A

Det är en del av transformermodellen som hanterar information efter att attention-mekanismen har bearbetat datan.

Varje ord i inputsekvensen bearbetas individuellt, utan att påverka andra ord direkt.

FFN fungerar som ett litet neuronätverk där informationen först expanderas till 4 gånger sin ursprungliga storlek, bearbetas, och sedan krymper tillbaka.

Detta hjälper modellen att förstå mer komplexa samband och förbättrar dess förmåga att generalisera.

31
Q

Vad händer med dimensionerna i Feed-Forward Network?

A

När en ordvektor går in i FFN, förstoras dess dimensioner 4 gånger för att skapa fler möjligheter att lära sig detaljer.
Efter att modellen bearbetat den expanderade informationen, krymps den tillbaka till sin ursprungliga storlek.
Detta görs för att först berika informationen och sedan hålla storleken hanterbar.

Exempel:
Om en inputvektor har dimensionen 512, förstoras den till 2048, bearbetas, och sedan minskas den tillbaka till 512.

32
Q

Varför behöver vi normalisera i en transformer?

A

Normalisering ser till att värdena i modellen inte blir för extrema.
Det hjälper modellen att träna stabilt, så att den inte fastnar i dåliga lösningar.
Normalisering görs genom att:
Justera alla värden så att de har en genomsnittlig nivå (standardisering).
Skala och skifta värdena så att de anpassas efter datan.

x̂ᵢ = (xᵢ - μ) / sqrt(σ² + ε)

Här ser vi att varje värde x justeras baserat på medelvärde μ och spridning σ².
ε används för att undvika delning med noll.

33
Q

Vad gör γ (gamma) och β (beta) i normalisering?

A

Gamma (γ) skalar om värdena efter normalisering.
Beta (β) skiftar värdena för att anpassa modellen.
Modellen tränar dessa värden själv för att hitta den bästa anpassningen.

yᵢ = γ * x̂ᵢ + β

Efter att datan standardiserats i föregående steg, kan vi skala och skifta värdena för att göra dem mer användbara för modellen.

34
Q

Hur samarbetar FFN, attention och normalisering i en Transformer?

A

Attention-mekanismen (Multi-Headed Self-Attention) avgör vilka ord i sekvensen som är viktiga.

Feed-Forward Network bearbetar varje ord individuellt, förstorar informationen, bearbetar den och minskar tillbaka.

Normalisering ser till att allt stabiliseras och hålls inom rimliga värden, så att träningen fungerar bra.

Exempel på hur det fungerar tillsammans:
Du skriver en mening: “Jag älskar AI”
Attention avgör att “älskar” är det viktigaste ordet.
FFN förstorar ordens betydelse, bearbetar och komprimerar igen.
Normalisering ser till att värdena är stabila så att träningen fungerar jämnt.

35
Q

Vad är Positional Encoding och varför behövs det i en transformer?

A

Positional Encoding är en teknik som används i transformers för att ge sekventiell information till modellen. Eftersom transformerarkitekturen inte har någon inbyggd ordningsstruktur (som t.ex. RNNs har), behöver vi Positional Encoding för att modellen ska förstå i vilken ordning orden kommer. Detta görs genom att addera vektorer med s.k. sinus- och cosinus-värden till varje ords embedding.

36
Q

Vilken formel används för att beräkna Positional Encoding?

A

P(k, 2i) = sin(k / n^(2i/d))
P(k, 2i+1) = cos(k / n^(2i/d))

Där:

k = positionen i sekvensen (exempelvis ordens plats i en mening)

i = indexet i den dimensionsvektor som används

d = den totala dimensionen av vektorn (exempelvis 512 om vi använder en 512-dimensionell embedding)

n = en skalningsfaktor (vanligtvis 10 000)

37
Q

Vad betyder sinus och cosinus?

A

Sinus (sin) och cosinus (cos) är två grundläggande matematiska funktioner som kommer från trigonometri. De används för att beskriva förhållanden i en cirkel.

Sinus (sin) – Mäter höjden (Y-värdet) på en punkt på enhetscirkeln.
Cosinus (cos) – Mäter bredden (X-värdet) på en punkt på enhetscirkeln.
Båda dessa funktioner varierar mellan -1 och 1, vilket gör dem perfekta för att skapa en jämn vågrörelse som kan representera olika positioner i en sekvens.

38
Q

Varför används just sinus och cosinus för att representera positioner i Positional Encoding?

A

Eftersom transformers saknar en inbyggd förståelse för ordning, behöver vi Positional Encoding för att ge modellen en uppfattning om var varje ord befinner sig i en sekvens.

Sinus används för jämna index (2i) och cosinus används för udda index (2i+1).
Detta gör att varje ord får en unik representation beroende på var det befinner sig i sekvensen.
Eftersom sinus och cosinus har en periodisk natur (de upprepar sig i ett vågmönster), kan modellen också generalisera positioner för långa sekvenser.

39
Q

Exempel?

A

Tänk dig en mening:
“Jag älskar att lära mig AI”

Varje ord får en embedding, men utan Positional Encoding vet modellen inte ordningsföljden.

Efter Positional Encoding:

“Jag” får en viss vektor baserat på sin plats (1:a ordet).
“älskar” får en annan vektor (2:a ordet).
“att” får en annan, och så vidare.
Sinus och cosinus gör att dessa vektorer får en regelbunden och unik struktur som hjälper modellen att förstå sekvensens ordning.

40
Q

Vad är skillnaden mellan BERT och GPT?

A

BERT (Bidirectional Encoder Representations from Transformers)
Tränar på hela meningen samtidigt (bidirektionell)
Används för uppgifter som tex. frågesvar, sentimentanalys
Maskerar ord i input och förutspår dem

GPT (Generative Pre-trained Transformer)
Tränar på text från vänster till höger (autoregresseiv)
Används för generering av text, dialogsystem
Förutspår nästa ord i sekvensen

41
Q

Hur fungerar BERT i praktiken?

A

Exempel på maskerad inlärning:

Input: “Jag gick till [MASK] för att köpa mjölk.”
BERT Output: “[MASK] = affären”
BERT kan förstå kontexten genom att analysera hela meningen samtidigt.

42
Q

Hur fungerar GPT i praktiken?

A

Exempel på textgenerering:

Input: “Det var en gång en prinsessa som bodde i…”
GPT Output: “…ett slott långt bort, där hon väntade på ett äventyr.”
GPT genererar text baserat på tidigare ord i sekvensen.

43
Q

När är GPT bättre?

A

GPT är autoregresseiv och genererar text steg för steg baserat på tidigare ord.
Om du har en öppen fråga där det inte finns ett direkt svar i en text, då är GPT bättre.
Exempel:
Fråga: “Vad tycker du om AI:s framtid?”
GPT Output: “AI kommer att ha en stor inverkan på samhället, särskilt inom automatisering och forskning.”
GPT är bäst när vi vill ha sammanhängande svar, argumentation, och kreativt språk.
Därför används GPT i chattbotar, kundtjänst, och assistenter (som jag!).

44
Q

När är BERT bättre?

A

BERT är bidirektionell, vilket betyder att den ser hela frågan och kontexten samtidigt.
Om du har en fråga där svaret redan finns i en text, då är BERT bäst!
Exempel:
Fråga: “Vad är huvudstaden i Frankrike?”
Text: “Paris är huvudstaden i Frankrike.”
BERT Output: “Paris” (tar ut rätt svar ur texten).
BERT används i system som Google Sök, där den analyserar hela frågan och texten samtidigt för att hitta det mest relevanta svaret.