Всем привет! Сегодня я хотел бы разобрать статью Implicit Maximum Likelihood Estimation: разобрать идею, математику, а также попробовать провести различные тесты и рассказать о применении этой работы.
Метод максимального правдоподобия
Сделаем небольшое отступление и вспомним, как вообще проводится оценка параметров статистической модели по данным. На эту тему у меня есть небольшая статья, где я сравниваю MLE и MAP, здесь же - быстрое напоминание.
Пусть у нас есть параметрическое семейство распределений и выборка
, которую мы считаем сгенерированной независимо из некоторого
. Метод максимального правдоподобия предлагает выбрать в качестве оценки то
, при котором наблюдаемые данные оказываются наиболее вероятны:
На простых моделях можно получить аналитические решения. Ниже - три примера с полным выводом.
Гауссиана с известной дисперсией. Пусть и оцениваем только
(считаем
известной константой). Логарифм правдоподобия:
Первое слагаемое от не зависит, поэтому дифференцируем только второе:
Приравниваем к нулю:
Вторая производная по равна
, значит найденная точка - действительно максимум, а не седловая точка или минимум. Получаем обычное выборочное среднее.
Бернулли. Пусть и
. Логарифм правдоподобия по всей выборке:
Обозначим - число “успехов” в выборке. Тогда
. Дифференцируем по
:
Приравниваем к нулю и решаем:
откуда - доля успехов в выборке, как и ожидалось.
Экспоненциальное распределение. Пусть
и
. Логарифм правдоподобия:
Дифференцируем по :
Приравниваем к нулю:
Вторая производная снова подтверждает, что это максимум.
Во всех трёх случаях мы явно знаем функцию плотности, поэтому взять производную логарифма правдоподобия по параметру и приравнять её к нулю - рутинная задача, решаемая аналитически.
Мотивация
Проблема начинается там, где мы не можем явно записать . Это особенно характерно для глубинного обучения: данные вроде изображений - это не таблички с независимыми признаками, а сложные структурированные объекты, которые, согласно гипотезе о многообразии (manifold hypothesis), фактически лежат на многообразии существенно меньшей размерности, чем размерность пикселей. Можно задать такую модель не через плотность, а через процедуру сэмплирования:
взять шум
;
пропустить его через параметрическое преобразование
(обычно - нейросеть).
Такие модели называют implicit (неявными) - в отличие от prescribed (явных) моделей вроде смеси гауссиан или скрытых марковских моделей, где плотность выписывается напрямую. У неявных моделей плотность формально существует, но выражается через производную интеграла по крайне сложной области и на практике не вычислима ни аналитически, ни численно. Из-за этого напрямую максимизировать правдоподобие для таких моделей нельзя - нужен способ оценивания параметров, который вообще обходится без вычисления плотности. Именно из-за этой проблемы возникли GAN и другие методы, оценивающие некоторую разницу между данными и моделью, а не правдоподобие напрямую. У IMLE другая идея: остаться в рамках максимизации правдоподобия, но сделать это, ни разу не вычисляя саму плотность явно.
Основная идея
Интуиция авторов такая. Если модель максимизирует правдоподобие, то плотность должна быть высокой в окрестности каждого обучающего примера. А раз плотность там высокая, то если начать генерировать сэмплы из модели, часть из них с высокой вероятностью окажется рядом с этими примерами. Значит, вместо того чтобы явно оценивать плотность, можно смотреть на расстояние от каждого объекта данных до ближайшего к нему сгенерированного сэмпла - и уменьшать именно это расстояние.
Формально, если - независимые сэмплы из текущей модели, то для каждого объекта данных
определяется величина
и оценка IMLE - это параметры, минимизирующие суммарное ожидаемое расстояние:
Здесь важна асимметрия по сравнению с GAN. В связке генератор-дискриминатор, грубо говоря, дискриминатору важно, чтобы каждый сэмпл был похож на какой-то реальный объект - отсюда и склонность GAN к схлопыванию мод (mode collapse). В IMLE сопоставление идёт в обратную сторону: не сэмпл ищет себе пару среди данных, а каждый объект данных ищет себе ближайший сэмпл. Можно сказать, что такая асимметрия соответствует не обратной, а прямой KL-дивергенции - , той самой, которую минимизирует классический MLE. Если какой-то кластер данных окажется «непокрытым» сэмплами, соответствующее слагаемое в сумме будет большим, и градиент подтянет модель в эту область. Это структурно не даёт объекту данных остаться без внимания модели и должно снижать риск потери мод.
Чем IMLE отличается от других методов
Коротко о том, где IMLE стоит относительно трёх основных способов обучать неявные модели.
GAN минимизирует расхождение между распределением данных и моделью через состязательную игру: в идеализированном случае, когда дискриминатор оптимален и имеет неограниченную выразительность, ванильный GAN сводится к минимизации дивергенции Йенсена-Шеннона (Goodfellow et al., 2014), а f-GAN обобщает эту конструкцию на широкий класс f-дивергенций. Теоретический анализ обычно предполагает доступ к точным ожиданиям по распределениям и оптимальный дискриминатор - условия, которые на практике не выполняются при конечной выборке и нейросетях ограниченной ёмкости. Кроме того, обучение GAN представляет собой невыпукло-невогнутую minimax-задачу, поэтому стандартная градиентная динамика не обязана сходиться к равновесию; в некоторых параметрических GAN-играх локальное равновесие Нэша может вообще отсутствовать (Farnia & Ozdaglar, 2020). На практике хорошо задокументированы такие проблемы, как схлопывание мод, слабый или затухающий градиентный сигнал при хорошо разделённых распределениях (Arjovsky & Bottou, 2017) и нестабильность обучения (Mescheder et al., 2018); впрочем, современные методы регуляризации и функции потерь, например R3GAN, заметно продвинулись в их устранении.
IMLE обходит все три проблемы одним и тем же способом - отказом от состязательности. Потеря мод структурно невозможна, потому что сопоставление идёт от данных к сэмплам и непокрытый кластер сразу даёт большое слагаемое. Затухающих градиентов не возникает: градиент обнуляется только при буквальном совпадении точек, то есть чем дальше носители данных и модели, тем больше сигнал - прямая противоположность поведению дискриминатора при непересекающихся носителях. Нестабильности нет, потому что нет второго игрока и вопроса существования равновесия - есть обычная задача минимизации одной функции (пусть и негладкой из-за
в сопоставлении).
GMMN - тоже безадверсариальный подход, но минимизирует не f-дивергенцию, а maximum mean discrepancy (MMD): расхождение между средними эмбеддингами данных и сэмплов в некотором RKHS. Проблем с равновесием игры здесь нет, но у MMD нет прямой связи с правдоподобием и нет гарантии полного покрытия мод; плюс оценка MMD требует достаточно больших батчей - тот же компромисс «размер батча против качества оценки объектива», что и у IMLE с числом сэмплов .
VAE максимизирует не само правдоподобие, а его нижнюю границу (ELBO), используя энкодер и репараметризационный трюк. Чтобы справиться с проблемой непересекающихся носителей, VAE обычно берёт гауссовскую модель наблюдений с довольно высокой дисперсией - носитель модели искусственно расширяется, чтобы покрыть данные, ценой размытых сэмплов. У IMLE путь прямее: ни энкодера, ни вариационного зазора, генератор просто подгоняется под ближайшие к данным сэмплы.
Прямая и обратная KL. Эти два направления стоит развести явно, потому что дальше мы увидим разницу на эксперименте.
Прямая KL,
, минимизация которой на уровне распределений эквивалентна MLE. Она становится бесконечной, если модель присваивает нулевую плотность области ненулевой вероятности под
, поэтому сильно штрафует непокрытые области данных. При ограниченной ёмкости модели это приводит к характерному стремлению покрывать всю вероятностную массу: если одной моделью из выбранного семейства нельзя точно описать все моды данных, модель склонна растянуться так, чтобы покрыть несколько мод сразу, даже ценой вероятностной массы между ними.
Обратная KL,
, наоборот, сильно штрафует модель за вероятность в областях, где плотность данных мала, но непосредственно не штрафует за области данных, которым сама модель присвоила нулевую массу. При ограниченном аппроксимирующем семействе это приводит к характерному стремлению выбирать отдельные моды: модель может предпочесть одну хорошо описываемую моду попытке накрыть сразу несколько. С этим направлением иногда проводят аналогию для резких, но не всегда разнообразных сэмплов GAN-подобных методов, хотя для ванильного GAN это не буквальная KL-целевая функция - при оптимальном дискриминаторе его minimax-объектив связан с дивергенцией Йенсена-Шеннона.
Асимметричное сопоставление IMLE по духу соответствует прямому направлению: каждый объект данных должен иметь рядом хотя бы один сэмпл модели, поэтому непокрытая область данных увеличивает целевую функцию. Это согласуется со связью IMLE с максимальным правдоподобием, доказанной в Theorem 1 при дополнительных условиях.
Алгоритм и математика
Алгоритм
Оптимизация происходит итеративно, чередуя два шага: (1) сэмплирование из текущей модели и жадное сопоставление данных с ближайшими сэмплами, (2) несколько шагов градиентного спуска по параметрам модели при фиксированном сопоставлении.
Дано: данные {x_i}, i = 1..n; неявный генератор x = T_θ(z), z ~ N(0, I) Инициализировать θ for k = 1..K (внешний цикл): сгенерировать m сэмплов x̃_1, ..., x̃_m из T_θ выбрать случайный батч объектов S ⊆ {1..n} для каждого i ∈ S: σ(i) ← argmin_j ‖x_i − x̃_j‖² # ближайший сэмпл, фиксируем на весь внутренний цикл for l = 1..L (внутренний цикл): выбрать мини-батч S̃ ⊆ S θ ← θ − η ∇_θ [ (n / |S̃|) · Σ_{i∈S̃} ‖x_i − x̃_{σ(i)}‖² ] return θ
Ключевой момент - сопоставление пересчитывается только во внешнем цикле, а внутри него это фиксированная задача регрессии: подтянуть
к
для закреплённых пар. Именно поэтому не нужен ни дискриминатор, ни явная плотность, ни партиционная функция - вся оптимизация сводится к обычному градиентному спуску по расстояниям. Разделение на внешний и внутренний циклы - не просто техническая деталь: если пересчитывать
на каждом шаге градиента, сопоставления будут «дёргаться» вслед за параметрами и оптимизация может стать нестабильной, а полный пересчёт сэмплов и соседей после каждого шага был бы неоправданно дорогим.
Вот как это выглядит вживую на смеси из восьми гауссиан. Тёмные точки - данные, красные - сэмплы модели, серые линии - текущее сопоставление :

