Digital representation: text, bilder och ljud
Kunna förklara hur tecken, pixlar och ljudprov konverteras till numeriska värden, och därmed hur data matas in i en modell.
Intuition
Allt som matas in i en modell är numeriska värden. Frågan är bara hur konverteringen sker.
- Text: varje tecken har ett unikt nummer (Unicode).
A= 65,å= 229,😀= 128512. En textsträng är i grunden en lista med tal. (Språkmodeller går ett steg längre och grupperar tecken till tokens.) - Bild: ett rutnät av pixlar; varje pixel representeras av tre tal 0–255 (rött, grönt, blått). En bild på 1000 × 1000 pixlar innehåller 3 miljoner tal.
- Ljud: en mikrofon mäter lufttryck 44 100 gånger per sekund; varje mätning är ett tal. En sekunds ljud motsvarar 44 100 tal.
Modellen tolkar inte vad talen betyder i sig — den identifierar mönster i de numeriska sekvenserna.
Kod
text = "Hej!"
print([ord(c) for c in text]) # [72, 101, 106, 33]
print(chr(229)) # å
# en 2×2-bild i RGB: rader → pixlar → (r, g, b)
bild = [[(255, 0, 0), (0, 255, 0)],
[(0, 0, 255), (0, 0, 0)]]
print(bild[0][1]) # (0, 255, 0) — grön
# en sekund tyst ljud vid 8 kHz
ljud = [0] * 8000
Storlek: 1000 × 1000 pixlar × 3 byte = 3 MB okomprimerat. Komprimering (JPEG, MP3) minskar filstorleken genom att ta bort information som människan inte uppfattar.
Behärskning innebär
- Förklarar hur tecken, pixlar och ljudprov blir tal
- Uppskattar storleken på en fil utifrån upplösning och bitdjup
Förkunskaper
- BBinära tal och bitarkrävs
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- CS Unplugged (CC BY-SA 4.0) — CC BY-SA 4.0
- Wikipedia — Unicode (CC BY-SA 4.0) — CC BY-SA 4.0