В новом выпуске подкаста Machine Learning Street Talk ведущий Тим Скарфе (Tim Scarfe) и исследователь Алессандро Померини обсуждают фундаментальные ограничения современных нейросетей и пути создания сильного ИИ. В центре дискуссии — абстрактный тест ARC Франсуа Шолле и новые математические подходы к индуктивному синтезу программ. Учёный подробно описывает свою модификацию алгоритма DreamCoder, способную извлекать скрытые эвристики из весов моделей для радикального ускорения машинного мышления.
🧠 От профессионального гейминга к науке о сложности 0:00
Алессандро Померини пришёл в сферу искусственного интеллекта из профессионального киберспорта. До завершения бакалавриата по направлению ИИ и компьютерных наук в Эдинбургском университете он профессионально играл в многопользовательские онлайн-стратегии (MOBA), аналогичные Dota 2. Важной вехой, по словам исследователя, стал триумф системы OpenAI Five над чемпионами мира, что изначально потрясло его как игрока.
Однако спустя годы взгляд Померини изменился: он считает систему OpenAI Five не столь впечатляющей из-за колоссальной неэффективности обучения, ведь алгоритму потребовался эквивалент 45 000 лет игрового опыта. По мнению ведущего Тима Скарфе, лучшие геймеры и комментаторы занимаются тем же, что и разработчики ИИ — конструируют «программы навыков» и создают мощные обобщающие эвристики для получения тактического преимущества.
После окончания университета Померини натолкнулся на статью Франсуа Шолле «О намерении измерять интеллект» и обнаружил пересечения своих идей с работами профессора Мелани Митчелл. Он напрямую связался с ней, что позволило ему получить позицию исследователя-постбака в престижном Институте Санта-Фе. Тим Скарфе подчеркнул выдающийся статус Митчелл, упомянув её культовые книги о теории сложности и истории ИИ («Искусственный интеллект: путеводитель для мыслящих людей»).
Институт Санта-Фе устроен уникально: там полностью отсутствуют классические кафедры и изолированные лаборатории, а 12–15 штатных профессоров и постдоков обязаны работать в междисциплинарной культуре. По словам Померини, отсутствие узкой специализации объединяет физиков, биологов, математиков и социологов для совместного изучения природы сложных систем.
📊 Навык против интеллекта: концепция Франсуа Шолле 6:33
Главной проблемой современной индустрии Померини и Скарфе называют фундаментальное смешение понятий «навык» (выходная демонстрация работы в конкретной задаче) и «интеллект» (эффективность приобретения этого навыка). Собеседники сошлись во мнении, что бот OpenAI Five невероятно искусен в «замороженном» подмножестве игры, но полностью ломается при минимальных изменениях среды, поскольку у него отсутствует гибкий интеллект адаптации.
По мнению Франсуа Шолле, любой разработчик может «купить» высокую результативность системы, просто встроив в неё огромный объём априорных знаний или предоставив бесконечный массив обучающих данных. Шахматные движки лидируют за счёт жёстко закодированных правил, но не способны к генерализации в изменившихся условиях.
Для иллюстрации Шолле использует аналогию с хэш-таблицей и локально-чувствительным хэшированием: при неограниченном сэмплинге данных такая система достигнет абсолютного мастерства в любой видеоигре, но её интеллект останется нулевым. Тим Скарфе добавил, что в рамках этой логики большие языковые модели (LLM) можно рассматривать как прославленные n-граммные модели или гигантские базы данных.
Померини соглашается, отмечая, что в текущих тестах практически невозможно отличить истинные рассуждения модели от банального запоминания примеров из обучающей выборки. При этом человек тоже активно использует заученные шаблоны для экономии когнитивных ресурсов, однако сохраняет способность к творчеству в критический момент.
🧩 Тест ARC и эпистемология Дэвида Дойча 10:42
В качестве альтернативы классическим бенчмаркам Франсуа Шолле создал тест ARC (Abstraction and Reasoning Corpus), направленный на измерение эффективности формирования навыков, а не финальной результативности. Корпус состоит из 1000 уникальных задач. В каждой задаче исполнителю предлагается всего 2–3 примера пар визуальных матриц (сетки с цветными пикселями), демонстрирующих скрытое абстрактное правило трансформации. Цель решателя — индуктивно вывести общую концепцию и применить её к тестовой матрице.
Шолле опирается на нативистский подход: для решения ARC необходимы лишь базовые врождённые знания (core knowledge), сформулированные психологом Элизабет Спелке.
Основными элементами врождённых знаний являются:
- Понятие об объектах, их границах и физической целостности.
- Базовая нумерическая грамотность (счёт, сравнение «больше» и «меньше»).
- Элементарная топология и геометрия пространства.
При этом фактор избыточного опыта полностью устранён за счёт лимита в несколько примеров.
Алессандро Померини отмечает, что на его научное мировоззрение колоссальное влияние оказала книга физика Дэвида Дойча «Начало бесконечности», базирующаяся на эпистемологии Карла Поппера. Из этих трудов исследователь вывел важный тезис для ARC: невозможно механически и строго дедуктивно вывести правильную программу из пары примеров. Ключом является гипотеза или конъюнктура.
Поппер утверждал, что научные теории не выводятся из наблюдений — они лишь тестируются наблюдениями. Мы сначала выдвигаем догадку, интерпретируем через неё мир, фиксируем ошибки и корректируем гипотезу. В компьютерных науках процесс генерации таких догадок тождественен понятию «поиск» (search), и главный вопрос заключается в том, как сделать этот поиск эффективным.
🤖 Алгоритм DreamCoder: укрощение экспоненциального поиска 17:18
Задачу ARC можно формализовать как индуктивный синтез программ (program induction), где по входным спецификациям генерируется исполняемый код. Историческим центром этих исследований Померини называет лаборатории Массачусетского технологического института (MIT) под руководством Джоша Тененбаума и Армандо Солар-Лезамы. Именно там в рамках докторской диссертации Кевина Эллиса был создан алгоритм DreamCoder. Система синтезирует программы из конечного набора базовых примитивов, но из-за бесконечных вариантов их комбинаций дерево поиска растёт экспоненциально.
Чтобы упростить поиск, DreamCoder использует два фундаментальных механизма: сокращение глубины поиска за счёт создания библиотек (chunking) и сокращение ширины поиска с помощью нейросетевой стратегии. Снижение глубины Померини объясняет на аналогии с грамматикой Python: если у нас есть только примитивы + и 1, то для генерации числа 3 требуется цепочка 1+1+1 (глубина 3), а для числа 4 — глубина 7 (1+1+1+1). Но если алгоритм решает несколько задач и замечает регулярность, он «схлопывает» цепочку 1+1+1 в новый библиотечный примитив 3. Теперь число 4 собирается за один шаг (3+1), что снижает требуемую глубину поиска.
Ширина поиска сокращается за счёт обучения нейросети, которая аппроксимирует распределение вероятностей над компонентами библиотеки для конкретной задачи. Нейросеть осуществляет так называемый амортизированный вывод (amortized inference), предсказывая траектории поиска для любой новой задачи.
Процесс устроен по принципу wake-sleep («бодрствование-сон»). В фазе wake система ищет решения реальных задач, а в фазе sleep тренируется на «фантазиях» — случайно сгенерированных из собственной библиотеки программах, что обеспечивает мощный симбиоз генерации идей и их строгой верификации.
🔧 Декомпиляция знаний: новый подход Померини 32:15
В совместной научной работе под названием «Bayesian Program Learning by Decompiling Amortized Knowledge» Алессандро Померини предложил радикальную модификацию классического DreamCoder. Традиционный алгоритм сжимает код и создаёт новые примитивы библиотеки жадно, основываясь исключительно на том, какие подпрограммы лучше всего сокращают размер кода уже найденных решений. Померини посчитал этот подход ограниченным. Его идея заключается в том, чтобы использовать скрытые знания самой нейросети, направляющей поиск. Нейросеть в процессе обучения выявляет глубокие латентные паттерны комбинаций, даже если они ещё не зафиксированы в явном коде решений.
Для извлечения этих абстракций Померини применил метафору декомпиляции. Подобно тому, как классический декомпилятор восстанавливает высокоуровневый исходный код из низкоуровневых машинных инструкций, алгоритм Померини анализирует веса обученной нейросети и извлекает из них наиболее ценные макро-компоненты для добавления в библиотеку примитивов. Это замыкает усиленный контур положительной обратной связи: качественные примитивы улучшают генеративную модель, позволяя фазе «сна» создавать более релевантные фантазийные задачи, что, в свою очередь, резко повышает точность нейросетевого гида.
🧮 Вероятностная модель и борьба с вычислительной сложностью 37:22
Прямое извлечение функций из нейросети сопряжено с серьёзными математическими вызовами. Самый простой метод — усреднение вероятностей генерации подпрограмм по всем задачам — оказался неэффективным. Померини выделил две фундаментальные проблемы такого подхода: он даёт лишь относительное ранжирование, не определяя оптимальное число функций для добавления, а крупные, но крайне полезные макро-программы математически всегда имеют более низкую вероятность генерации, чем мелкие компоненты.
Чтобы решить эти проблемы, команда внедрила распределение Бернулли (бинарный выбор) для оценки того, принесёт ли добавление конкретного примитива чистую выгоду (net benefit) для всей системы поиска. Поскольку точный расчёт требует полной перетренировки сети и вычислительно невозможен, исследователи создали схему кэширования (caching scheme).
В рамках этой схемы используется мера кэширования, заимствованная из теории информации, где сложность генерации объекта эквивалентна понятию «информационной неожиданности» (surprise) или отрицательному логарифму вероятности. Мера кэширования вычисляется как отношение сложности генерации изолированной функции к общей сложности генерации всей программы. Она математически строго показывает, какую долю вычислительных трудностей мы убираем из системы при фиксации этого компонента. Из-за аналитической неразрешимости маргинализации по всему пространству программ авторы применили приближение на основе частиц (particle-based approximation) и статистические оценки Монте-Карло, что позволило успешно реализовать алгоритм на практике.
🚀 Результаты экспериментов и будущее теста ARC 44:57
Эксперименты показали, что декомпиляция знаний значительно усиливает эффект начального самообучения (bootstrapping): модифицированный алгоритм Померини находит решения сложных программ значительно быстрее оригинального DreamCoder в условиях жестко ограниченного опыта. Однако со временем кривая эффективности выходит на плато, и классический DreamCoder догоняет модификацию. Алессандро объясняет это тем, что базовое пространство поиска изначально ограничено фиксированным набором стартовых примитивов, заданных человеком; если решение сложнейшей задачи лежит вне этого концептуального пространства, никакое перераспределение и сжатие не поможет его достичь.
В финале дискуссии собеседники затронули текущее состояние конкурса ARC Challenge. На данный момент лидирующие позиции в таблице занимают решения Райана Гринблатта и Джека Коула, основанные на масштабном файнтюнинге коммерческих больших языковых моделей. По мнению Померини, подобные подходы идут вразрез с истинным духом концепции интеллекта Франсуа Шолле, так как они эксплуатируют колоссальные объёмы данных и вычислительные мощности вместо демонстрации эффективности мышления.
Сам исследователь уже год работает в Институте Санта-Фе над принципиально новым методом решения ARC. Этот метод по-прежнему использует комбинаторный поиск, но не в пространстве программ, а в ином математическом представлении. По заверению автора, его новая архитектура сочетает высокую дата-эффективность программного синтеза с вычислительной мощью и способностью быстро отсекать тупиковые ветви поиска, а официальный релиз наработок запланирован ближе к дедлайну конкурса в начале ноября.