На инициализации все сэмплы сидят в нуле, каждый объект данных тянет свою пару к себе - и именно длинные серые рёбра дают тот самый большой градиент. Через несколько десятков внешних итераций сэмплы уже расползлись по кольцу, а к сходимости рёбра становятся настолько короткими, что их не видно.
Одноточечный случай
Рассмотрим предельно простой случай: один объект данных и один сэмпл
. Пусть
- случайная величина с функцией распределения
. Чем выше плотность модели в окрестности
, тем быстрее растёт
при малых
(в шар малого радиуса вокруг
попадает больше вероятностной массы). Для неотрицательной случайной величины есть тождество
то есть площадь под функцией . Максимизировать плотность возле
- то же самое, что заставить
расти как можно быстрее, а значит минимизировать эту площадь, то есть минимизировать
. Более точно: если перейти от радиуса
к объёму шара этого радиуса (который в
измерениях пропорционален
), то отношение
к этому объёму при
стремится ровно к значению плотности
- то есть скорость роста CDF в нуле однозначно определяется локальной плотностью. Отсюда и связь: минимизация ожидаемого расстояния до ближайшего сэмпла в этом простейшем случае эквивалентна максимизации плотности в точке данных.
Многоточечный случай и обобщение на n примеров
Перейти от одной точки к сумме по точкам напрямую нельзя - плотности
в разных точках могут расти и убывать с разной скоростью при изменении
, и минимизация суммы
в общем случае не обязана совпадать с максимизацией
. Чтобы это исправить, авторы используют общий приём про замену переменных внутри
.
Пусть , так что
- это и есть MLE. Идея в том, чтобы подобрать строго монотонную дифференцируемую функцию
и веса
так, чтобы
и при этом левая часть по построению совпадала с объективом IMLE. Для этого вводится вспомогательная функция
минимально достижимое ожидаемое расстояние до сэмпла в точке, где плотность модели равна ровно
. Опираясь на свойство сдвиговой инвариантности семейства
(для любого сдвига найдётся параметр, дающий ту же плотность, сдвинутую на этот вектор), можно показать, что
строго убывает: чем выше плотность в точке, тем меньше минимально достижимое ожидаемое расстояние до неё. Из строгого убывания
следует, что композиция
строго возрастает (убывающая от убывающей - возрастающая), а значит годится в качестве той самой монотонной замены. При этом
- то есть именно ожидаемое расстояние до ближайшего сэмпла в точке
, объектив IMLE для одного слагаемого.
Отсюда - формулировка теоремы из статьи (Theorem 1): при ряде технических условий на семейство
дифференцируемость
по
и непрерывность по
- нужна, чтобы вообще можно было брать градиенты;
сдвиговая инвариантность семейства - нужна, чтобы плотность в произвольной точке
можно было свести к плотности в нуле для какого-то другого параметра, как выше;
своего рода “замкнутость по мажоранте”: для любых двух параметров найдётся третий, чья CDF расстояния до нуля не меньше обеих поточечно, а плотность в нуле равна максимуму из двух - это техническое условие нужно для доказательства монотонности
;
изолированность оптимума правдоподобия: вне окрестности
плотность в каждой точке данных строго меньше, чем в
, - без этого сумма могла бы не иметь единственного максимума;
дифференцируемость
;
невырожденность: вне
градиент взвешенного объектива IMLE не должен обнуляться ни по одному направлению - иначе у взвешенной суммы появились бы лишние стационарные точки помимо
,
оптимум взвешенной версии объектива IMLE совпадает с оптимумом максимума правдоподобия:
Веса на практике неизвестны, поскольку зависят от ещё не найденного
. Но если в оптимуме плотность модели одинакова во всех точках данных,
(естественно ожидать от достаточно выразительной модели - иначе итоговое правдоподобие, произведение плотностей, было бы неоправданно занижено из-за самых «слабых» точек), все веса совпадают и сокращаются, и получается ровно тот безвесовая целевая функция, которая выписана в разделе выше:
Даже когда веса не сокращаются, необвешенный объектив можно рассматривать как минимизацию верхней оценки на взвешенный - и чем ближе модель к тому, чтобы не занижать сильно плотность ни в одной точке данных, тем точнее эта оценка.
Эксперименты
В данном разделе я провед серию небольших экспериментов, которые я проделал сам, чтобы не ограничиваться обзором сухой теории, но и попробовать, что и как работает на практике. Я не делал тяжелвые эксперименты - можно запускать на CPU. Реализация это честный Алгоритм 1 выше (внешний цикл сэмплирует латентов и фиксирует сопоставление, внутренний делает
шагов регрессии), генератор - обычный MLP на три скрытых слоя по 128 нейронов с LeakyReLU. Оговорюсь сразу - это игрушечные постановки в размерности 1-2, а не воспроизведение экспериментов статьи, и переносить выводы на изображения напрямую нельзя.
Что на самом деле минимизирует безвесовой объектив
Начать я хотел с простейшей проверки: взять семейство , данные из
, и убедиться, что IMLE находит те же
, что и аналитический MLE. Проверка не прошла - и вот тут уже интересно.
Вместо того чтобы гонять оптимизатор (у которого свои патологии), я посчитал сам популяционный объектив по сетке параметров методом Монте-Карло и посмотрел, где у него минимум.

