4. Enkel neuronnätsklassificerare

Enkel neuronnätsklassificerare

För att ge ett relativt enkelt exempel på hur neuronnät kan tillämpas i klassificeringsuppgifter, ska vi se på en klassificeringssituation som i hög grad påminner om den berömda MNIST-uppgiften (att känna igen handskrivna siffror).

Målet är att urskilja bilder i två olika klasser. Vi ska börja med att bygga en klassificerare som kan skilja på kryss och cirklar.

Från bild till siffror

Bilderna visas som färggranna eller gråa pixlar i ett 5 × 5 stort rutnät. För att tillämpa neuronnätklassificeraren behöver man framställa problemet på ett lämpligt sätt.

Det första steget är att ange indata i form av numeriska värden:

  • 1 = färggrann pixel (grön eller blå)
  • 0 = grå pixel

Exempel: Kryss och cirkel i 5×5 rutnät

Kryss:              Cirkel:
┌───┬───┬───┬───┬───┐    ┌───┬───┬───┬───┬───┐
│ ■ │   │   │   │ ■ │    │   │ ■ │ ■ │ ■ │   │
├───┼───┼───┼───┼───┤    ├───┼───┼───┼───┼───┤
│   │ ■ │   │ ■ │   │    │ ■ │   │   │   │ ■ │
├───┼───┼───┼───┼───┤    ├───┼───┼───┼───┼───┤
│   │   │ ■ │   │   │    │ ■ │   │   │   │ ■ │
├───┼───┼───┼───┼───┤    ├───┼───┼───┼───┼───┤
│   │ ■ │   │ ■ │   │    │ ■ │   │   │   │ ■ │
├───┼───┼───┼───┼───┤    ├───┼───┼───┼───┼───┤
│ ■ │   │   │   │ ■ │    │   │ ■ │ ■ │ ■ │   │
└───┴───┴───┴───┴───┘    └───┴───┴───┴───┴───┘
■ = färggrann pixel (1)     = grå pixel (0)

Färg spelar ingen roll

Trots att de färggranna rutorna är av olika färger (grön och blå), spelar det ingen roll för klassificeraren vilken färg det är så länge den skiljer sig från den gråa.

Läsa av pixlarna

De 25 pixlarna i rutnätet bildar därmed indata som består av 25 värden.

För att inte blanda ihop pixlarna på olika punkter, kommer vi överens om att avläsa pixlarna i vanlig ordning:

  • Högst uppifrån
  • Rad för rad
  • Från vänster till höger

Exempel: Kryss

Raden högst upp: 1, 0, 0, 0, 1
Nästa rad: 0, 1, 0, 1, 0
Och så vidare…

Hela uppsättningen indata för krysset blir:
1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1

Hur många indata (pixlar) har vår klassificerare för ett 5×5 rutnät?

Modellen

Vi tillämpar en enkel neuronmodell där vi:

  1. Räknar ut linjärkombinationen för våra indata
  2. För varje pixel behöver vi en vikt, alltså sammanlagt 25 vikter
  3. Tillämpar stegfunktionen för att beräkna aktiveringen

Beslut:

  • Om linjärkombinationen är negativ (< 0) → Aktiveringen = 0 → Kryss
  • Om linjärkombinationen är positiv (> 0) → Aktiveringen = 1 → Cirkel

Experiment: Alla vikter = 1

Låt oss testa vad som händer om alla vikter har samma värde, exempelvis 1.

Kryss

  • Bilden innehåller 9 färggranna pixlar
  • Beräkning: 9 × 1 + 16 × 0 = 9
  • Resultat: Positivt → Klassificeras som cirkel

Cirkel

  • Bilden innehåller 8 färggranna pixlar
  • Resultat: Positivt → Klassificeras som cirkel

Problem: Båda bilderna får positivt värde! Krysset klassificeras fel. Vi måste justera vikterna.

Varför fungerar det inte att sätta alla vikter till 1?

Prova själv: Smilis-klassificerare

Träna din smilisklassificerare

Klicka på rutorna för att sätta vikter: 1 klick = +1, 2 klick = -1, 3 klick = 0

Sätt vikter (klicka på rutorna)

Resultat

Leende smilisar 😊

0/8

Ledsna smilisar 😢

0/8

Testbilder (klicka för att se beräkning)

Du kan få klassificeraren att fungera med vissa indata, så länge du accepterar att en del andra smilisar klassificeras felaktigt.

Utmaning: Klarar du av att klassificera 6 rätt av både de leende och de ledsna smilisarna?

Varför kan en enskild neuron inte klassificera alla smilisar perfekt?


Begränsningar och lösningar

Vad vi har lärt oss

  1. En neuron kan lösa enkla problem - som att skilja kryss från cirklar med rätt vikter
  2. Komplexa problem kräver mer - en enskild neuron räcker inte för alla variationer
  3. Vikter är nyckeln - rätt vikter gör att neuronen kan känna igen mönster

Vägen framåt

För att klassificera mer komplexa mönster (som alla variationer av smilisar) behöver vi:

  • Flera neuroner som arbetar tillsammans
  • Flera lager som kan lära sig hierarkiska mönster
  • Mer träningsdata för att lära sig alla variationer

Detta är precis vad moderna neuronnät gör!


Sammanfattning

Nyckelkoncept

  • Pixlar → Siffror: Bilder måste omvandlas till numeriska värden (0 och 1)
  • 25 pixlar = 25 vikter: Varje pixel behöver en vikt i vår 5×5 klassificerare
  • Rätt vikter är avgörande: Med rätt vikter kan en neuron skilja enkla mönster
  • Begränsningar finns: En enskild neuron kan inte lösa alla problem
  • Lösningen: Flera neuroner i nätverk kan lösa komplexa problem

Du har nu byggt din första bildklassificerare och förstår både dess styrkor och begränsningar!

📚 Viktiga begrepp

Se till att du kan förklara dessa begrepp med egna ord:

  • Klassificerare
  • Pixel
  • Linjär klassificerare
  • Träningsdata

Nästa steg: I nästa lektion ska vi utforska avancerade neuronnätsmetoder som faltningsnät och generativa nätverk - tekniker som driver moderna AI-system!

Framsteg

0/0