Що таке і в чому суть інформації?

Osaulenko V.M.
9 min readOct 30, 2020

Якось був в мене предмет “Фізична інформатика”, і викладач на першій лекції сказав: “Ну, що таке інформація ми не знаємо, але знаємо як її передавати…”. Я аж здивувався, як так? Ми ж це слово скрізь вживаємо, це ж те, що написано в книгах, те, коли ми щось нове взнаємо, так? Чи є інформація в книзі, яка просто лежить на полиці? Ніби так. А якщо книга китайською? А якщо давно вимерлою мовою, яку ніхто не знає?

З тих пір я взнав багато про інформацію, але досі до кінця так і не зрозуміло.

Зазвичай, кажуть, що інформація це те, наскільки зменшується наше незнання (або невизначеність про щось). Тоді в книзі китайською немає для нас інформації. Але ж є люди, які знають китайську, і врешті-решт є google перекладач! Тоді в книзі вимерлою мовою точно немає інформації! А що як ми колись її декодуємо, так як французи за Наполеона знайшли розетський камінь і змогли розшифрувати єгипетські ієрогліфи? Не ясно. Тому і це визначення таке собі.

Хотілося б, щоб це було щось фундаментальне, як гравітація чи електрика, те що не залежить від людей та їх способів кодування.

72 роки тому Клод Шеннон зробив крок до саме такого фундаментального визначення, ввівши поняття ентропія і заснувавши цілу область “Теорія інформації”. Рідко коли буває, щоб одна людина зробила настільки великий внесок в науку. Теорія інформації лежить в основі роботи комп’ютера, передачі і збережені даних та дала початок теперішній інформаційній ері. Але нам особливо цікаво, яке вона має відношення до роботи мозку та штучного інтелекту.

Давайте спершу розберемо основи.

Найчастіше основи теорії інформації пояснюють на прикладі монетки чи грального кубика, але це все трохи нуднувато. Так ось, до Землі прилітає космічний корабель і зависає високо-високо в небі (зображення на початку:). І нічого не робить, окрім як щоночі блимає кольорами: білим, червоним, синім і жовтим. Ти думаєш: “Мабуть він хоче з нами розмовляти, передати якісь неймовірні знання!”, і починаєш записувати послідовність кольорів.

Ти вирішуєш (чомусь) закодувати кожний колір в бінарний код (00 -червоний, 11-білий, 10 -жовтий, 01-синій) і пишеш в блокноті послідовність кольорів як 01010011011100111…. Кольорів чотири, тому кожний кодується двома бітами(біт це просто число, що приймає два значення). Щоб записати послідовність з 1000 кольорів треба 2000 біт, так же? Теорія інформації каже “Ні! Можна записати коротше“. Це найбільш впливовий її результат. Як так?

Якщо космічний корабель блимає червоним значно частіше ніж всі інші, то червоному можна присвоїти не два біти, а один. Інші при цьому стануть довші, але не біда, бо в середньому ми збережемо місце. І треба буде не 2000 біт, а менше. Скільки? Клод Шеннон дав відповідь, ось вона:

Це формула ентропії випадкової величини X, яка приймає N значень, і ймовірність кожного значення p(xi). Це загальний випадок. В нас X кодує колір, приймає чотири значення і ймовірність появи і-того кольору p(xi) можна оцінити: рахуємо скільки раз був кожний колір і ділимо на загальну кількість. Наприклад, червоний 576 , білий 222, жовтий 124, синій 78, ділимо на 1000 і отримали ймовірності р1=0.576, р2=0.222, р3=0.124, р4=0.078. Підставляємо в формулу і маємо:

Ентропія =1.6 біт. Що це означає? А те, що на кожний колір потрібно не 2 біт, а вистачить всього 1.6 біт. Закодуємо кольори по-іншому (0-червоний, 10 -білий, 110-жовтий, 111 -синій). Тепер різні кольори кодуються різною кількістю біт і наша послідовність з 1000 кольорів перепишеться по-новому, вже через 1626 біт, тобто в середньому 1.626 біт на один колір. Це трохи більше ніж ентропія (1.6 біт), бо вона показує мінімальне значення, яке не так і просто отримати на практиці. Але це менше ніж 2біт на колір, і тому тепер ми записуємо сигнали прибульців коротше.