По всё в порядке: минимум объектива стоит на
при
(разница в пределах шага сетки и шума Монте-Карло). А вот
систематически завышена и, что хуже, зависит от числа сэмплов
: от вырожденного
при
до
при
, тогда как
. Панель (a) показывает и почему это происходит: с ростом
дно объектива становится всё более пологим, при
функция почти плоская на широком диапазоне
, и положение минимума определяется всё слабее.
Причина ровно та, которую мы обсуждали в разделе про Theorem 1: веса сокращаются только тогда, когда в оптимуме плотность модели одинакова во всех точках данных. Для жёсткой гауссианы на гауссовых данных плотности в центре выборки и в хвостах различаются на порядки. Безвесовой объектив считает квадрат расстояния одинаково важным для всех точек, а хвостовые точки объективно оказываются дальше от ближайшего сэмпла - и модель раздувается, чтобы до них дотянуться.
Проверить это объяснение можно прямым контрольным экспериментом. Возьмём семейство на равномерных данных: здесь в оптимуме плотность во всех точках данных одинакова по построению, то есть условие сокращения весов выполнено точно. И действительно, панель ©: начиная с
безвесовой IMLE попадает в MLE в третьем знаке (
против
) и держится там стабильно при росте
на два порядка.
То есть Theorem 1 работает ровно тогда, когда выполняются её предпосылки, а расхождение на гауссиане - это прямое следствие несокращающихся весов.
Ограниченная выразительность модели
Второй важный момент - что делает IMLE, когда семейство заведомо не может представить целевое распределение. Данные - смесь .

