Träna ett neuronnät i webbläsaren
Kunna träna ett litet nät interaktivt och se hur felet sjunker.
Vardagsförklaring
Nu ska du träna ett neuronnät direkt i webbläsaren, utan installation. Öppna TensorFlow Playground.
Vad du ser på skärmen:
| Del | Vad det är |
|---|---|
| Vänster: fyra mönster | datasetet — välj typ av data |
| Mitten: cirklar i kolumner | neuronerna, lager för lager |
| Linjerna mellan | vikterna; tjocklek = styrka, färg = tecken |
| Höger: stor ruta | nätets klassificering av ytan |
| Uppe till höger | felkurvan under träningen |
| ▶-knappen | starta och stoppa träningen |
Gör detta först: Välj det enklaste mönstret (två separata grupper), tryck ▶ och titta på den stora rutan. Färgerna delar sig och en gräns bildas. Felkurvan uppe till höger sjunker.
Det är grunden i maskininlärning, visualiserad i realtid.
Interaktivt
Sex experiment, i ordning. Notera felet (test loss) efter 200 varv varje gång.
| # | Inställning | Notera |
|---|---|---|
| 1 | Enkelt mönster, 1 lager, 4 neuroner, lr = 0,03 | ditt referensvärde |
| 2 | Byt till cirkel-mönstret | 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: Spiralmönstret kräver djup. Med ett lager fastnar felet runt 0,4 oavsett hur länge du väntar. Med två lager och fler neuroner sjunker felet. Det är samma princip som i «Lager på lager», men nu ser du den i praktiken.
Experiment 5: Felkurvan hoppar i stället för att sjunka jämnt. Med för hög lärhastighet tar algoritmen för stora steg och missar minimumet.
Experiment 6: Träningsfelet sjunker medan testfelet ökar. Det är överanpassning — modellen lär sig slumpmässiga variationer i träningsdatan i stället för det underliggande mönstret. Det är ett centralt problem i maskininlärning, och här ser du det uppstå snabbt.
Titta också på vikterna. Håll muspekaren över en linje: tjock linje = stark koppling. Under träningen blir vissa linjer tjockare och andra tunnare. Nätet justerar själv vilka samband som är relevanta.
Skriv ner en mening om vad varje experiment visade. De sex meningarna sammanfattar de viktigaste mekanismerna i neuronnät.
Intuition
Det du såg, med de tekniska termerna:
| Det du gjorde | Term |
|---|---|
| Tryckte ▶ och såg felet sjunka | Träning med gradientnedstigning |
| Såg gränsen bildas i rutan | Beslutsgräns |
| Felkurvan | Förlustfunktion över tid |
| Lade till lager för spiralen | Ökad modellkapacitet |
| Felet hoppade vid hög lärhastighet | Divergens |
| Testfelet ökade | Överanpassning |
| Linjernas tjocklek | Vikternas storlek |
Tre saker att ta med sig:
- Mer kapacitet hjälper — tills det stjälper. Fler lager löste spiralmönstret, men på det enkla mönstret gör de bara träningen långsammare och mer instabil.
- Lärhastigheten är den känsligaste parametern. För låg: inget händer. För hög: processen divergerar. Skillnaden kan vara en faktor tio.
- Träningsfel och testfel är olika mått. Att träningsfelet sjunker betyder inte att modellen generaliserar bättre. Därför mäter man alltid på data som modellen inte har sett.
Nästa steg är att göra samma sak i Python med PyTorch. Alla komponenter finns där: dataset, lager, lärhastighet, felkurva. Skillnaden är att du skriver koden själv, vilket gör att du kan applicera det på egna datauppsättningar.
Behärskning innebär
- Tränar ett nät interaktivt
- Läser av felkurvan
- Kopplar inställningar till resultat
Förkunskaper
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