Известный исследователь Франсуа Шолле предложил математический подход к определению и измерению интеллекта, основанный на теории алгоритмической информации. В третьей части своего подробного видеообзора блогер и специалист по ИИ Янник Кильхер детально разбирает формулы Шолле, призванные формализовать понятия опыта, априорных знаний и сложности обобщения. Этот материал позволяет по-новому взглянуть на то, как создавать объективные тесты для систем искусственного интеллекта, способных по-настоящему адаптироваться к неизвестным условиям.
🧠 Что такое интеллект: формула Франсуа Шолле 0:00
Основой для математического анализа служит фундаментальное определение, предложенное автором концепции. По мнению Франсуа Шолле, интеллект системы представляет собой меру эффективности приобретения ею навыков в рамках определенного спектра задач с учетом априорных знаний, накопленного опыта и сложности обобщения. Данный подход смещает фокус с простой демонстрации готового навыка на скорость и гибкость его освоения.
В этой формулировке критически важны три фактора, которые ведущий разбирает последовательно:
- Априорные знания (Priors). То, что заложено в систему изначально. Если способность решать задачу уже встроена в архитектуру, её применение не требует проявления интеллекта.
- Опыт (Experience). Объем информации и интеракций, которые система получила в процессе обучения. Обладая избыточным опытом, система может просто опираться на память, а не на интеллектуальные способности.
- Сложность обобщения (Generalization difficulty). Внутреннее свойство самой задачи. Если задача требует высокого уровня абстракции и адаптации, то достижение хорошего результата при прочих равных условиях свидетельствует о более высоком интеллекте.
Янник Кильхер подчеркивает, что цель данного математического аппарата — свести эти абстрактные понятия к конкретному числу, позволяющему сравнивать любые интеллектуальные агенты.
💻 Архитектура взаимодействия: интеллектуальная система и программа навыка 2:44
Для построения математической модели Франсуа Шолле вводит четкое разделение между самой обучающейся системой и результатом её работы. С одной стороны, существует задача, которая генерирует последовательность ситуаций (обучающих примеров). С другой стороны, находится интеллектуальная система. В отличие от классического обучения с подкреплением, где агент сразу выдает действие на основе наблюдения, в концепции Шолле система генерирует промежуточный объект — программу навыка (skill program). Эта программа способна функционировать автономно, преобразуя входные ситуации в ответы.
В качестве аналогии Янник Кильхер приводит классическое глубокое обучение:
- Интеллектуальная система — это архитектура нейросети (например, ResNet) в сочетании с оптимизатором (SGD). Сюда входят не сами веса, а именно процедура их обновления.
- Программа навыка — это конкретная реализация сети с фиксированными весами, полученными на определенном шаге.
В процессе обучения, который Шолле называет курикулумом (curriculum), интеллектуальная система может непрерывно вмешиваться, корректировать программу навыка и генерировать её новую версию на основе полученных оценок и обратной связи от задачи. На этапе тестирования эта связь полностью разрывается. Программа навыка остается один на один с тестовой средой, выполняет шаги, и её финальная успешность суммируется в итоговый балл.
Внимательно изучая формальные определения статьи, Янник Кильхер высказывает критическое замечание в адрес автора. Он указывает на функцию самообновления интеллектуальной системы, которая принимает на вход текущую ситуацию, ответ, обратную связь и собственное внутреннее состояние системы. По мнению ведущего, для полной математической строгости эта функция должна также обязательно принимать на вход внутреннее состояние самой программы навыка, поскольку её поведение может быть стохастическим. Впрочем, Кильхер признает, что это скорее его личная придирка, не ломающая общую логику фреймворка.
🔢 Теория алгоритмической информации как фундамент 10:01
Чтобы перевести рассуждения в плоскость строгих вычислений, Франсуа Шолле опирается на алгоритмическую теорию информации (колмогоровскую сложность). Основной величиной здесь выступает алгоритмическая сложность строки $H(s)$, определяемая как длина кратчайшей программы, которая способна сгенерировать данную строку на универсальной машине Тьюринга. Простыми словами, это длина минимального кода, необходимого для воспроизведения информации.
Второй ключевой инструмент — относительная алгоритмическая сложность $H(s_1 \mid s_2)$. Она измеряет длину кратчайшей программы, которая генерирует строку $s_1$, имея свободный доступ к строке $s_2$ в качестве входных данных. Кильхер наглядно объясняет это на примере дублирования: если вторая строка является точной половиной первой, то программа генерации будет чрезвычайно короткой — ей достаточно просто скопировать входные данные дважды. Эта относительная сложность напрямую подводит математику к оценке того, насколько эффективно система может переходить от одних массивов данных к другим.
📉 Измерение сложности обобщения 12:57
Для формализации сложности обобщения Шолле вводит два типа решений для конкретной задачи $T$ с заданным порогом успешности $\theta$:
- $Sol_\theta(T)$ — кратчайшая из всех возможных программ, способная успешно решить задачу во время финального тестирования.
- $TrainSol_{opt}(T, C)$ — кратчайшее оптимальное решение, созданное специально под обучающий курикулум $C$. В терминах машинного обучения это идеальная модель, гиперразмеченная под конкретный тренировочный датасет.
Сложность обобщения математически определяется как отношение относительной сложности $H(Sol_\theta(T) \mid TrainSol_{opt}(T, C))$ к общей сложности идеального тестового решения $H(Sol_\theta(T))$.
Этот показатель всегда находится в диапазоне от 0 до 1, и ведущий детально разъясняет пограничные случаи:
- Значение 0 означает, что вся информация для финального теста уже полностью содержится в тренировочном наборе данных. Обобщение не требуется, переход дается «бесплатно».
- Значение 1 сигнализирует о том, что обучающий курикулум абсолютно бесполезен. Оптимальное решение для тренировочных данных никак не помогает найти решение для теста, что ведет к неизбежному жесткому переобучению.
Существует фундаментальный компромисс между жесткой оптимизацией под обучающие данные и способностью справляться с неопределенностью в будущем. Франсуа Шолле дополняет эту метрику понятием «сложности обобщения с учетом разработчика» (developer-aware generalization difficulty). Это необходимо, чтобы исключить обман со стороны создателей ИИ, которые могут заранее жестко закодировать алгоритм решения финального теста в исходное состояние системы, полностью проигнорировав процесс обучения. Данная метрика математически штрафует систему, если решение задачи было заложено в ее архитектуру до начала взаимодействия со средой.
🛡️ Учёт априорных знаний и накопленного опыта 22:24
Для окончательного расчета интеллекта необходимо изолировать чистую эффективность системы от факторов «врожденных» знаний и объема изученных данных.
Априорные знания (Priors) измеряются через разность между общей сложностью решения задачи и относительной сложностью этого решения при известном начальном состоянии системы на шаге ноль. Если создатель системы полностью заложил в нее выигрышную стратегию, эта сложность падает до нуля, а показатель априорных знаний стремится к единице. По оценке Шолле, здесь важно учитывать не весь абстрактный объем кода системы, а именно количество релевантной для данной задачи информации.
Опыт (Experience) оценивается динамически на каждом шаге обучения $t$. Он рассчитывается как вклад конкретной порции новых данных в уменьшение сложности пути к финальному решению. Суммируя эти показатели по всему процессу обучения, математический аппарат вычисляет совокупный объем информации, полученный из опыта. При этом предполагается идеальный, теоретически оптимальный способ использования этих данных.
Итоговая формула интеллекта объединяет эти компоненты. Она берет среднее значение по всем задачам из выбранного спектра и вычисляет математическое ожидание сложности обобщения под распределением тренировочных данных, деленное на сумму априорных знаний и опыта.
В упрощенном текстовом виде Кильхер сводит эту громоздкую конструкцию к понятной пропорции:
$$\text{Интеллект} \sim \frac{\text{Успешность} \times \text{Сложность Обобщения}}{\text{Априорные Знания} + \text{Опыт}}$$
Таким образом, система признается более интеллектуальной, если она способна решать сложные, требующие высокого уровня обобщения задачи, обладая при этом минимальными стартовыми подсказками от разработчиков и используя для обучения очень скромный объем данных.
📋 Каким должен быть идеальный бенчмарк для ИИ 37:52
Хотя точный расчет колмогоровской сложности в реальном мире невозможен из-за ее алгоритмической невычислимости, предложенная математическая модель формирует строгие критерии для создания идеального теста на проверку интеллекта ИИ. На основе работы Шолле Кильхер перечисляет ключевые требования к таким бенчмаркам:
- Четкое описание рамок и валидности. Тест должен открыто декларировать спектр применимости и свою предсказательную силу в его границах.
- Исключение известных задач. В оценочном наборе не должно быть задач, которые известны разработчикам или системе заранее. Это предотвращает прямую заготовку ответов.
- Контроль объема опыта. Нельзя допускать возможность «покупки» высокого результата за счет скармливания системе неограниченных объемов данных. Это автоматически дисквалифицирует стандартные современные бенчмарки по распознаванию образов или обработке текста, где преимущество получает тот, кто больше заплатил за разметку или скачал больше интернет-страниц.
- Запрет на генерацию данных по ходу дела. Тест должен быть похож на игру, в которой невозможно бесконечно тренироваться до начала официальной сессии оценивания.
- Прозрачность априорных допущений. Все встроенные ожидания от среды должны быть зафиксированы явным образом, чтобы не давать скрытого преимущества человеку или машине.
- Справедливость для человека и машины. Тест должен опираться только на те базовые знания, которыми обладают люди (Core Knowledge), и требовать для обучения адекватного объема времени и данных, сопоставимого с человеческими возможностями.
Практическим воплощением этих жестких требований, как резюмирует Янник Кильхер, является разработанный Франсуа Шолле набор тестов ARC (Abstraction and Reasoning Corpus) и запущенное на его базе соревнование на платформе Kaggle. Практический разбор этого бенчмарка ведущий оставляет для следующей части серии.