Teoria informacji: Claude Shannon i matematyka komunikacji

W 1948 roku 32-letni inżynier Bell Labs opublikował pracę, która zapoczątkowała zupełnie nową gałąź matematyki. Claude Shannon zapytał: ile informacji można niezawodnie przesłać przez zaszumiony kanał? Odpowiedź — która wymagała wynalezienia zupełnie nowej definicji "informacji" — kształtuje dziś każde urządzenie cyfrowe, każdy strumieniowany film i każde połączenie Wi-Fi.

Czym jest informacja?

Przed Shannonem "informacja" nie miała matematycznej definicji. Inżynierowie wiedzieli, że przesyłanie wiadomości przez zaszumioną linię telefoniczną jest zawodne, ale nie mieli precyzyjnego sposobu, by określić, co jest przesyłane ani co jest tracone. Fundamentalna intuicja Shannona była radykalna: informacja nie dotyczy znaczenia, semantyki ani ważności. Dotyczy zaskoczenia — stopnia, w jakim wiadomość redukuje niepewność.

Formalnie, zawartość informacyjna zdarzenia o prawdopodobieństwie p wynosi I = −log₂(p) bitów. Wybór podstawy 2 daje jednostki bitów (cyfr binarnych). Zdarzenie o prawdopodobieństwie 1/2 (rzut uczciwą monetą) niesie dokładnie 1 bit informacji. Zdarzenie o prawdopodobieństwie 1/4 niesie 2 bity. Zdarzenie o prawdopodobieństwie 1/8 niesie 3 bity. Zdarzenie pewne (p = 1) niesie 0 bitów — nie mówi ci niczego, czego już nie wiedziałeś. Ta definicja jest jedyną spójną z trzema naturalnymi wymaganiami: informacja jest addytywna dla zdarzeń niezależnych, jest funkcją ciągłą prawdopodobieństwa i jest maksymalna dla rozkładów jednostajnych.

Entropia Shannona

Dla źródła, które generuje symbole z alfabetu o prawdopodobieństwach p₁, p₂, ..., pₙ, entropia Shannona wynosi: H = −Σᵢ pᵢ log₂(pᵢ) bitów na symbol. Mierzy to średnią zawartość informacyjną na symbol — równoważnie, średnią niepewność przed zaobserwowaniem każdego symbolu.

Uczciwa moneta ma H = 1 bit. Moneta obciążona w stronę orła z prawdopodobieństwem 0,9 ma H ≈ 0,469 bita — znacznie mniej niepewności, a więc mniej informacji na rzut. Tekst angielski, z wysoce przewidywalnymi częstościami liter i strukturą gramatyczną, ma entropię rzędu 1,0–1,5 bita na znak (Shannon oszacował to poprzez eksperymenty z udziałem ludzi). Oznacza to, że tekst angielski ma ogromną redundancję — około 75% znaków jest przewidywalnych z kontekstu.

Entropia Shannona jest formalnie identyczna z entropią termodynamiczną we wzorze Boltzmanna, gdzie k zastępuje podstawa logarytmu. To nie przypadek: obie mierzą liczbę możliwych stanów (mikrostanów w fizyce, wiadomości w teorii komunikacji) zgodnych ze znanymi ograniczeniami makroskopowymi. Głęboki związek między teorią informacji a termodynamiką — badany przez Rolfa Landauera, Charlesa Bennetta i innych — pokazuje, że usunięcie informacji ma minimalny koszt termodynamiczny kT ln(2) dżuli na bit. Ta "zasada Landauera" łączy obliczenia, informację i fizykę na fundamentalnym poziomie.

Kompresja danych

Twierdzenie Shannona o kodowaniu źródłowym (1948) ustanawia fundamentalną granicę bezstratnej kompresji danych: żaden algorytm nie może skompresować danych poniżej H bitów na symbol średnio, gdzie H to entropia źródła. Powyżej H, doskonała bezstratna kompresja jest osiągalna (w zasadzie, dla wystarczająco długich wiadomości). Ta granica jest zarówno podłogą, poniżej której żaden algorytm nie może zejść, jak i celem, do którego dobre algorytmy się zbliżają.

