6. SLP/MLP - AI II Flashcards
Vad är en perceptron? Vad är en begränsning hos en enkel perceptron?
En perceptron är en enkel artificiell neuron som används för att klassificera data baserat på en linjär beslutsyta.
Den kan endast lösa linjärt separerbara problem, som AND och OR, men inte XOR.
Hur fungerar en perceptron?
Tar emot indata (x1, x2, …) och multiplicerar varje indata med en vikt (w1, w2, …).
Beräknar en viktad summa:
y = f(x1 * w1 + x2 * w2)
Använder en aktiveringsfunktion f(·) för att bestämma output.
Vad gör aktiveringsfunktionen i en perceptron?
Den avgör om output ska vara aktiv (t.ex. 1) eller inaktiv (t.ex. 0) genom att använda en tröskelfunktion.
Vad visar diagrammet i bilden?
Diagrammet visar en perceptron med:
Två indata (x1, x2)
Två vikter (w1, w2)
En funktion f(·) som beräknar output y.
Hur används en enkel perceptron för klassificeringsproblem?
En perceptron kan utföra klassificering genom att använda output = 0 för en klass och output = 1 för en annan klass.
Hur kan ett nätverk av perceptroner förbättra klassificeringen?
Genom att använda flera lager av perceptroner (Multi-Layer Perceptron, MLP) kan nätverket hantera icke-linjära klassificeringsproblem.
Vad illustrerar tabellen i “Single Layer Perceptron: Exempel 1”?
Tabellen visar hur en perceptron kan klassificera objekt baserat på deras egenskaper. Två egenskaper (lila och rund) används för att avgöra om ett objekt är ätbart eller inte.
Hur används perceptronen i “Single Layer Perceptron: Exempel 1”?
Perceptronen tar in två egenskaper:
x1 = Lila? (1 = Ja, 0 = Nej)
x2 = Rund? (1 = Ja, 0 = Nej)
Den beräknar en viktad summa och använder en tröskelfunktion för att avgöra om output
y (Äta?) blir 1 (Ja) eller 0 (Nej).
Vilket logiskt uttryck motsvarar “Single Layer Perceptron: Exempel 1”?
Uttrycket motsvarar en AND-funktion eftersom endast objekt som är både lila och runda får output = 1.
Vad illustrerar tabellen i “Single Layer Perceptron: Exempel 2”?
Tabellen visar ett annat klassificeringsproblem där två egenskaper (fyra ben och grön) används för att avgöra om ett objekt kan fly eller inte.
Vilket logiskt uttryck motsvarar “Single Layer Perceptron: Exempel 2”?
Denna klassificering motsvarar en OR-funktion, eftersom objekt som har antingen “fyra ben” eller är “grön” får output = 1 (kan fly).
Hur fungerar klassificering med en SLP?
Syftet är att hitta gränser mellan olika grupper av data genom att använda en linjär beslutsgräns.
Den tar in 1 eller fler dimensioner av data (exempelvis 2D i figuren).
Den separerar data i 2 eller fler klasser med en linjär gräns.
Ge ett exempel på en tillämpning av SLP för klassificering.
En möjlig tillämpning är att diagnostisera sjukdomar, där modellen avgör om en patient har en viss sjukdom eller inte baserat på medicinska data.
Vad betyder True Positive (TP) i en confusion matrix?
True Positive betyder att modellen korrekt har förutspått ett positivt resultat, exempelvis att en patient har en sjukdom och modellen också klassificerar den som sjuk.
Vad är en Confusion Matrix?
En confusion matrix är en tabell som används för att utvärdera prestandan hos en klassificeringsmodell genom att visa antalet korrekt och felaktigt klassificerade instanser i olika kategorier.
Vad betyder True Negative (TN) i en confusion matrix?
True Negative betyder att modellen korrekt har förutspått ett negativt resultat, exempelvis att en patient inte har en sjukdom och modellen klassificerar den som frisk.
Vad betyder False Positive (FP) i en confusion matrix?
False Positive innebär att modellen felaktigt har förutspått ett positivt resultat, exempelvis att en frisk patient felaktigt diagnostiseras som sjuk.
Vad betyder False Negative (FN) i en confusion matrix?
False Negative innebär att modellen felaktigt har förutspått ett negativt resultat, exempelvis att en sjuk patient felaktigt klassificeras som frisk.
Vad är huvudproblemet vid klassificering med en SLP (Single Layer Perceptron)? Vad representerar diagrammen med böjda beslutsgränser?
Att hitta de parametrar som korrekt klassificerar datapunkterna.
De visar exempel på mer komplexa klassificeringsmodeller som kan hantera icke-linjära beslut, till skillnad från en enkel SLP.
Vad visar den röda linjen i diagrammet på sliden “Klassificeringsgraf - fågel”?
Den röda linjen representerar beslutströskeln för en perceptron som använder en OCH-regel, vilket innebär att endast objekt som uppfyller båda kriterierna (lila och rund) klassificeras som ätbara.
Vad visar den röda linjen i diagrammet på sliden “Klassificeringsgraf - trollslända”?
Den röda linjen representerar beslutströskeln för en perceptron som använder en ELLER-regel, vilket innebär att objekt som har minst en av egenskaperna (fyra ben eller grön) klassificeras som fly.
Sanningsvärdetabell för AND
AND-funktionen returnerar 1 (sant) endast om båda inputvärdena är 1.
Regel:
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
Användning: AND används i logiska operationer där båda villkoren måste vara uppfyllda.
Sanningsvärdetabell för OR (inklusive)
OR-funktionen returnerar 1 (sant) om minst ett av inputvärdena är 1.
Regel:
1 OR 1 = 1
1 OR 0 = 1
0 OR 1 = 1
0 OR 0 = 0
Användning: OR används när minst ett av flera villkor ska vara sant.
Sanningsvärdetabell för XOR (exklusiv)
XOR-funktionen returnerar 1 (sant) endast om ett av inputvärdena är 1, men inte båda.
Regel:
1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0
Användning: XOR används i situationer där bara en av flera möjligheter får vara sann.
OR-funktion med exempel?
OR-funktionen returnerar 1 (sant) om minst en av de givna egenskaperna är uppfyllda.
Regel:
Ett objekt får 1 om det har fyra ben eller är grönt, eller båda.
Exempel:
Groda (1,1) → 1
Grön orm (0,1) → 1
Svart katt (1,0) → 1
Viol (0,0) → 0
Visuellt kan OR separeras med en rak linje i ett 2D-plan.
Sammanfattning: OR betyder “fyra ben eller grön, eller både och”.
XOR-funktion med exempel?
XOR-funktionen returnerar 1 (sant) endast om exakt en av de givna egenskaperna är uppfyllda.
Regel:
Ett objekt får 1 om det har fyra ben eller är grönt, men inte båda.
Exempel:
Groda (1,1) → 0
Grön orm (0,1) → 1
Svart katt (1,0) → 1
Viol (0,0) → 0
Visuellt kräver XOR två separata linjer för att separera klasserna i ett 2D-plan.
Sammanfattning: XOR betyder “fyra ben eller grön, men inte både och”.
Hur skiljer sig OR från XOR i fråga om linjär separerbarhet?
OR är linjärt separerbart eftersom en enda linje kan skilja de två klasserna. XOR är däremot inte linjärt separerbart och kräver en mer komplex modell för att separera klasserna.
Vad krävs för att lösa ett icke-linjärt separerbart problem?
För att lösa ett icke-linjärt separerbart problem krävs en mer avancerad modell, som ett flerskiktsperceptron (MLP) eller en annan typ av icke-linjär klassificeringsmetod.
Varför var Minsky & Paperts bok från 1969 viktig för forskningen om neurala nätverk?
De visade att perceptroner inte kan lösa icke-linjärt separerbara problem, vilket ledde till att forskningen på artificiella neurala nätverk avstannade under en längre period.
Hur kan man lösa icke-linjärt separerbara problem med neurala nätverk?
Genom att lägga till ett dolt lager (hidden layer) i nätverket, vilket gör det möjligt att skapa mer komplexa beslutgränser.
Hur fungerar ett Multi Layer Perceptron jämfört med ett Single Layer Perceptron?
Ett Multi Layer Perceptron består av flera perceptroner som arbetar parallellt och kan skapa komplexa beslutgränser genom att kombinera flera lager av neuroner. Varje perceptron kan utföra en linjär separation, men genom att kombinera flera perceptroner kan nätverket hantera mer komplexa problem.
Fler lager ökar nätverkets förmåga att modellera komplexa mönster, men kräver också mer data och beräkningskraft för att tränas effektivt.
Varför är det viktigt att kunna göra flera linjära separationer på samma data?
Det gör att nätverket kan lösa komplexa problem som inte kan delas upp med en enda rak linje, till exempel XOR-problemet eller andra icke-linjärt separerbara problem.
Hur kan ett Multi Layer Perceptron (MLP) lösa XOR-problemet? Vad gör de dolda neuronerna (h₁ och h₂) i MLP när det löser XOR?
Genom att använda ett dolt lager med två neuroner som var för sig skapar linjära separationer. Kombinationen av dessa neuroner gör att nätverket kan modellera den icke-linjära relationen i XOR.
De skapar mellanliggande beslut som gör att XOR kan delas upp i två linjära separationer, vilket en enkel perceptron inte kan göra ensam.
Vad innebär det att ett nätverk representerar XOR?
Det betyder att nätverket kan ta två binära indata och korrekt avgöra om exakt en av dem är sann (1), men inte båda.
Vad innebär det att träna ett Multi Layer Perceptron?
Att justera vikterna i nätverket så att det korrekt lär sig mönstret i datan och ger rätt output enligt sanningsvärdetabellen.
Vad mer kan ett Multi Layer Perceptron (MLP) representera utöver XOR?
Ett MLP kan även representera logiska funktioner som AND och OR, precis som ett Single Layer Perceptron (SLP), men har utökad kapacitet för mer komplexa problem.
Det betyder att nätverket kan anpassas och tränas för att lösa mycket komplexa problem genom att justera antalet lager och neuroner.
Är Multi Layer Perceptrons en garanterad lösning för alla problem?
Nej, MLPs ger ofta en ungefärlig lösning och kräver justering av arkitektur och parametrar för att fungera optimalt för olika problem.
Varför behövs ofta fler gömda neuroner än inputnoder i ett MLP?
För att kunna lära sig mer komplexa mönster och skapa flera linjära separationer som tillsammans kan hantera icke-linjära problem.
Varför kan vi inte designa Multi Layer Perceptrons (MLPs) enbart utifrån logiska sanningsvärdetabeller?
För att vi ofta inte vet vilken logisk funktion som är relevant för klassificering, och MLPs kan bli för stora och komplexa för att manuellt designa på det sättet.
Vad behöver vi för att kunna träna ett MLP effektivt?
En generell träningsalgoritm som automatiskt justerar nätverkets vikter utan att vi behöver tänka i logiska termer.
Vad är en av utmaningarna med att arbeta med stora MLPs?
Ju större nätverket är, desto fler parametrar måste tränas, vilket gör det svårare att hitta optimala vikter och undvika överanpassning.
Vad är Credit Assignment Problem i MLPs? Varför uppstår inte Credit Assignment Problem i Single Layer Perceptrons (SLPs)?
Det är problemet med att avgöra vilka vikter i vilka lager som orsakar felet när nätverket ger en felaktig output.
Eftersom SLPs bara har ett lager där felet kan uppstå, vilket gör det enklare att identifiera och justera vikterna.
Varför är Credit Assignment Problem svårare i djupa nätverk?
Eftersom felet kan komma från flera olika lager, och det är svårt att avgöra exakt var justeringen behöver göras för att förbättra nätverkets prestanda.
Hur hanteras Credit Assignment Problem vid träning av MLPs?
Genom backpropagation och gradient descent, som fördelar felet bakåt genom nätverket och uppdaterar vikterna på ett optimerat sätt.
Hur justeras felen i ett Multi Layer Perceptron (MLP)? Vad kallas metoden för att sprida felet bakåt i nätverket?
Genom att börja från utgången och gå bakåt genom nätverket, lager för lager, beräknas hur stort felet är och vikterna justeras för att minska felet.
Den kallas Backpropagation och används för att uppdatera vikterna i varje lager så att nätverket lär sig rätt samband.
Hur beräknas felet i varje lager under backpropagation?
Felet beräknas genom att jämföra nätverkets utgång med det korrekta värdet och sedan sprida detta fel bakåt genom alla lager med hjälp av gradient descent.
Vad är syftet med Gradient Descent i backpropagation?
Gradient Descent används för att hitta de mest optimala vikterna som minimerar felet (loss function) och förbättrar nätverkets prestanda över tid.
Vad är en optimizer i Keras?
En optimizer är en algoritm som justerar vikterna i varje lager av nätverket under träningen. Exempel inkluderar SGD (Stochastic Gradient Descent) och Adam.
Vad är skillnaden mellan loss och optimizer i Keras?
Loss mäter hur stor skillnaden är mellan nätverkets förutsägelse och det verkliga värdet.
Optimizer justerar nätverkets vikter för att minimera loss genom backpropagation.
Hur specificeras loss och optimizer i Keras?
Vid kompilering av modellen, t.ex.:
model.compile(loss=’sparse_categorical_crossentropy’, optimizer=’Adam’)
Här används Sparse Categorical Crossentropy för att mäta felet och Adam som optimeringsalgoritm.
Hur väljer man en loss-funktion och optimizer?
När man tränar ett neuralt nätverk behöver man välja en loss-funktion för att mäta felet och en optimizer för att justera vikterna. Olika problem kräver olika kombinationer av loss och optimizer.
Vad betyder Sparse Categorical Crossentropy?
Det är en loss-funktion som används för klassificeringsproblem där målvärdena är hela kategoriska tal istället för att vara representerade som vektorer.
Vad är Forward Pass i ett neuralt nätverk?
Forward Pass är processen där indata passerar genom nätverket och genererar en output baserat på de aktuella vikterna. Steg 1.
Vad innebär lossberäkning i träningen av ett neuralt nätverk?
Lossberäkning mäter hur stor skillnaden är mellan nätverkets förutsägelse och det förväntade svaret med hjälp av en loss-funktion. Steg 2.
Vad är backpropagation och varför används det?
Backpropagation är metoden som används för att justera vikterna i nätverket genom att sprida felet bakåt från outputlagret till tidigare lager och uppdatera vikterna för att minska felet. Steg 3.
Hur länge upprepas träningsprocessen i ett neuralt nätverk?
Processen upprepas i flera träningscykler, kallade epoker, tills nätverket har lärt sig att minimera felet och ge korrekta förutsägelser. Steg 4.
Varför var XOR-problemet svårt att lösa innan backpropagation?
XOR kan inte lösas med en Single Layer Perceptron eftersom det inte är linjärt separerbart. Man visste att Multi Layer Perceptrons kunde lösa det, men det fanns ingen effektiv algoritm för att träna dem.
Backpropagation är en algoritm som används för att träna neurala nätverk genom att sprida felet bakåt i nätverket och justera vikterna för att förbättra prestandan.
När utvecklades backpropagation som en lösning? Varför tog det tid innan backpropagation kunde användas effektivt?
Backpropagation utvecklades på 1980-talet som en lösning på träningsproblemet för Multi Layer Perceptrons. På 1980-talet var backpropagation en teoretisk lösning, men det saknades tillräcklig datorkraft och stora dataset för att testa den i praktiken.