Янник Килхер разобрал концепт обучения на основе энергетических моделей от OpenAI

Yannic Kilcher 39,8 тыс. 39 мин 5 мин 11.05.2020
Главное

В области машинного обучения идет непрерывный поиск архитектур, способных не просто запоминать паттерны, но и гибко адаптироваться к новым абстрактным правилам. Известный ИИ-исследователь и блогер Янник Килхер (Yannic Kilcher) подробно разобрал интригующую научную работу исследователя Игоря Мордача из OpenAI, посвященную обучению концептам с помощью энергетических моделей (Energy-Based Models, EBM). Этот подход предлагает радикальную альтернативу привычным нейросетям прямого распространения, интегрируя градиентный спуск непосредственно в процесс генерации ответов на этапе вывода.

🔋 Что такое энергетические модели? 0:54

Для понимания сути предложенного метода необходимо сначала разобраться в базовой концепции энергетических моделей. По сути, энергетическая функция — это математическая функция, которая принимает на вход один или несколько параметров (обозначим их как $X$) и возвращает числовое значение, отражающее «совместимость» или «правильность» этих параметров.

Работа такой функции подчиняется простому правилу:

Почти любую классическую задачу машинного обучения можно переформулировать на языке энергетических моделей. Например, в обычном классификаторе изображений кошек и собак в качестве энергетической функции можно использовать функцию потерь (loss function). Если на вход подается картинка кошки с правильной меткой «кошка», модель выдает нулевую энергию. Если же подставить ошибочную метку «собака», энергетическая функция зафиксирует резкий всплеск значений, сигнализируя о внутренней ошибке.

Аналогичным образом принципы EBM прослеживаются в алгоритме кластеризации k-means, где энергией выступает расстояние от точки данных до ближайшего центра кластера. В генеративно-состязательных сетях (GAN) роль энергетической функции берет на себя дискриминатор. Он обучается опускать уровень «энергии» до минимума в точках расположения реальных данных, формируя своеобразные глубокие «долины», и поднимать его там, где находятся фальшивые генерации.

🧬 Три переменные: Состояние, Внимание и Концепт 10:10

В разбираемой Игорем Мордачем архитектуре энергетическая функция оперирует тремя ключевыми компонентами, взаимодействие которых определяет логику работы системы:

  1. Состояние ($X$): В рамках данного исследования состояние представляет собой вектор, описывающий набор геометрических объектов (сущностей) и их атрибутов, таких как координаты на плоскости ($x, y$) и цвет в формате RGB.
  2. Маска внимания ($A$): Дифференцируемый вектор, указывающий, на какие конкретно объекты из общего состояния модель должна обратить внимание в данный момент.
  3. Вектор концепта ($W$): Векторное представление (эмбеддинг) абстрактного правила или формы, например понятия «линия», «квадрат», «близко» или «между».

Суть концептуального обучения сводится к проверке взаимной совместимости этих трех элементов. Если вектор концепта $W$ кодирует правило «располагаться близко», а маска внимания $A$ выделяет два объекта, которые действительно находятся вплотную друг к другу в пространстве $X$, энергетическая функция будет абсолютно «счастлива» и выдаст нулевой результат. Если же объекты удалены друг от друга, уровень энергии окажется высоким.

Поскольку все три компонента ($X$, $A$, $W$) являются строго дифференцируемыми, мы получаем уникальную гибкость: зафиксировав любые два элемента из этой тройки, мы можем вычислить третий с помощью обычного градиентного спуска.

🔄 Оптимизация на этапе вывода: Генерация и Идентификация 15:30

Большинство современных нейросетей работают по принципу «однократного прохода» (one-shot): они принимают входные данные и за один шаг выдают готовый ответ. В энергетических моделях Игоря Мордача градиентный спуск становится неотъемлемой частью работы алгоритма не только во время обучения, но и на этапе инференса (вывода).

Автор работы выделяет два основных режима работы обученной энергетической функции:

Самым интригующим процессом Янник Килхер называет «выведение концепта». Если показать модели пример абстрактной ситуации (допустим, несколько точек, выстроенных в ряд) и зафиксировать для них маску внимания, алгоритм через градиентный спуск может самостоятельно сформировать вектор концепта $W$.

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

🏋️ Трудности обучения: Обратное распространение через градиентный спуск 23:47

Несмотря на элегантность подхода, его практическая реализация сталкивается с колоссальным вычислительным барьером. Чтобы обучить параметры самой энергетической функции (которая в работе реализована как реляционная нейросеть), исследователям приходится осуществлять обратное распространение ошибки через целые цепочки шагов оптимизации.

Один шаг обучения такой модели превращается в сложнейшую многоуровневую процедуру:

  1. Генератор данных создает демонстрационную сцену с определенным скрытым правилом.
  2. Модель выполняет полноценный цикл градиентного спуска, чтобы нащупать вектор концепта $W$.
  3. Полученный вектор применяется к тестовой сцене, где запускается второй цикл градиентного спуска для поиска маски внимания.
  4. Итоговый результат сравнивается с истинным значением, после чего запускается процедура Backpropagation through Time сквозь все проделанные шаги оптимизации.

По оценке Янника Килхера, если классическая сеть ResNet-50 требует всего одного прямого прохода для получения предсказания, то в данной схеме обратное распространение приходится делать через условные 50 проходов градиентного спуска. Это создает запредельную вычислительную нагрузку, из-за чего подобные исследования пока проводятся исключительно на простых синтетических («игрушечных») задачах.

🧪 Эксперименты, роботы и критика автора 30:09

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

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

Тем не менее Янник Килхер высказал долю здорового скептицизма относительно масштабов этого успеха. По его мнению, демонстрация с роботом выглядит скорее как дань эффектным презентациям OpenAI, поскольку реального физического переноса в сложные условия не происходило — позиции суставов и объектов все так же кодировались простыми векторами координат.

Кроме того, Янник Килхер считает, что модель пока не демонстрирует истинного «понимания» концептов с нуля (zero-shot). Вместо этого она лишь выбирает и распознает правильные абстракции из тех, что уже были жестко заложены в ее обучающий датасет на этапе симуляции.

Тем не менее Янник Килхер подчеркивает фундаментальную важность этого направления. Модели, использующие оптимизацию непосредственно в момент инференса, обладают несравнимо большей выразительной мощностью, чем классические ИИ-архитектуры прямого прохода. Автор выразил надежду, что как только индустрия найдет математически более изящный и менее затратный способ дифференцирования через шаги оптимизации, энергетические модели могут спровоцировать совершенно новую технологическую волну в искусственном интеллекте.

💬 Цитаты

«Модели, которые выполняют оптимизацию во время вывода, гораздо более мощные, чем модели, которые делают просто однократный прямой проход.»

Янник Килхер 34:17
👥 Спикер
📖 Термины
Энергетическая функция
Математическая функция, которая оценивает совместимость конфигураций переменных, возвращая ноль для корректных состояний и высокое значение для ошибочных.
Маска внимания
Параметр модели, определяющий, на какие именно объекты или области данных системе следует опираться при анализе.
Реляционная нейросеть
Архитектура нейронных сетей, ориентированная на выявление и анализ связей и отношений между парами объектов.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Энергетические модели Янник Килхер OpenAI Градиентный спуск