Kodowanie Huffmana (1952) przypisuje symbolom binarne kody o zmiennej długości, z krótszymi kodami dla częstszych symboli — podobnie jak alfabet Morse'a nadaje literze "E" pojedynczą kropkę (najczęstsza litera angielska). Kodowanie Huffmana jest optymalne wśród kodów symbol po symbolu. Kodowanie arytmetyczne działa na całych wiadomościach i może zbliżyć się do granicy entropii dowolnie blisko. Algorytmy LZ77 i LZ78 (1977–78), używane w zip, gzip i PNG, wykorzystują powtarzające się wzorce w danych, a nie statystykę symboli, i stanowią podstawę większości nowoczesnych ogólnych kompresorów. Współczesne kompresory, takie jak Brotli (używany w przeglądarkach internetowych) i Zstandard, łączą modelowanie statystyczne z kodowaniem entropijnym, osiągając kompresję w granicach kilku procent od teoretycznej granicy.

Twierdzenie o zaszumionym kanale

Najbardziej zdumiewający wynik Shannona — twierdzenie o kodowaniu kanałowym z szumem — obalił to, co inżynierowie uważali za fundamentalne ograniczenie. Intuicja była taka: każdy prawdziwy kanał komunikacyjny dodaje szum, błędy uszkadzają wiadomości, a jedynym sposobem na zmniejszenie błędów jest wolniejsza transmisja. Shannon udowodnił, że ta intuicja jest błędna.

Dla dowolnego kanału o pojemności C = B · log₂(1 + S/N) bitów/sekundę (gdzie B to pasmo w Hz, a S/N to stosunek mocy sygnału do szumu), możliwe jest przesyłanie informacji z dowolną szybkością R < C z prawdopodobieństwem błędu zbliżającym się do zera wraz ze wzrostem długości wiadomości — po prostu przez wybór odpowiedniego kodu korekcyjnego. Transmisja z szybkościami powyżej C jest niemożliwa bez względu na kod. Pojemność kanału C jest fundamentalną granicą teoretyczno-informacyjną.

Dowód jest nieskonstruktywny: Shannon pokazał, że losowy kod zadziałałby z wysokim prawdopodobieństwem, ale nie powiedział, którego kodu użyć. Znalezienie praktycznych kodów zbliżających się do granicy Shannona zajęło inżynierom kolejne pięć dekad.

Odkryj algorytmy, które kodują, kompresują i przesyłają informacje w symulacji Kodowania Huffmana — zobacz, jak kody o zmiennej długości i kodowanie odnoszą się do teoretyczno-informacyjnych zasad odkrytych przez Shannona.

Kody korekcyjne

Richard Hamming, pracujący w Bell Labs w 1950 roku, opracował pierwsze kody korekcyjne błędów. Kody Hamminga dodają redundantne bity kontrolne do wiadomości w taki sposób, że każdy pojedynczy błąd bitu może być nie tylko wykryty, ale i skorygowany. Kod Hamminga (7,4) wysyła 7 bitów na każde 4 bity danych, umożliwiając korekcję dowolnego pojedynczego błędu bitowego. Schemat działa poprzez wybór słów kodowych maksymalnie oddalonych od siebie w "odległości Hamminga" (liczbie pozycji bitów, na których się różnią).

Kody Reeda-Solomona (1960), używane dziś w każdej płycie CD, DVD, kodzie QR i w komunikacji dalekiego kosmosu, traktują dane jako współczynniki wielomianu i przesyłają dodatkowe punkty ewaluacji. Pozwala to na korekcję błędów seryjnych — zarysowanie na płycie CD może uszkodzić wiele kolejnych bitów, a Reed-Solomon może zrekonstruować oryginalne dane, dopóki przetrwa wystarczająco dużo punktów ewaluacji. Kody turbo (1993) i kody kontroli parzystości o niskiej gęstości (LDPC) mogą osiągnąć szybkości transmisji w granicach ułamka procenta od granicy Shannona — wyczyn uważany przez dekady za praktycznie niemożliwy. Deep Space Network NASA używa kodów LDPC w sygnałach z sond Voyager, znajdujących się dziś ponad 20 miliardów kilometrów od Ziemi.

