Теория информации
Минимум о том, как устроена информация: бит как единица, вес информации (колмогоровская сложность), отделение сигнала от шума, сжатие, моделирование как понижение размерности, абстракция как сжатие смысла. Главное — формальное различие между моделированием (легитимное отбрасывание несущественного для задачи) и упрощением (потеря существенного без контекста задачи).
Бит, байт, вес
Бит — минимальная единица информации, принимает два значения: 0 или 1, да или нет, включено или выключено.
Байт — 8 бит, 256 возможных значений. Достаточно для кодирования одного символа в большинстве систем (ASCII).
Любая информация — текст, изображение, звук, видео — сводится к последовательности битов. Различаются они только тем, как биты сгруппированы и интерпретированы.
Вес информации — минимальное число битов, необходимое для её хранения или передачи. На интуитивном уровне это размер файла, но более глубокое определение — колмогоровская сложность (по А. Н. Колмогорову): длина самой короткой программы, которая воспроизводит данную информацию.
Это важно: вес определяется не визуальным объёмом, а тем, сколько информации реально нужно, чтобы её восстановить.
- Жёсткий диск, заполненный одними нулями, имеет огромный «физический объём», но реальный вес — один бит: «всё нули». Этого достаточно, чтобы восстановить любое количество таких нулей
- Случайный шум на жёстком диске занимает много байтов, но не несёт никакого смысла — это не информация, а просто данные
- Точки графика функции y = x² можно сгенерировать бесконечно много, но информационный вес остаётся равен весу самой формулы
Информация — это то, что несёт смысл и не сводится к шуму. Случайные данные одинакового объёма с осмысленными — это не информация, а просто заполнение.
Сигнал и шум
Сигнал — то, что несёт смысл в контексте конкретной задачи. Шум — то, что в этом контексте смысла не несёт.
Граница между ними не объективная, а зависит от задачи. То, что для маркетолога — сигнал (источник трафика на сайт), для физика — шум. То, что для геолога сигнал (состав породы), для топографа — шум.
Это центральное наблюдение: невозможно осмысленно работать с информацией без явной задачи. Без задачи нет критерия, что важно, а что нет, и любая обработка данных вырождается в произвол.
Сжатие
Сжатие без потери — алгоритмическое уменьшение объёма данных с возможностью точного восстановления. Архиватор сжимает текст, потому что в нём есть статистические закономерности (одни буквы встречаются чаще), и эти закономерности используются для более компактного кодирования.
Сжатие с потерей — управляемое отбрасывание части информации, после которого восстановление точного оригинала невозможно. Применяется для изображений (JPEG), звука (MP3), видео. Если задача не требует абсолютной точности, потеря деталей даёт большой выигрыш в размере.
Сжатие с потерей предполагает: известно, какая часть информации существенна для задачи, и эту часть сохраняют, а несущественную отбрасывают. Это уже шаг в сторону моделирования.
Понижение размерности и моделирование
Моделирование — построение нового объекта, который описывает оригинал в другом, более простом пространстве. В отличие от сжатия, модель не остаётся в исходном формате: 3D-реальность можно моделировать 2D-картой; живой организм — статистикой выживания; человека — несколькими параметрами по конкретной шкале.
Формально это называется понижение размерности (dimensionality reduction): переход от описания с большим числом параметров к описанию с меньшим числом, сохраняющий главную структуру для конкретной задачи. Базовое понятие размерности — там же.
В машинном обучении и анализе данных это формальная операция с конкретными алгоритмами — PCA (principal component analysis), t-SNE, UMAP, автоэнкодеры. Все они решают одну задачу: найти такую систему меньшей размерности, в которой максимум вариативности оригинала сохраняется. Что считается «главным» — определяется задачей.
Реальный мир имеет фактически бесконечную размерность: каждый объект описывается практически бесконечно (атомы, связи, история, окружение). Чтобы делать с ним что-то полезное, его нужно проецировать в пространство меньшей размерности. Каждая такая проекция — модель.
Один объект — много моделей, потому что задач много:
| Объект | Задача | Модель |
|---|---|---|
| Дерево | Изучить вид | Образец листа, ботаническое описание |
| Дерево | Посчитать древесину | Объём в кубометрах |
| Дерево | Использовать в пейзаже | Силуэт, цветовое пятно |
| Дерево | Изучить ДНК | Геномная последовательность |
| Дерево | Заменить в графике | 3D-модель |
Каждая модель — это правильный ответ для своей задачи и неправильный для других. «Какая модель верная?» — некорректный вопрос; правильный — «верная для какой задачи?»
Моделирование vs упрощение
Это центральное различие, которое теория информации делает формально. Поверхностно моделирование и упрощение выглядят похоже (и то, и другое отбрасывает часть информации), но по сути они противоположны.
| Моделирование | Упрощение | |
|---|---|---|
| Контекст | В рамках конкретной задачи | Без явной задачи |
| Что отбрасывается | Несущественное для данной задачи | Всё подряд, по интуиции «попроще» |
| Что сохраняется | Все ключевые признаки, нужные для задачи | Случайные фрагменты |
| Восстанавливаемость для задачи | По модели можно восстановить объект с нужной точностью | Может терять решающие факторы |
| Качество оценивается | Через успешность решения задачи | Никак — нет критерия |
Моделирование легитимно по построению. Любая теория, любой формализм, любая типология — это модель. Альтернатива моделированию — работа с сырой реальностью, в которой ничего нельзя ни доказать, ни предсказать, ни построить. Шум поглощает любой сигнал.
Упрощение — ловушка. Под лозунгом «реальность сложна, давайте по-простому» можно отбросить именно те факторы, которые решают задачу. Без явной задачи нет критерия, что важно, а что нет — поэтому упрощение часто оставляет случайный, а не существенный остаток.
Когда модель критикуют за «слишком простоту», правильный встречный вопрос: какую задачу модель решает? Если она ловит существенное для этой задачи — это моделирование, и упрёк не работает. Если упрёк действительно по делу — нужно показать конкретный фактор, существенный для задачи, который модель пропускает.
«Реальность сложнее» — не контраргумент. Реальность всегда сложнее любой модели по определению. Вопрос только в том, теряет ли модель что-то существенное для решаемой задачи.
Абстракция как сжатие смысла
Слова и понятия — это тоже модели. «Дерево», «справедливость», «дежавю» — каждое слово сжимает огромный пласт смысла в несколько байт. Это работает в обе стороны: понятие позволяет передать смысл другому компактно и распаковать его обратно в сложную мысленную картину.
Абстракции делают возможным сложное мышление. Без понятия «когнитивное искажение» каждый раз пришлось бы заново описывать всю конструкцию. С ним достаточно одного слова — и появляется доступ ко всему пласту знаний и инструментов, связанных с этим концептом.
Это совпадает с принципом понижения размерности: абстракция — это компактное обозначение паттерна в пространстве меньшей размерности. Хорошая абстракция точно ловит существенное и позволяет работать со сложными системами без потери в каждый момент работы.
Создание новых абстракций — основной механизм продвижения знания. Наука создаёт абстракции (закон сохранения энергии, ген, нейромедиатор), которые становятся точками опоры для следующих абстракций. То же в программировании, инженерии, в искусстве.
Главное
Любая работа с информацией — это работа с моделями. Прямого доступа к реальности нет ни у кого: восприятие, мышление, наука, типология — это всё уровни моделирования. Вопрос не «модель или реальность», а «насколько модель пригодна для текущей задачи».