AI Deep & Simple NN & RL Flashcards
Vad är fördelarna med en Single Layer Perceptron?
Enkel och lätt att implementera.
Träningstid är relativt snabb jämfört med andra neurala nätverksarkitekturer.
Bra för binära klassificeringsuppgifter och linjärt separerbara problem.
Kan användas som byggsten för mer komplexa neurala nätverksmodeller.
Vad är djupinlärning?
Djupinlärning är en delmängd av maskininlärning som fokuserar på användningen av neurala nätverk med många lager för att lära sig och extrahera komplexa mönster från stora mängder data. Det kallas “djup” inlärning eftersom dessa neurala nätverk består av flera lager (därav “deep”) som bidrar till att förbättra modellens kapacitet att lära sig detaljerade och abstrakta representationer av data.
Vad är nackdelarna med en Single Layer Perceptron?
Begränsad till linjärt separerbara problem och kan inte lära sig komplexa beslutsgränser.
Kan endast modellera en enda utgångsvariabel.
Inte lämplig för uppgifter som kräver multi-klassklassificering.
Kan drabbas av vanishing gradient problem vid träning av djupa nätverk.
Benägen att överanpassa på brusig data eller data med hög dimensionalitet.
Vad visar bilden på slide 4 om Single Layer Perceptron?
Bilden illustrerar en Single Layer Perceptron med ingångar, vikter, en aktiveringsfunktion och en utgång. Den visar hur en enkel perceptron tar flera ingångar, multiplicerar dem med vikter, summerar resultaten och skickar summan genom en aktiveringsfunktion för att producera en utgång.
Hur kan MLP (Multi-Layer Perceptron) användas för att lösa icke-linjära klassificeringsproblem?
MLP kan hantera icke-linjära relationer genom att använda flera lager av neuroner och icke-linjära aktiveringsfunktioner, vilket gör det möjligt att lära sig komplexa mönster och beslutsgränser.
Vilka är egenskaperna hos MNIST-datasetet för handskrivna siffror?
MNIST-datasetet innehåller bilder av handskrivna siffror, där varje bild är 28x28 pixlar i gråskala. Datasetet används ofta för att träna och testa maskininlärningsmodeller för bildigenkänning.
Hur hanterar man textklassificering med djupinlärning?
Samla och förbehandla data: Samla ett dataset med etiketterad textdata och förbehandla det genom att rensa, normalisera och koda textdata.
Dela upp data: Dela upp data i tränings-, validerings- och testset.
Förbered input: Konvertera den förbehandlade textdata till numeriska representationer med hjälp av tekniker som tokenisering, vektorisering eller ordinbäddningar.
Kan pixelbaserad funktionsrepresentation användas för komplexa problem?
Deep learning-algoritmer använder stora mängder data för att lära sig mönster och göra förutsägelser. De använder backpropagation för att justera vikterna i det neurala nätverket för att minimera fel. De är också kapabla till unsupervised learning och funktionsutvinning, vilket gör dem mycket flexibla och anpassningsbara till nya data och uppgifter.
Vad är en Convolutional Neural Network (CNN)?
En Convolutional Neural Network (CNN) är en typ av djupinlärningsmodell som är särskilt effektiv för att bearbeta grid-liknande data, som bilder. CNN använder konvolutionella lager för att automatiskt extrahera funktioner från indata, vilket gör den särskilt kraftfull för bildigenkänning och datorsyn.
Hur fungerar ett Convolutional Neural Network (CNN)?
Convolutional Layers: Använder filter (kärnor) för att extrahera funktioner genom att utföra en matematisk operation kallad konvolution.
Pooling Layers: Minskar storleken på funktionskartorna som produceras av konvolutionella lager, vilket gör nätverket mer beräkningsmässigt effektivt. Maxpooling är den vanligaste typen, som väljer maxvärdet från en liten region av funktionskartan.
Fully Connected Layers: Det plattade utdata från konvolutionella och pooling-lager matas till fullt anslutna lager som utför klassificeringsuppgifter.
Hur fungerar djupinlärning?
Djupinlärning fungerar genom att använda djupa neurala nätverk, som består av flera lager av neuroner, för att lära sig mönster och representationer från data. Genom att använda tekniker som backpropagation och optimeringsalgoritmer justerar nätverket sina vikter för att minimera fel och förbättra prestandan.
Hur används Recurrent Neural Networks (RNN) för att spåra information i sekventiella videoramar?
RNN:er har loopar i sin arkitektur vilket gör att de kan bearbeta sekvenser av indata. De behåller ett internt tillstånd eller “minne” som används för att informera framtida förutsägelser eller beslut.
LSTM (Long Short-Term Memory): En vanlig RNN-arkitektur som används för språkmodellering, taligenkänning, maskinöversättning, bildtextning och musikgenerering.
Begränsning: RNN:er kan vara beräkningsmässigt dyra att träna.
Vad är Generative Adversarial Networks (GANs) och hur fungerar de?
Generator Network: Tar en slumpmässig brusvektor som input och genererar ny data (bilder eller text) som liknar den verkliga datan.
Discriminator Network: Tar emot både verkliga och genererade data och försöker klassificera vilken som är vilken.
De två nätverken tränas tillsammans i ett spel-liknande sätt, där generatorn försöker lura diskriminatorn och diskriminatorn försöker korrekt klassificera datan.
Begränsning: GANs kan vara svåra att träna och kan drabbas av mode collapse, där generatorn producerar begränsade variationer av samma utdata istället för diversifierade utdatan.
Hur skapas deep fake-videor?
Träna ett djupt neuralt nätverk med en stor dataset av verkliga videor och bilder för att generera nya videor som liknar de ursprungliga videorna.
Nätverket lär sig mönster och egenskaper hos ansikts- och kroppsrörelser, tal och andra visuella och ljudfunktioner som finns i de ursprungliga videorna.
För att skapa en deep fake-video, samla ett stort antal bilder och videor av personen som ska imiteras.
Algoritmen genererar en ny video som kombinerar ansikts- och talfunktioner hos personen som imiteras med ljud- och visuellt innehåll från en annan video.
Den nya videon förfinas för att producera mer övertygande och realistiska resultat.
Vad är Explainable AI (XAI)?
Explainable AI syftar till att göra AI-beslut förståeliga och transparenta för användare. Det hjälper till att bygga förtroende i AI-system genom att ge insikt i hur och varför specifika beslut fattades av modellen.
Vad är de grundläggande stegen i att designa en djupinlärningsmodell?
Identifiera problemet: Första steget är att identifiera problemet du vill lösa, som kan vara bildigenkänning, naturlig språkbehandling, etc.
Välj rätt arkitektur: Välj den djupinlärningsarkitektur som bäst passar problemet. Vanliga arkitekturer inkluderar CNNs för bildigenkänning, RNNs för sekventiell data, och Transformer-modeller för naturlig språkbehandling.
Förbered data: Förbered data genom att rensa, förbehandla och dela upp det i tränings-, validerings- och testset.
Träna modellen: Träna modellen med träningsdata och övervaka dess prestation på valideringssetet. Justera hyperparametrarna (inlärningshastighet, batchstorlek, etc.) vid behov för att förbättra prestandan.
Utvärdera modellen: Utvärdera modellens prestanda på testsetet för att se hur väl den presterar på osedda data.
Finjustera modellen: Finjustera modellen genom att justera arkitekturen eller hyperparametrarna ytterligare för att förbättra prestandan
Hur utvärderas en djupinlärningsmodell?
En djupinlärningsmodell utvärderas genom att använda ett testset som modellen inte har sett tidigare under träningen. Vanliga metoder inkluderar att mäta noggrannhet, precision, återkallelse och F1-score. Dessa mått hjälper till att bedöma hur bra modellen presterar på osedda data.
Vad är överanpassning (overfitting)?
Överanpassning uppstår när en modell presterar mycket bra på träningsdata men dåligt på testdata. Det innebär att modellen har lärt sig detaljer och brus i träningsdata som inte generaliserar till nya data.
Hur kan överanpassning (overfitting) undvikas?
Regularisering: Lägg till en straffterm för stora vikter i förlustfunktionen (t.ex. L1- eller L2-regularisering).
Dropout: Slumpmässigt nollställning av vissa neuroner under träningen för att förhindra att nätverket blir för specialiserat.
Tidigt stopp (Early stopping): Stoppa träningen när prestandan på valideringssetet börjar försämras.
Dataaugmentation: Generera fler träningsdata genom att applicera slumpmässiga transformationer på befintliga data.
Training Simple ANNs
Hur hittar vi värdena på vikterna för olika (logiska) funktioner?
Biologiska synapser kan modifieras av erfarenhet.
En enkel perceptron (SLP) har en inlärningsregel som gör att den också kan lära sig av erfarenhet (data).
Vilka två alternativ finns för att träna en enkel ANN?
Manuellt välja viktvärden själva.
Använda en inlärnings- eller träningsregel.
Hur kan vi använda en sanningsvärdetabell för att träna en enkel ANN? (Manuellt välja viktvärden själva)
Sätt vikterna w1 och w2 till specifika värden (t.ex. 1.0).
Sätt tröskelvärdet θ till ett specifikt värde (t.ex. 0).
Beräkna aktiveringsvärdet
a genom att summera de viktade ingångarna.
Använd aktiveringsfunktionen för att bestämma utgången y
Jämför utgången med målvärdet t för att justera vikterna vid behov.
Vad är perceptron inlärningsregel och hur används den? (Använda en inlärnings- eller träningsregel)
Perceptron inlärningsregel används för att uppdatera vikterna baserat på felet mellan förväntad utgång och faktisk utgång. Formeln är
w′ = w + αx (t−y)
α är inlärningshastigheten,
x är ingången,
t är målvärdet
y är den faktiska utgången.
Hur justeras vikterna om de är för svaga eller för starka?
Om felet t −y > 0
t−y>0 (t.ex. t=1, y=0), öka w med en liten mängd.
Om felet
t − y ≤ 0 (t.ex. t=0, y=1), minska w med en liten mängd.