Teoria informacji w biologii i uczeniu maszynowym

DNA można analizować jako kanał informacyjny, w którym mutacje działają jak szum. Genom ludzki koduje około 6,4 miliarda par zasad, co odpowiada około 1,5 gigabajta surowej informacji — choć efektywna zawartość informacyjna jest niższa z powodu sekwencji powtarzalnych i redundantnych kodonów (kod genetyczny wykorzystuje 64 kodony dla 20 aminokwasów plus sygnały stopu). Analiza teoretyczno-informacyjna sekwencji genomowych pomaga identyfikować regiony funkcjonalne: regiony o niskiej entropii (silnie konserwowane sekwencje) często odpowiadają genom niezbędnym lub elementom regulatorowym.

W uczeniu maszynowym entropia Shannona pojawia się wszędzie. Funkcja straty cross-entropy — standardowy cel treningowy dla sieci klasyfikacyjnych — jest dokładnie entropią Shannona między prawdziwym rozkładem etykiet a rozkładem przewidywanym przez model. Minimalizacja cross-entropy jest równoważna estymacji największej wiarygodności. Informacja wzajemna I(X;Y) = H(X) − H(X|Y) mierzy, ile znajomość zmiennej Y redukuje niepewność co do X; jest wykorzystywana do selekcji cech, uczenia reprezentacji i w metodach information bottleneck, które kompresują reprezentacje, zachowując tylko informacje istotne dla zadania. Zasada minimalnej długości opisu (MDL), autorstwa Jormy Rissanena, ujmuje uczenie statystyczne jako problem kompresji: najlepszy model to ten, który najbardziej kompresuje dane, w naturalny sposób równoważąc dopasowanie z złożonością modelu.

Najczęściej zadawane pytania

Czym jest teoria informacji?

Teoria informacji to matematyczne studium kwantyfikacji, przechowywania i przekazywania informacji. Założona przez Claude'a Shannona w jego przełomowej pracy z 1948 roku "A Mathematical Theory of Communication", ustanowiła fundamentalne granice kompresji danych (kodowanie źródłowe) i niezawodnej transmisji przez zaszumione kanały (kodowanie kanałowe). Leży u podstaw wszystkich cyfrowych komunikacji, kompresji danych, kryptografii i uczenia maszynowego.

Czym jest entropia Shannona?

Entropia Shannona H mierzy średnią niepewność lub zawartość informacyjną zmiennej losowej. Dla zmiennej dyskretnej o prawdopodobieństwach p_i, H = -Σ p_i log₂(p_i), mierzona w bitach. Rzut uczciwą monetą ma 1 bit entropii; obciążona moneta ma mniej. Entropia jest maksymalna, gdy wszystkie wyniki są równie prawdopodobne. Reprezentuje minimalną średnią liczbę bitów potrzebną do zakodowania wyników z danego rozkładu.

Czym jest twierdzenie Shannona o pojemności kanału?

Twierdzenie Shannona o kodowaniu kanałowym z szumem mówi, że każdy zaszumiony kanał komunikacyjny ma maksymalną szybkość transmisji informacji C (pojemność kanału) w bitach na sekundę, i można komunikować się z dowolnie niskim poziomem błędu przy dowolnej szybkości poniżej C, ale bez błędów jest to niemożliwe powyżej C. Dla kanału gaussowskiego: C = B log₂(1 + S/N), gdzie B to pasmo, a S/N to stosunek sygnału do szumu.

Czym jest kompresja danych i jak wiąże się z entropią?

Kompresja danych zmniejsza liczbę bitów potrzebnych do reprezentacji danych. Kompresja bezstratna (ZIP, PNG, gzip) zapewnia doskonałą rekonstrukcję; kompresja stratna (JPEG, MP3) poświęca część precyzji dla wyższego stopnia kompresji. Twierdzenie Shannona o kodowaniu źródłowym dowodzi, że minimalna średnia długość kodu na symbol równa się entropii źródła — nie można skompresować bezstratnie poniżej tej fundamentalnej granicy. Kodowanie Huffmana i kodowanie arytmetyczne zbliżają się do tej granicy.