Слева - выразительный вариант: генератор-MLP, обученный IMLE, восстанавливает обе моды с правильными положениями и примерно равными весами. Качество при этом умеренное: TV-расстояние до истинной плотности по пяти сидам, и хорошо видно то же самое раздувание, что и в первом эксперименте - пики ниже, хвосты тяжелее.
Справа - тот случай, ради которого эксперимент и затевался. Одна гауссиана физически не может быть бимодальной, и три способа её подогнать расходятся принципиально:
Способ |
Поведение |
||
|---|---|---|---|
IMLE |
садится между модами, покрывает обе |
||
Аналитический MLE (прямая KL) |
то же самое, чуть уже |
||
Обратная KL |
выбирает одну моду и игнорирует вторую |
Обратная KL находит правую моду с точностью до второго знака и полностью выбрасывает левую - ровно то поведение, которое связывают с потерей мод. IMLE, как и MLE, встаёт в центр, где данных нет вообще, и раздувается настолько, чтобы накрыть обе моды. Это плохая аппроксимация, но это плохая аппроксимация правильного типа: метод не «читерит» отбрасыванием половины данных.
Покрытие мод: IMLE против GAN
Классический тест на схлопывание мод - восемь гауссиан, расставленных по окружности. Считаю три метрики: сколько мод покрыто (моде засчитывается покрытие, если она получает хотя бы 1% качественных сэмплов), доля качественных сэмплов (попавших в от какого-нибудь центра) и KL между гистограммой мод и равномерным распределением.

