Wszystko jest liczbą: jak zapisujemy tekst, obraz i dźwięk
🎯 Po co Ci to?
To jednostka, która „odczaruje" AI bardziej niż jakakolwiek inna w tej części książki. Model językowy nie czyta Twojego pytania — czyta liczby. Model rozpoznający zdjęcia nie widzi kota — widzi tablicę liczb. Kiedy raz to zobaczysz, przestaniesz zadawać pytania w rodzaju „czy AI naprawdę czyta" i zaczniesz zadawać właściwe: jak zamiana na liczby wpływa na to, co maszyna potrafi, a czego nie.
✅ Czego się nauczysz
Po tej lekcji potrafisz:
- wyjaśnić, dlaczego każdą treść trzeba przed przetworzeniem zamienić na liczby;
- opisać, jak zapisuje się tekst (kody znaków), obraz (piksele i kanały barw) i dźwięk (próbkowanie);
- wyjaśnić pojęcie reprezentacji danych i uzasadnić, dlaczego wybór reprezentacji jest decyzją, a nie techniczną formalnością;
- wskazać, co w reprezentacji jest tracone bezpowrotnie.
🔁 Przypomnij sobie
Z Jednostki 2.1: procesor operuje wyłącznie na liczbach zapisanych bitami. Skoro tak, to każda treść — wiersz, zdjęcie, piosenka — musi zostać zamieniona na liczby, zanim komputer cokolwiek z nią zrobi.
📘 Wyjaśnienie
Tekst: znak po znaku, liczba po liczbie
Litera „A" nie istnieje w pamięci komputera. Istnieje liczba przypisana literze „A" według umowy zwanej kodowaniem znaków. W najstarszej, siedmiobitowej umowie ASCII „A" to 65, „B" to 66, spacja to 32. Umowa wystarczała dla angielskiego, ale nie dla „ą", „ł" czy chińskich znaków — dlatego dziś obowiązuje Unicode, który przypisuje numer każdemu znakowi każdego pisma świata (w zapisie UTF-8 znak zajmuje od jednego do czterech bajtów).
Wniosek jest ważniejszy, niż wygląda: dla maszyny słowo „kot" to trzy liczby, a to, że „kot" ma cokolwiek wspólnego z „kotem" i „kocie", nie wynika z tych liczb w żaden sposób. Kody znaków niosą kształt zapisu, nie znaczenie. Cała Część IV tej książki jest o tym, jak — mimo tego — zbudować reprezentację, z której znaczenie da się wyczytać.
Obraz: siatka pikseli
Zdjęcie zamieniamy w siatkę pikseli — drobnych kwadracików. Dla każdego z nich zapisujemy jasność trzech barw składowych: czerwonej, zielonej i niebieskiej (model RGB), każdą zwykle jako liczbę od 0 do 255 (czyli jeden bajt). Piksel biały to (255, 255, 255), czarny to (0, 0, 0), czysta czerwień to (255, 0, 0).
Zdjęcie 1000 × 1000 pikseli to zatem trzy miliony liczb. Jeśli obraz jest w odcieniach szarości, wystarczy jedna liczba na piksel — tak wygląda słynny zbiór odręcznie pisanych cyfr MNIST, na którym w Dziale 11 zobaczysz uczenie sieci: każda cyfra to kwadrat 28 × 28, czyli 784 liczby opisujące jasność.
💭 Pomyśl: Skoro obraz to tylko siatka liczb opisujących jasności, to co takiego jest w tych liczbach, że pozwala rozpoznać kota? Przecież nigdzie nie zapisano „to jest kot".
Sprawdź odpowiedź
Informacja o kocie nie leży w pojedynczych liczbach, tylko w zależnościach między nimi: w miejscach, gdzie jasność zmienia się gwałtownie (krawędzie), w powtarzalnych układach krawędzi (kształty), w układach kształtów (ucho, oko, pyszczek), w układzie tych układów (twarz kota). Dokładnie taką hierarchię — od krawędzi do obiektów — potrafią zbudować sieci konwolucyjne, które poznasz w Dziale 12 (zwłaszcza Jednostka 12.4). Zapamiętaj tę myśl: to nie liczby są ważne, a wzorce w liczbach.
Dźwięk: pomiar co ułamek sekundy
Dźwięk jest falą — ciągłą zmianą ciśnienia powietrza. Komputer nie umie zapisać czegoś ciągłego, więc próbkuje: mierzy wartość fali wiele tysięcy razy na sekundę i zapisuje kolejne pomiary. Płyta CD używa 44 100 próbek na sekundę, każda zapisana na 16 bitach. Minuta dźwięku stereo to około 2,6 miliona liczb.
Tu widać coś ogólnego: przy zamianie świata na liczby zawsze coś tracimy. Między dwoma próbkami dźwięk „nie istnieje". Między dwoma pikselami obraz „nie istnieje". Zwykle strata jest niezauważalna dla człowieka, ale bywa istotna dla maszyny — i bywa źródłem błędów, których człowiek by nie popełnił.
Reprezentacja: wybór, nie formalność
Zatrzymajmy się nad słowem reprezentacja. Gdy mówimy o reprezentacji w informatyce, mamy na myśli pewien sposób zapisu, przedstawienia czy uporządkowania danych — użyteczny do osiągnięcia określonego celu. Na przykład powszechne jest przedstawianie danych o sprzedaży za pomocą diagramów słupkowych czy kołowych: te same dane, inna reprezentacja, a rozumiemy je szybciej.
📐 DEFINICJA — reprezentacja danych: sposób zapisania informacji w postaci liczbowej, dobrany do zadania, które ma zostać wykonane.
Po ludzku: decyzja, jak zamienić rzeczywistość na liczby. Czym to NIE jest: reprezentacja to nie „sama rzecz" — to jej opis, w którym zawsze coś jest podkreślone, a coś pominięte.
Podobnie komputer potrzebuje reprezentacji odpowiedniej do zadania, które ma wykonać. Przyjmuje się, że przygotowanie odpowiedniej reprezentacji danych może zajmować od 50 do nawet 80% całkowitego czasu poświęconego na projekt uczenia maszynowego. Nie jest to więc zadanie banalne — i nie jest to zadanie techniczne. To decyzja merytoryczna: co uznajemy za istotne.
Ta myśl będzie wracać. W Jednostce 14.1 zobaczysz, że najprostsza reprezentacja tekstu (numer słowa w słowniku) prowadzi w slepą uliczkę, bo sieci neuronowe źle znoszą duże liczby. W Jednostce 14.3 poznasz reprezentację, w której słowa o podobnym znaczeniu mają podobne liczby — i to jest moment, w którym maszyna zaczyna „rozumieć" tekst. A w Dziale 20 zobaczysz, że decyzja o reprezentacji ludzi (jakie dane o człowieku uznajemy za istotne) potrafi mieć konsekwencje etyczne i prawne.
⚠️ Uwaga, pułapka
„Wszystko jest liczbą" bardzo łatwo przeczytać jako „wszystko jest tylko liczbą, więc AI to zwykła statystyka i nie ma o czym mówić". To skrót myślowy tej samej klasy, co powiedzenie, że skoro mózg to komórki i jony, to myślenie „jest tylko" chemią. Zdanie o liczbach opisuje poziom nośnika, a nie poziom zjawiska. Pytanie, czy w tych liczbach powstaje coś, co zasługuje na nazwę rozumienia, jest otwarte — i wrócimy do niego uczciwie w Dziale 19, po zbudowaniu całej wiedzy technicznej.
📐 Definicje tej lekcji
- Kodowanie znaków (ASCII, Unicode) — umowa przypisująca każdemu znakowi pisma liczbę.
- Piksel — najmniejszy element obrazu; jego barwa zapisana zwykle trzema liczbami (RGB).
- Próbkowanie — zamiana ciągłego sygnału (np. dźwięku) na ciąg pomiarów wykonywanych wiele tysięcy razy na sekundę.
- Reprezentacja danych — sposób zapisania informacji w liczbach, dobrany do zadania.
📌 Najważniejsze w pigułce
- Komputer przetwarza wyłącznie liczby, więc tekst, obraz i dźwięk trzeba najpierw na liczby zamienić.
- Tekst → kody znaków (Unicode); obraz → piksele i kanały RGB; dźwięk → próbki.
- Każda zamiana świata na liczby coś traci — reprezentacja jest zawsze uproszczeniem.
- Informacja użyteczna dla AI leży nie w pojedynczych liczbach, ale we wzorcach zależności między nimi.
- Wybór reprezentacji to decyzja merytoryczna i zajmuje większość czasu w realnych projektach.
🎒 Zadania
Zadanie 2.4.1. Oblicz, ile liczb potrzeba na zapisanie kolorowego zdjęcia 1920 × 1080 pikseli w modelu RGB. Ile to bajtów, a ile megabajtów (przyjmij 1 MB = 1 000 000 bajtów) przy jednym bajcie na kanał?
Pokaż rozwiązanie
Liczba pikseli: 1920 × 1080 = 2 073 600. Każdy piksel to 3 liczby, więc 6 220 800 liczb. Przy jednym bajcie na liczbę to 6 220 800 bajtów ≈ 6,2 MB.
Warto dodać: pliki JPEG tego samego zdjęcia mają zwykle kilkaset kilobajtów, bo stosują kompresję — czyli jeszcze inną reprezentację, w której świadomie rezygnuje się z części informacji niezauważalnej dla oka.
Zadanie 2.4.2. Wyjaśnij, dlaczego zapis słów jako ich numerów w słowniku (np. „Ala" = 1, „kot" = 5) jest reprezentacją, która nie niesie żadnej informacji o znaczeniu. Podaj przykład pary słów, których numery są bliskie, a znaczenia odległe.
Sprawdź odpowiedź
Numer w słowniku wynika z porządku (najczęściej alfabetycznego), a porządek alfabetyczny nie ma nic wspólnego ze znaczeniem. Przykład: przy porządku alfabetycznym „kot" i „kotwica" dostaną numery sąsiadujące, choć znaczą coś zupełnie innego; „kot" i „mruczek" będą odległe, choć znaczeniowo bliskie. Wniosek: z odległości między numerami nie da się wyczytać niczego o sensie — potrzebna jest inna reprezentacja (Jednostka 14.3).
Zadanie 2.4.3. Dla trzech zadań: (a) rozpoznawanie mowy, (b) wykrywanie choroby na zdjęciu RTG, (c) ocena, czy recenzja filmu jest pozytywna — napisz, jakie informacje reprezentacja musi zachować, a co wolno bezpiecznie stracić.
Pokaż rozwiązanie
(a) Mowa: zachować przebieg czasowy i częstotliwości ludzkiej mowy (ok. 100–8000 Hz); można stracić bardzo wysokie częstotliwości i różnice nieistotne dla fonemów. Dlatego telefonia próbkuje 8 kHz i mowa pozostaje zrozumiała.
(b) RTG: zachować drobne różnice jasności i szczegóły przestrzenne (zmiana może mieć kilka pikseli); nie wolno agresywnie kompresować ani zmniejszać rozdzielczości — inaczej usuniemy właśnie to, co ma być wykryte. Kolor jest zbędny (obraz jest w skali szarości).
(c) Recenzja: zachować słowa i ich kontekst (szyk, negacje: „nie jest zły" vs „jest zły"); można stracić formatowanie, wielkość liter i interpunkcję — choć wykrzykniki bywają sygnałem emocji, więc nawet to jest decyzją, nie oczywistością.
🔍 Sprawdź, czy umiesz
- [ ] Wyjaśnić, dlaczego każdą treść trzeba zamienić na liczby.
- [ ] Opisać sposób zapisu tekstu, obrazu i dźwięku.
- [ ] Zdefiniować reprezentację danych i uzasadnić, że jej wybór jest decyzją.
- [ ] Wskazać, co jest tracone przy próbkowaniu i przy pikselizacji.
- [ ] Wyjaśnić, dlaczego numer słowa w słowniku nie niesie znaczenia.