Czym jest informacja wzajemna?

Informacja wzajemna I(X;Y) mierzy ilość informacji, jaką znajomość jednej zmiennej X ujawnia o innej Y. I(X;Y) = H(X) - H(X|Y) — redukcja niepewności co do X po poznaniu Y. Jest symetryczna: I(X;Y) = I(Y;X). Informacja wzajemna jest wykorzystywana w selekcji cech dla uczenia maszynowego, mierzeniu zależności statystycznej, neuronauce (ile odpowiedź neuronu mówi nam o bodźcu) oraz definiowaniu pojemności kanału.

Czym jest złożoność Kołmogorowa?

Złożoność Kołmogorowa K(x) ciągu x to długość najkrótszego programu komputerowego, który generuje x. To absolutna, obliczeniowa miara losowości — ciąg jest "losowy", jeśli nie istnieje krótszy jego opis. W przeciwieństwie do entropii Shannona (która dotyczy rozkładów prawdopodobieństwa), złożoność Kołmogorowa dotyczy pojedynczych obiektów. Jest ogólnie nieobliczalna, ale dostarcza teoretycznych podstaw algorytmicznej teorii informacji.

Jaka jest różnica między kompresją bezstratną a stratną?

Kompresja bezstratna (ZIP, FLAC, PNG) doskonale rekonstruuje oryginalne dane ze skompresowanej wersji — każdy bit jest zachowany. Jest ograniczona entropią źródła. Kompresja stratna (JPEG, MP3, H.264) odrzuca percepcyjnie nieistotne informacje, by osiągnąć znacznie wyższe stopnie kompresji. JPEG usuwa wysokoczęstotliwościowe szczegóły obrazu, których oko ledwo dostrzega; MP3 usuwa częstotliwości dźwiękowe maskowane przez głośniejsze sąsiednie częstotliwości. Metody stratne nie mogą zrekonstruować dokładnego oryginału.

Czym są kody korekcyjne?

Kody korekcyjne błędów (ECC) dodają redundantne informacje do danych, aby błędy wprowadzone podczas transmisji lub przechowywania mogły być wykryte i skorygowane. Kody Hamminga korygują pojedyncze błędy bitowe. Kody Reeda-Solomona (używane w płytach CD, DVD, kodach QR) korygują błędy seryjne. Kody turbo i LDPC zbliżają się do granicy pojemności kanału Shannona. ECC jest niezbędne w komunikacji kosmicznej, urządzeniach pamięci masowej i sieciach bezprzewodowych.

Jaki jest związek między teorią informacji a uczeniem maszynowym?

Teoria informacji jest głęboko powiązana z uczeniem maszynowym. Funkcja straty cross-entropy (funkcja straty treningowej dla klasyfikatorów) mierzy odchylenie od idealnej entropii. Dywergencja KL mierzy, jak bardzo jeden rozkład prawdopodobieństwa różni się od drugiego. Zasada maksymalnej entropii uzasadnia stosowanie rozkładów o maksymalnej entropii przy danych ograniczeniach. Drzewa decyzyjne wykorzystują przyrost informacji (informację wzajemną) do wyboru cech dzielących. VAE (wariacyjny autoenkoder) optymalizuje cel teoretyczno-informacyjny.

Czym jest pojęcie redundancji w teorii informacji?

Redundancja to różnica między maksymalną możliwą entropią a rzeczywistą entropią źródła, wyrażona jako ułamek. Naturalny tekst angielski ma około 1–1,5 bita na znak rzeczywistej entropii, ale używa 4-5 bitów na znak w ASCII — jest więc około 75% redundantny. Ta redundancja czyni komunikację odporną na szum (rozumiemy mowę w hałaśliwych pomieszczeniach) i umożliwia kompresję. Redundancja w DNA (wiele kodonów dla tego samego aminokwasu) zapewnia odporność na mutacje.