Träna ett neuronnät i webbläsaren
Kunna träna ett litet nät interaktivt och se hur felet sjunker.
Förkunskaper
- CLager på lagerkrävs
Vardagsförklaring
Nu ska du träna ett riktigt neuronnät — utan att installera något. Öppna TensorFlow Playground.
Vad du ser på skärmen:
| Del | Vad det är |
|---|---|
| Vänster: fyra små bilder | datasetet — välj mönster |
| Mitten: cirklar i kolumner | neuronerna, lager för lager |
| Linjerna mellan | vikterna; tjocklek = styrka, färg = tecken |
| Höger: stor ruta | nätets gissning över hela ytan |
| Uppe till höger | felkurvan under träningen |
| ▶-knappen | starta och stoppa träningen |
Gör detta först: välj det enklaste datasetet (två grupper), tryck ▶, och titta på den stora rutan. Färgerna delar sig och en gräns växer fram. Felkurvan uppe till höger sjunker.
Det där är hela maskininlärningen, synlig i realtid.
Interaktivt
Sex experiment, i ordning. Skriv ner felet (test loss) efter 200 varv varje gång.
| # | Inställning | Notera |
|---|---|---|
| 1 | Enkelt dataset, 1 lager, 4 neuroner, lr = 0,03 | ditt referensvärde |
| 2 | Byt till cirkel-datasetet | klarar den det? |
| 3 | Byt till spiral | vad händer? |
| 4 | Spiral + 2 lager à 8 neuroner | bättre? |
| 5 | Spiral + sätt lärhastighet = 3 | vad gör felkurvan? |
| 6 | Spiral + brus 50 och lite data | jämför träning mot test |
Vad du ska lägga märke till:
Experiment 3–4: spiralen kräver djup. Med ett lager fastnar felet runt 0,4 hur länge du än väntar; med två lager och fler neuroner sjunker det. Det är samma sak som du läste om i «Lager på lager», men nu ser du det hända.
Experiment 5: felkurvan hoppar i stället för att sjunka jämnt. Med för stor lärhastighet tar träningen för stora steg och missar målet gång på gång.
Experiment 6: träningsfelet fortsätter sjunka medan testfelet vänder uppåt. Det är överanpassning — nätet lär sig bruset i just de här punkterna i stället för mönstret. Det är det viktigaste enskilda fenomenet i hela maskininlärningen, och här ser du det på en minut.
Titta också på vikterna. Håll muspekaren över en linje: tjock linje = viktig koppling. Under träningen blir vissa linjer tjockare och andra nästan försvinner. Nätet bestämmer själv vad som spelar roll.
Skriv ner en mening om vad varje experiment lärde dig. De sex meningarna är en sammanfattning av hela nästa års kurs.
Intuition
Det du såg, med de riktiga namnen:
| Det du gjorde | Heter |
|---|---|
| Tryckte ▶ och såg felet sjunka | träning med gradientnedstigning |
| Såg gränsen växa fram i rutan | beslutsgräns |
| Felkurvan | förlustfunktionen över tid |
| Lade till lager när spiralen inte gick | ökad modellkapacitet |
| Felet hoppade vid hög lärhastighet | divergens |
| Testfelet vände uppåt | överanpassning |
| Linjernas tjocklek | vikternas storlek |
Tre saker att ta med sig:
- Mer kapacitet hjälper — tills det stjälper. Fler lager löste spiralen, men på det enkla datasetet gör de bara träningen långsammare och instabilare.
- Lärhastigheten är den känsligaste inställningen. För liten: inget händer. För stor: allt spårar ur. Skillnaden kan vara en faktor tio.
- Träningsfel och testfel är olika saker. Att det förstnämnda sjunker betyder inte att modellen blir bättre på nya exempel. Det är därför man alltid mäter på data modellen inte sett.
Nästa steg är att göra samma sak i Python med PyTorch. Allt du just gjort finns där: datasetet, lagren, lärhastigheten, felkurvan. Skillnaden är att du skriver det i kod i stället för att klicka — och att du då kan göra det på egen data.
Behärskning innebär
- Tränar ett nät interaktivt
- Läser av felkurvan
- Kopplar inställningar till resultat
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- TensorFlow Playground (Apache-2.0) — Apache-2.0
- Dive into Deep Learning (CC BY-SA 4.0) — CC BY-SA 4.0
- Skolverket — Om AI i skolan — Skolverkets öppna villkor