И вот здесь я не могу написать красивый вывод в пользу IMLE, потому что данные его не поддерживают.
Метод |
Покрыто мод (4 сида) |
Доля качественных сэмплов |
KL до равномерного |
|---|---|---|---|
IMLE, |
8, 8, 8, 8 |
||
GAN, lr |
8, 8, 8, 8 |
||
GAN, lr |
6, 5, 7, 7 |
|
|
При аккуратно подобранном learning rate ванильный GAN покрывает все восемь мод на всех сидах, и делает это заметно чище IMLE: 93% сэмплов попадают в окрестности мод против 77%. Разница видна и глазами - у IMLE между модами болтается ощутимый шлейф, следствие того самого раздувания.
Что действительно отличает IMLE - это устойчивость. Стоит поднять learning rate до , и GAN начинает терять моды: 5-7 из 8 в зависимости от сида, а на худшем сиде вдобавок разваливается качество (16% качественных сэмплов). У IMLE все прогоны выдают ровно 8/8 при любых настройках, которые я пробовал, и разброс между сидами практически нулевой.
Честная формулировка вывода звучит так: на игрушечном 2D-примере IMLE не выигрывает у GAN по качеству, но покрытие мод у него не зависит ни от сида, ни от гиперпараметров, тогда как у GAN зависит и от того, и от другого. Это ровно то, что обещает теория - гарантия покрытия «по построению», а не превосходство по фотореалистичности.
Распределения посложнее
Проверим теперь метод на распределениях, у которых нет разумной аналитической плотности, но которые всё ещё легко разглядеть глазами.

