Kurs
AI i åk 10: djupinlärning och multimodal AI
Bygg och träna neuronnät i PyTorch för bilder, text och ljud.
Gå igenom lektionerna i ordning. I slutet kan du räkna ut en neurons utdata, jämföra aktiveringarna ReLU, sigmoid och softmax och skriva framåtpasset för ett litet nät med NumPy. Du kan välja en förlust, förklara gradientnedstigning och bakåtpropagering och skriva ett skript med en hel tränings- och testloop i PyTorch. Du kan träna en bildklassificerare med ett CNN, träna en sentimentklassificerare att skilja positiva från negativa recensioner, förklara hur uppmärksamhet väger andra tokens och klassificera korta ljudklipp. Du kan minska överanpassning, finjustera en förtränad modell på nya klasser, gruppera misstag och hitta deras orsak, och presentera en intelligent viltmonitor testad på osedda bilder.
Så använder du lektionerna
- Börja på lektionen märkt Gör det här. Gå vidare när du själv kan göra raden under titeln.
- Spela Spel först. Gör Quiz sedan. 8 av 10 rätt för att klara. Arbetsblad är på papper. Svar finns längst ner.
- Varje lektion bygger på den förra. Skriv upp varje träning: inställningarna, förlustkurvan och testpoängen.
- Kodlektionerna använder Python och PyTorch i en gratis nätanteckningsbok med en GPU. Små modeller och små datamängder räcker. Använd bara öppna datamängder du får använda. Träna aldrig på foton av människor utan deras lov.
Varje lektion har spel, quiz och arbetsblad.
0 av 36
Grunder för neuronnät
- 1NeuronerRäkna ut en neurons utdata från indata, vikter och bias.
- Skriv den viktade summan plus bias.
- Räkna den för hand för tre indata.
- Räkna den i kod med en skalärprodukt.
- 2AktiveringarJämför aktiveringarna ReLU, sigmoid och softmax.
- Rita varje aktivering.
- Förklara varför ett nät behöver en icke-linjär aktivering.
- Använd softmax för att göra om poäng till sannolikheter.
- 3Lager och nätStapla lager till ett nät.
- Skriv ett lager som en matrismultiplikation.
- Följ datans form genom varje lager.
- Räkna ett näts parametrar.
- 4Ett litet nätSkriv framåtpasset för ett litet nät med NumPy.
- Bygg ett nät med två lager i NumPy.
- Kör en batch av indata genom det.
- Kontrollera utdatas form.
Träna neuronnät
- 5FörlustVälj en förlust för en uppgift och räkna den.
- Använd medelkvadratfel för regression.
- Använd korsentropi för klassificering.
- Säg vad det betyder när förlusten sjunker.
- 6GradientnedstigningFörklara hur gradientnedstigning flyttar vikter nedför.
- Hitta lutningen på en förlustkurva.
- Ta steg med en inlärningstakt.
- Se vad som händer när takten är för stor eller för liten.
- 7BakåtpropageringFölj bakåtpropageringen av felet bakåt genom nätet.
- Använd kedjeregeln på ett litet nät.
- Räkna en gradient för hand.
- Jämför den med automatisk differentiering.
- 8Träna ett nätTräna ett litet nät och rita förlusten.
- Träna med mini-batchar.
- Rita tränings- och valideringsförlust.
- Stanna när valideringsförlusten slutar förbättras.
Ramverk för djupinlärning
- 9TensorerSkapa och forma om PyTorch-tensorer.
- Skapa tensorer och kolla form och typ.
- Forma om, stapla och skiva dem.
- Flytta tensorer till en GPU.
- 10ModulerBygg en modell med moduler i torch.nn.
- Gör en subklass av nn.Module.
- Använd Linear-lager och aktiveringslager.
- Skriv ut modellen och antalet parametrar.
- 11OptimerareTräna med optimerarna SGD och Adam.
- Använd zero_grad, backward och step.
- Jämför SGD och Adam på en uppgift.
- Använd ett schema för inlärningstakten.
- 12TräningsskriptSkriv ett träningsskript med en hel tränings- och testloop.
- Ladda data med en DataLoader.
- Träna, validera och testa.
- Spara den bästa modellen.
Datorseende
- 13Bilder som tensorerLadda bilder som tensorer och normalisera dem.
- Ladda en bild som kanaler, höjd och bredd.
- Ändra storlek och normalisera den.
- Visa en batch som ett rutnät.
- 14FaltningarFörklara hur ett faltningsfilter hittar kanter.
- Dra ett 3×3-filter över en bild för hand.
- Använd kantfilter i kod.
- Förklara stride, padding och pooling.
- 15CNNBygg ett faltningsnät, ett CNN.
- Stapla faltning, aktivering och pooling.
- Platta ut och lägg till ett klassificeringshuvud.
- Följ former genom nätet.
- 16BildklassificerareTräna en bildklassificerare med ett CNN.
- Träna på en liten bilddatamängd.
- Rapportera träffsäkerhet på testet.
- Visa bilder som den klassade fel.
Naturlig språkbehandling
- 17TokeniseringGör tokenisering: gör om text till tokens och ID.
- Jämför ord- och delordstokens.
- Bygg ett ordförråd.
- Fyll sekvenser till samma längd.
- 18InbäddningarFörklara hur inbäddningar lägger liknande ord nära varandra.
- Använd ett inbäddningslager.
- Hitta orden närmast ett ord.
- Rita inbäddningar i två dimensioner.
- 19TextmodellerBygg en textmodell som läser en sekvens av tokens.
- Ta medelvärdet av inbäddningar till en vektor.
- Använd ett enkelt återkopplande lager.
- Jämför de två.
- 20SentimentklassificerareTräna en sentimentklassificerare att skilja positiva från negativa recensioner.
- Träna på en recensionsdatamängd.
- Rapportera träffsäkerhet, precision och recall.
- Hitta recensioner som lurar den, som sarkasm.
Transformers
- 21UppmärksamhetFörklara hur uppmärksamhet väger andra tokens.
- Förklara frågor, nycklar och värden.
- Räkna uppmärksamhetsvikter för en kort mening.
- Säg varför uppmärksamhet hjälper med betydelse på långt håll.
- 22TransformerblockNamnge delarna i ett transformerblock.
- Namnge multi-head attention, feed-forward-lagret och normaliseringslager.
- Förklara residualkopplingar.
- Förklara positionsinkodningar.
- 23Förtränade modellerAnvänd en förtränad transformermodell för en uppgift.
- Ladda en förtränad modell och en tokenizer.
- Klassificera text med den.
- Jämför den med din egen sentimentmodell.
- 24UppmärksamhetskartorLäs en uppmärksamhetskarta.
- Rita uppmärksamhetsvikter som en värmekarta.
- Hitta vilka ord en token tittar på.
- Säg varför uppmärksamhet inte är en hel förklaring.
Ljud och multimodal AI
- 25Ljud som dataGör om ljud som data till en vågform och ett spektrogram.
- Ladda ljud och rita dess vågform.
- Förklara samplingsfrekvens.
- Gör ett spektrogram.
- 26LjudklassificerareKlassificera korta ljudklipp med en ljudklassificerare.
- Behandla spektrogram som bilder.
- Träna ett CNN på dem.
- Testa med bakgrundsbrus.
- 27Multimodala indataFörklara hur en modell kombinerar multimodala indata av bilder och text.
- Förklara separata kodare för varje indata.
- Förklara ett delat inbäddningsrum.
- Namnge tre multimodala appar.
- 28Bild och textPara ihop bild och text: matcha bilder med bildtexter med en förtränad modell.
- Bädda in bilder och bildtexter.
- Ranka bildtexter för varje bild.
- Sök bilder med en textfråga.
Förbättra modellen
- 29RegulariseringMinska överanpassning med regularisering: dropout och viktavklingning.
- Lägg till dropout.
- Lägg till viktavklingning.
- Jämför valideringskurvor.
- 30DataaugmenteringGör dataaugmentering: lägg till vända och beskurna bilder i träningsmängden.
- Använd vändningar, beskärningar och färgändringar.
- Augmentera bara träningsmängden.
- Mät ändringen i testträffsäkerhet.
- 31TransferinlärningAnvänd transferinlärning för att finjustera en förtränad modell på nya klasser.
- Frys de förtränade lagren.
- Byt ut huvudet och träna det.
- Avfrys och finjustera med en liten inlärningstakt.
- 32FelanalysGör en felanalys: gruppera misstag och hitta deras orsak.
- Läs en förväxlingsmatris för många klasser.
- Sortera fel i grupper.
- Välj åtgärden för den största gruppen.
Projekt i djupinlärning
- 33ViltdataVälj och dela öppen viltdata: en bilddatamängd med vilt.
- Välj en öppen kamerafälla- eller viltdatamängd.
- Välj 5 till 10 arter.
- Dela efter plats så att testet är rättvist.
- 34Finjustera modellenFinjustera modellens bildklassificerare på viltklasser.
- Finjustera en förtränad modell.
- Följ valideringsträffsäkerheten.
- Spara den bästa kontrollpunkten.
- 35DemogränssnittBygg ett demogränssnitt som visar förutsägelser på uppladdade bilder.
- Ta emot en uppladdad bild.
- Visa de tre bästa arterna och deras poäng.
- Visa ”osäker” när tilliten är låg.
- 36Intelligent viltmonitorPresentera en intelligent viltmonitor: träffsäkerhet på osedda bilder och de viktigaste misstagen.
- Rapportera träffsäkerhet på osedda bilder.
- Visa de viktigaste misstagen och deras orsaker.
- Säg vad du skulle ändra härnäst.