Теория информации

Минимум о том, как устроена информация: бит как единица, вес информации (колмогоровская сложность), отделение сигнала от шума, сжатие, моделирование как понижение размерности, абстракция как сжатие смысла. Главное — формальное различие между моделированием (легитимное отбрасывание несущественного для задачи) и упрощением (потеря существенного без контекста задачи).

Бит, байт, вес

Бит — минимальная единица информации, принимает два значения: 0 или 1, да или нет, включено или выключено.

Байт — 8 бит, 256 возможных значений. Достаточно для кодирования одного символа в большинстве систем (ASCII).

Любая информация — текст, изображение, звук, видео — сводится к последовательности битов. Различаются они только тем, как биты сгруппированы и интерпретированы.

Вес информации — минимальное число битов, необходимое для её хранения или передачи. На интуитивном уровне это размер файла, но более глубокое определение — колмогоровская сложность (по А. Н. Колмогорову): длина самой короткой программы, которая воспроизводит данную информацию.

Это важно: вес определяется не визуальным объёмом, а тем, сколько информации реально нужно, чтобы её восстановить.

  • Жёсткий диск, заполненный одними нулями, имеет огромный «физический объём», но реальный вес — один бит: «всё нули». Этого достаточно, чтобы восстановить любое количество таких нулей
  • Случайный шум на жёстком диске занимает много байтов, но не несёт никакого смысла — это не информация, а просто данные
  • Точки графика функции y = x² можно сгенерировать бесконечно много, но информационный вес остаётся равен весу самой формулы

Информация — это то, что несёт смысл и не сводится к шуму. Случайные данные одинакового объёма с осмысленными — это не информация, а просто заполнение.

Сигнал и шум

Сигнал — то, что несёт смысл в контексте конкретной задачи. Шум — то, что в этом контексте смысла не несёт.

Граница между ними не объективная, а зависит от задачи. То, что для маркетолога — сигнал (источник трафика на сайт), для физика — шум. То, что для геолога сигнал (состав породы), для топографа — шум.

Это центральное наблюдение: невозможно осмысленно работать с информацией без явной задачи. Без задачи нет критерия, что важно, а что нет, и любая обработка данных вырождается в произвол.

Сжатие

Сжатие без потери — алгоритмическое уменьшение объёма данных с возможностью точного восстановления. Архиватор сжимает текст, потому что в нём есть статистические закономерности (одни буквы встречаются чаще), и эти закономерности используются для более компактного кодирования.

Сжатие с потерей — управляемое отбрасывание части информации, после которого восстановление точного оригинала невозможно. Применяется для изображений (JPEG), звука (MP3), видео. Если задача не требует абсолютной точности, потеря деталей даёт большой выигрыш в размере.

Сжатие с потерей предполагает: известно, какая часть информации существенна для задачи, и эту часть сохраняют, а несущественную отбрасывают. Это уже шаг в сторону моделирования.

Понижение размерности и моделирование

Моделирование — построение нового объекта, который описывает оригинал в другом, более простом пространстве. В отличие от сжатия, модель не остаётся в исходном формате: 3D-реальность можно моделировать 2D-картой; живой организм — статистикой выживания; человека — несколькими параметрами по конкретной шкале.

Формально это называется понижение размерности (dimensionality reduction): переход от описания с большим числом параметров к описанию с меньшим числом, сохраняющий главную структуру для конкретной задачи. Базовое понятие размерности — там же.

В машинном обучении и анализе данных это формальная операция с конкретными алгоритмами — PCA (principal component analysis), t-SNE, UMAP, автоэнкодеры. Все они решают одну задачу: найти такую систему меньшей размерности, в которой максимум вариативности оригинала сохраняется. Что считается «главным» — определяется задачей.

Реальный мир имеет фактически бесконечную размерность: каждый объект описывается практически бесконечно (атомы, связи, история, окружение). Чтобы делать с ним что-то полезное, его нужно проецировать в пространство меньшей размерности. Каждая такая проекция — модель.

Один объект — много моделей, потому что задач много:

ОбъектЗадачаМодель
ДеревоИзучить видОбразец листа, ботаническое описание
ДеревоПосчитать древесинуОбъём в кубометрах
ДеревоИспользовать в пейзажеСилуэт, цветовое пятно
ДеревоИзучить ДНКГеномная последовательность
ДеревоЗаменить в графике3D-модель

Каждая модель — это правильный ответ для своей задачи и неправильный для других. «Какая модель верная?» — некорректный вопрос; правильный — «верная для какой задачи?»

Моделирование vs упрощение

Это центральное различие, которое теория информации делает формально. Поверхностно моделирование и упрощение выглядят похоже (и то, и другое отбрасывает часть информации), но по сути они противоположны.

МоделированиеУпрощение
КонтекстВ рамках конкретной задачиБез явной задачи
Что отбрасываетсяНесущественное для данной задачиВсё подряд, по интуиции «попроще»
Что сохраняетсяВсе ключевые признаки, нужные для задачиСлучайные фрагменты
Восстанавливаемость для задачиПо модели можно восстановить объект с нужной точностьюМожет терять решающие факторы
Качество оцениваетсяЧерез успешность решения задачиНикак — нет критерия

Моделирование легитимно по построению. Любая теория, любой формализм, любая типология — это модель. Альтернатива моделированию — работа с сырой реальностью, в которой ничего нельзя ни доказать, ни предсказать, ни построить. Шум поглощает любой сигнал.

Упрощение — ловушка. Под лозунгом «реальность сложна, давайте по-простому» можно отбросить именно те факторы, которые решают задачу. Без явной задачи нет критерия, что важно, а что нет — поэтому упрощение часто оставляет случайный, а не существенный остаток.

Когда модель критикуют за «слишком простоту», правильный встречный вопрос: какую задачу модель решает? Если она ловит существенное для этой задачи — это моделирование, и упрёк не работает. Если упрёк действительно по делу — нужно показать конкретный фактор, существенный для задачи, который модель пропускает.

«Реальность сложнее» — не контраргумент. Реальность всегда сложнее любой модели по определению. Вопрос только в том, теряет ли модель что-то существенное для решаемой задачи.

Абстракция как сжатие смысла

Слова и понятия — это тоже модели. «Дерево», «справедливость», «дежавю» — каждое слово сжимает огромный пласт смысла в несколько байт. Это работает в обе стороны: понятие позволяет передать смысл другому компактно и распаковать его обратно в сложную мысленную картину.

Абстракции делают возможным сложное мышление. Без понятия «когнитивное искажение» каждый раз пришлось бы заново описывать всю конструкцию. С ним достаточно одного слова — и появляется доступ ко всему пласту знаний и инструментов, связанных с этим концептом.

Это совпадает с принципом понижения размерности: абстракция — это компактное обозначение паттерна в пространстве меньшей размерности. Хорошая абстракция точно ловит существенное и позволяет работать со сложными системами без потери в каждый момент работы.

Создание новых абстракций — основной механизм продвижения знания. Наука создаёт абстракции (закон сохранения энергии, ген, нейромедиатор), которые становятся точками опоры для следующих абстракций. То же в программировании, инженерии, в искусстве.

Главное

Любая работа с информацией — это работа с моделями. Прямого доступа к реальности нет ни у кого: восприятие, мышление, наука, типология — это всё уровни моделирования. Вопрос не «модель или реальность», а «насколько модель пригодна для текущей задачи».