Колись я розказав про ентропію і стисненя одному вже літньому науковцеві, і він аж здивувався: “Як так? Це ж магія якась!”. Але це насправді дуже розумно, частішим символам присвоїти коротший код, і в результаті збережемо місце. Чи можна ще скоротити?

Тут ми з часом помічаємо, що космічний корабель після червоного дуже часто загоряється білим, а якщо був і червоний і білий, то скоріш за все далі буде жовтий. Таким комбінаціям, які часто зустрічаються можна також присвоїти коротший код і економити місце!

В цьому випадку рахуємо частоти не окремих кольорів, як раніше, а частоти їх комбінацій (червоний-білий, синьо-жовтий, …) Якщо групуємо кольори по два, то є 16 можливих комбінацій, якщо групуємо по N кольорів, то 4^N комбінацій). Ці частоти ділимо на кількість груп (1000 кольорів, група два, тоді є 500 груп). І отримуємо спільний розподіл ймовірності, який ми так само підставляємо в формулу ентропії замість звичайної ймовірності. Нехай ми отримали ентропія=2.5 біт. Тоді один колір в середньому закодується через 1.25 біт (бо в групі два кольори), а це вже менше ніж 1.6 коли кодували по одному. Чим більше ми знаємо як пов’язані між собою кольори, тим коротше можна записати.

Кольори записуєш-записуєш і не зрозуміло, що вони означають? Ось якби космічний корабель зразу блимав буквами українського алфавіту! Якщо рахувати, що є 32 букви (вибач ґ), то кожну можна записати через 5 біт (log2(32)=5) без стиснення. Але для нашої мови ентропію приблизно оцінили десь в 1.5 біт на букву (майже в три рази менше ніж максимум). Наша мова, як і будь-яка інша, надлишкова, тобто знаючи частину букв, можна легко відтворити інші. Саме тому ви можете прочитати наступне речення.

Че*е* цю над*ишк*віст*, л*гко зап*вн*в*ти пр*пу*ки і р*б*ти п*р*дбаче**я.

Якби ентропія була максимальна, 5 біт, то після кожної букви могла б іти будь-яка інша з однаковою ймовірністю. Чим більше “розкидані дані” (формально, розподіл ймовірності рівномірний), тим більша буде ентропія. Якби корабель загорявся всіма кольорами однаково випадково (кожний колір 25% раз), то ми б отримали ентропію 2 біт. Тому і для “масового споживача” спрощують, що ентропія це міра хаосу. По суті, це не “міра хаосу”, а міра інформації, скільки біт на символ треба, щоб одні дані перекодувати в інші. Скільки треба, щоб одну матеріальну систему (кольори корабля), перекодувати в іншу (наш блокнот).

Але проблема, що ентропія не каже, як саме перекодовувати, а лише теоретичний мінімум. Тому додатково розробили багато методів кодування. Найбільш відомий — метод кодів Хафмана, коли найчастішим символам присвоюється коротший код. Власне, ми так і зробили з кольорами. Цей метод використовується в zip архіваторі, jpeg, mp3 та багатьох інших кодеках. Або є інший відомий метод — арифметичних кодів, який кодує не окремі символи, а одразу всю послідовність. І є ще багато алгоритмів, які тихенько працюють, коли ви говорите по телефону чи отримуєте пакети даних по Інтернету.

Але не все так просто, історія ще не закінчилася. Прилітає другий корабель і теж починає блимати чотирьома кольорами! Тільки годинами пізніше ніж перший. Ти теж починаєш записувати. Але, вже озброєний теорією, рахуєш частоти появи кольорів, переводиш в ймовірності, підставляєш в формулу і бачиш скільки тобі треба виділити місце в своєму блокнотику. Якщо перший корабель дає 1.6 біт на символ, а другий 1.3 біти, то щоб все разом записати треба 1.6+1.3=2.9 біт на два кольори двох кораблів, правильно?

Тут теж теорія інформація каже, що можна скоротити. З часом ти помічаєш, що другий корабель блимає червоним тоді ж саме, коли і перший, тільки на дві години пізніше! Значить коли другий корабель блимає червоним він не дає жодної нової інформації. Ти і так знаєш, бо записав інфо про перший. Те, скільки біт можна “не записувати” по другому кораблю показує інша фундаментальна міра “взаємна інформація”. Є кілька можливих варіантів формул як її рахувати. Виберемо ось цю:

Взаємна інформація між двома випадковими величинами (Х та Y), що позначають кольори від першого та другого кораблів виражається через різницю: 1) ентропії другого корабля H(Y), скільки треба біт, якщо ми не знаємо про перший, 2) умовної ентропії другого корабля відносно першого H(Y|X), скільки треба біт в блокноту, коли знаємо перший. Як порахувати умовну ентропію упускаю, але треба знати спільний розподіл ймовірності, як залежать кольори між двома кораблями (по суті, те ж саме як ми робили з комбінаціями двох послідовних кольорів). Якщо взаємна інформація нульова, то зв’язку між двома кораблями немає, і треба просто просумувати дві ентропії і виділити місце в блокноту. Якщо взаємна інформація не нульова, то покаже на скільки менше можна буде записувати.

Ця міра застосовується в багатьох областях: в генетиці, дивляться як одна частина ДНК подібна до іншої, в космології, машинному навчанні, комунікації… Скрізь, де треба визначити взаємозв’язок в даних.

І так само в нейронних мережах. Якщо дві області мозку мають високу взаємну інформацію, значить нейронні мережі цих областей сильно пов’язані. Якщо між двома предметами є взаємна інформація (як з кораблями), то вона зберігається і між нейронними мережами. Якщо червоний колір на кораблі слідує за синім, то так само “сині” нейронні мережі, будуть зв’язані з тими, що кодують червоний. Останні ноти пісні нагадують наступну пісню в плейлисті. Мозок це як ніби пристрій, що віднаходить зв’язки між предметами і записує їх.

Серед нейронауковців є популярна гіпотеза ефективного кодування (efficient coding hypothesis). Вона каже, що нейронні мережі активуються так, щоб найбільш економно передати та зберегти максимум інформації. Так як ми перекодували кольори, щоб записати коротше, так і нейронні мережі активуються, щоб зекономити енергію, кількість нейронів і зв’язків. Але як вони це роблять ми поки ще не знаємо. Але знаємо, що там все перев’язано. Так само як зв’язок між двома кораблями зменшив потрібну кількість біт на символ, так і в мозку куча речей записуються в контексті одна одної і зв’язуються разом.

Загалом, теорія інформації далеко нас просунула в розумінні, що таке інформація. Ввела поняття ентропії як кількість інформації. А також взаємну інформацію, яка показує як зв’язані між собою предмети (формально, випадкові величини). Щось таки в цьому є. Матерія у всесвіті розподілена не випадково. Фізичні закони її формують, організовують та пов’язують.

До речі, теорія інформації дає особливий погляд на фізику. Візьмемо довгий мотузок, повісимо на нього важку камінюку і розгойдаємо. Стоїть задача записати коли і в яких положеннях буває камінюка. Робимо табличку з двома колонками, в першій буде час, в другій положення. Так само як з кораблем, можна порахувати ентропію і визначити скільки місця треба в табличці. Так ось, фізика знайшла найкоротший спосіб записати ці дані — через рівняння коливання. Підставляємо в рівняння швидкість і положення камінюки і отримуємо, де і коли вона буде в майбутньому. Так само і зі всіма іншими проявами (гравітація, електрика, оптика…) — фізика дає найкоротший спосіб записати дані і передбачити як вони будуть змінюватися.

В контексті прочитаного, можете вже самі подумати чи є інформація в книжці забутою мовою? Або те ж саме, чи є інформація в сигналах космічного корабля? Чи немає сенсу записувати ці кольори?

Назва статті: “Що таке інформація та в чому її суть”. Підсумуємо. Інформація це спосіб в який енергія-матерія розподіляється в часі-просторі. Її можна поміряти через ентропію. Чим більша ентропія, тим більш випадковий розподіл (звідси хаос) і тим більше треба біт на символ, щоб закодувати дані.

Суть інформації, що вона не залежить від “матеріального носія”. Один і той самий розподіл можна відтворити в різних системах. Коли ми так робимо, значить між системами створюємо взаємну інформацію. Чим менша вона, тим ці дві системи менш зв’язані. А мозок це машина, що постійно збільшує взаємну інформацію між нейронними мережами і проявами цього світу. Так ми в голові отримуємо копію нашого світу і можемо нею крутити в уяві як захочемо.

В наступній статті розглянемо скільки ж інформації передається та зберігається в нейронних мережах.

--

--

Osaulenko V.M.
Osaulenko V.M.

Written by Osaulenko V.M.

Дослідник. Веду блог “Територія штучного інтелекту”.

No responses yet