Спираль воспроизводится хорошо - модель ловит и закрутку, и сужение к центру. Two moons тоже узнаваемы, хотя между дугами появляется лишняя перемычка. Стандартные отклонения по осям совпадают с данными в пределах нескольких процентов: moons против
, спираль
против
, шахматка
против
.
Самый показательный случай - шахматка. Носитель данных здесь распадается на восемь несвязных квадратов, а непрерывный генератор из связного гауссовского шума в принципе не может выдать несвязный образ - где-то ему придётся протянуть «мост». Видно, как IMLE распределяет эти мосты: клетки узнаются, но пустые квадраты частично заполнены. Заметьте, что модель не пожертвовала частью клеток ради чистоты остальных - она равномерно размазала ошибку по всем. Это опять то же самое поведение прямой KL, только теперь в геометрической форме.
Сколько нужно сэмплов
Последний сюжет - чувствительность к . В тексте статьи это обычно подаётся как «слишком маленькое
делает оценку шумной», но эксперимент показывает, что зависимость двусторонняя.

И в 1D (по TV-расстоянию), и в 2D (по доле качественных сэмплов) кривая имеет выраженный оптимум: для смеси двух гауссиан на прямой и
для восьми гауссиан на плоскости. Слева от оптимума всё как в статье: сэмплов мало, носитель разрежен, часть данных сопоставляется с далёкими сэмплами, оценка шумная. Справа - деградация другой природы: разрешающая способность объектива есть, грубо говоря, типичный зазор между соседними сэмплами, и когда
велико, зазоры схлопываются, ближайший сосед оказывается рядом с любой точкой данных при почти любых параметрах, и объектив перестаёт различать распределения. Это ровно то уплощение, которое видно на панели (a) первого графика.
Важная оговорка: этот эффект тем сильнее, чем ниже размерность. В пиксельном пространстве изображений даже при в десятки тысяч сэмплы остаются далеко друг от друга, и верхняя граница практически не достигается - поэтому в статье она и не проявляется. А вот в задачах с низкоразмерным выходом (например, траектории в управлении) про неё стоит помнить:
- это не «чем больше, тем лучше», а параметр разрешения.
Что осталось за кадром
Пара вещей, которые я не проверял, но которые важны для полноты картины.
Вычислительная стоимость. Главное узкое место - поиск ближайшего соседа на каждой внешней итерации: в лоб это по расстояниям. Авторы предлагают опираться на быстрые приближённые методы поиска (в частности, свои же Dynamic Continuous Indexing и Prioritized DCI). На моих игрушечных размерностях это неважно, на изображениях - определяющий фактор.
Выбор метрики. Объектив минимизирует евклидово расстояние в «сыром» представлении данных, которое не обязано соответствовать перцептивному сходству. Авторы отмечают, что метрику можно заменить на расстояние в пространстве активаций предобученной сети (аналог перцептивной функции потерь (perceptual loss)) без потери теоретических гарантий, если это расстояние приближённо эквивалентно евклидову в каком-то вложении, но в оригинальной статье эксперименты ограничены pixel-space вариантом.
Что касается экспериментальной части самой статьи: авторы обучали простые полносвязные/свёрточные генераторы на MNIST, Toronto Faces Dataset и CIFAR-10 и сравнивали оценённый логарифм правдоподобия (через оценку методом окон Парзена) с DBN, GAN и GMMN. Сравнение логарифма правдоподобия, оценённого методом окон Парзена, - метрика с известными ограничениями в высокой размерности, и авторы это честно проговаривают, но общий вывод - что IMLE не страдает выраженной потерей мод и генерирует достаточно разнообразные сэмплы без дискриминатора вообще.
Любопытный факт: статья была отклонена на NeurIPS 2018, и авторы сознательно выложили ревью, ребаттл и мета-ревью в открытый доступ - жест, который сам по себе интересен в контексте дискуссий о рецензировании в ML.
Влияние и развитие
IMLE не стала мейнстримным методом на фоне GAN и, позже, диффузионных моделей. Но у неё оказалась своя ниша, и самое интересное развитие идеи, на мой взгляд, случилось не в генерации изображений, а в робототехнике.
IMLE Policy (Rana, Lee, Pershouse, Sünderhauf, RSS 2025) - это behaviour cloning на базе IMLE, и в ней метод попадает ровно в свою нишу. Задача имитационного обучения устроена так, что все три свойства IMLE оказываются не компромиссом, а преимуществом:
Наличие нескольких мод важна. Объехать препятствие можно слева или справа - политика, усредняющая эти два варианта, поедет прямо в препятствие, что недопустимо. Гарантия покрытия мод здесь это требование к работоспособности.
Данных мало по построению. Демонстрации собирает человек, каждая стоит времени. Авторы показывают, что IMLE Policy нужно в среднем на 38% меньше данных, чтобы дотянуться до качества бейзлайнов на мультимодальных задачах, а на некоторых задачах политика обучается всего с 17 демонстраций.
Быстрый инференс. Diffusion Policy требует итеративного расшумления (есть конечно Flow Matching модели, которые пытаются выпрямлять траектории и ускорять инференс, но все еще некоторое количество итераций необходимо) в то время как у IMLE генерация действия - один проход генератора.
Отдельно любопытна инженерная деталь: авторы добавляют к обучению выборку с отбрасыванием (rejection sampling) (траектории дальше порога от истинного значения отбрасываются), а на инференсе - выбор моды через поиск ближайшего соседа к предыдущей исполненной последовательности действий. Второе решает проблему, которой в исходной постановке IMLE просто не существует: когда мод действительно несколько и все они правильные, нужно не только их покрыть, но и не метаться между ними от шага к шагу.
Помимо этого, у метода есть линия работ того же коллектива в условной генерации: Conditional IMLE и супер-резолюция на её основе (2018), где артефакты вроде «выдуманных» цветов и высокочастотного шума, характерные для GAN-based SRGAN, выражены слабее - потому что нет дискриминатора, который можно обмануть состязательным шумом; и Multimodal Image Synthesis with Conditional IMLE (2020), более общий метод условной многомодальной генерации.
Общая мораль, на мой взгляд, такая. IMLE интересна не столько практическими результатами 2018 года (мои игрушечные эксперименты это подтверждают: по чистоте сэмплов настроенный GAN выигрывает), сколько самой идеей - точность/полнота (precision/recall) для генеративных моделей, гарантия отсутствия потери мод «по построению» и отказ от состязательной оптимизации в пользу обычной регрессии с динамическим сопоставлением пар. И IMLE Policy хорошо показывает, где эта рамка может окупаться там, где покрытие мод, устойчивость обучения и скорость инференса критически важны, а качество сэмплов может быть умеренным.
Код для экспериментов можно найти по ссылке. Также можете посмотреть интерактивные сниппеты в моем бложике.
ToxaBes
Спасибо за статью! Интересно почитать такое.
Моя интуиция говорит, что это расстояние Левенштейна в первом приближении.