В последних заголовках о технологиях преобладают затаившие дыхание истории о проникновении ИИ в новые сферы. Не говоря уже о шумихе, можно сказать, что в применении методов машинного обучения к автономным системам, компьютерному зрению и обработке естественного языка произошли поразительные достижения.

Большая часть этих достижений была достигнута в области контролируемого обучения - задачи изучения отображения некоторых входных переменных на некоторые выходные переменные с учетом набора пар вход-выход. В самом деле, растет мнение о том, что новые методы позволили «решить» несколько областей контролируемого обучения. Трудно спорить с таким отношением, когда компьютерная модель может распознавать дорожные знаки или преобразовывать изображения в текст со скоростью, намного превосходящей человеческую.

Но более простые проблемы всегда уступают место более сложным. Все чаще задача машинного обучения будет заключаться в изучении передовых рубежей обучения без учителя. Обучение без учителя - это задача изучения представления, присущего некоторым данным, без чего-либо, кроме самих данных. Это широкое определение; он включает суммирование, кластеризацию и оценку плотности. Мы можем ограничить определение до одного, более близкого к тому, что Янн ЛеКун предпочитает называть предиктивным обучением - задачей изучения модели, которая может предсказывать значения любого подмножества переменных в наборе данных с учетом остальных. Это ограничивает его понятие обучения без учителя примерно понятием совместной оценки плотности вероятности. А именно, учитывая набор данных, изучите модель, которая явно или неявно представляет совместное распределение вероятностей по всем переменным в наборе данных. На основе такой модели можно затем выполнить любую задачу прогнозирования путем кондиционирования. Даже в рамках этого более ограничительного определения ЛеКун дал следующую характеристику:

«Если бы [искусственный] интеллект был пирогом, то неконтролируемое обучение было бы пирогом, контролируемое обучение было бы вишенкой на торте, а обучение с подкреплением было бы вишенкой на торте. Мы знаем, как сделать глазурь и вишню, но мы не знаем, как приготовить торт ». - Ян Лекун NIPS 2016

Большинство моделей, оценивающих совместные функции вероятности, являются генеративными. Это означает, что модель предоставляет средства для создания выборок, взятых из смоделированного распределения. Использование этого чрезвычайно полезного свойства следует из того, что мы называем «генеративным тезисом» - что хороший способ понять структуру набора данных - моделировать процессы, которые генерируют данные. Проблема моделирования набора данных превращается в проблему создания машины, которая может генерировать новые точки данных, как если бы они были получены из исходного набора данных.

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

Сравнение генеративных моделей

О качестве генеративной модели следует судить по тому, насколько хорошо ее распределение соответствует распределению данных. Есть несколько показателей, которые обычно используются для сравнения различных типов генеративных моделей.

Визуальный осмотр. Самый распространенный метод оценки производительности модели - это посмотреть на сгенерированные ею образцы. Многие возражают против этого, потому что это качественно. Однако он также не подходит для данных, не являющихся изображениями или текстовыми. Например, вероятно, невозможно составить полезное мнение о генеративной модели для белковых последовательностей, просто взглянув на последовательности, которые она выплевывает.

Ошибка реконструкции: VAE и RBM можно рассматривать как методы, которые могут брать точку данных, внедрять ее в пространство более низкой размерности, а затем обращать встраивание для восстановления исходной точки данных. Ошибка реконструкции имеет тенденцию уменьшаться во время обучения, но можно легко получить модели с низкой ошибкой восстановления, но ужасными выборками. Более того, ошибка реконструкции не является подходящим показателем для сетей GAN (которые не выполняют реконструкцию).

Начальные оценки: Inception - это нейронная сеть, обученная в ImageNet для распознавания объектов. Ряд методов оценки генеративных моделей изображений вычисляют оценки на основе выходных данных начальной сети. Эти оценки могут коррелировать с человеческим восприятием качества изображения (так что это тип автоматизированного визуального контроля). Однако начальные оценки явно не применимы ни к чему, кроме изображений, потому что начальная сеть - это модель, обученная на изображениях.

Журнал правдоподобия: оценка логарифмического правдоподобия данных в рамках модели с использованием оценок окна Парзена или отожженной выборки по важности - еще один распространенный подход для количественной оценки производительности генеративной модели. Вероятность регистрации является подходящей метрикой для всех моделей и типов данных, но ее трудно оценить. Более того, логарифмическое правдоподобие может быть трудно интерпретировать в больших измерениях [1].

Измерение расстояния между данными и моделью

Пусть p_d (x) - плотность распределения данных, а p_m (x) - плотность распределения модели. Как хорошо измерить расстояние между этими распределениями?

Существует несколько способов количественной оценки расстояния между этими распределениями. Особенно распространенным набором является f-дивергенция, в частности, дивергенция Кульбака-Лейблера (KLD), обратная дивергенция Кульбака-Лейблера (RKLD) и дивергенция Дженсена-Шеннона (JSD).

В нашей недавней статье на тему Больцмановские закодированные состязательные машины мы реализовали приближение к этим показателям, чтобы помочь получить представление о динамике обучения в реальном времени. Хотя этот метод был представлен в [2] еще в 2009 году, насколько нам известно, ни в одной другой статье ML не используются онлайн-оценки расхождений KL, RKL и JS.

Дивергенция Кульбака-Лейблера (KLD),

является положительной метрикой со значением на продолженной прямой (может быть + бесконечность), которая равна нулю тогда и только тогда, когда p (x) = q (x) для всех x.

Важно отметить, что это расхождение не симметрично. В результате полезно изучить как KL (p_d || p_m), так и Reverse-KL (p_d || p_m):

Взгляните, например, на следующий пример GAN, в котором модель учится представлять смесь гауссиан, показанную оранжевым цветом (рисунок 1).

Рис. 1. Построение трех f-дивергенций во время обучения GAN. В нижнем ряду оранжевая плотность - это смесь истинных истинностей распределения гауссианов, а голубая плотность - это модельные распределения в эпохи 15 и 65.

В начале обучения модель учится охватывать всю область сглаженным распределением, таким образом достигая довольно низкого KLD. Однако центральная дыра в данных способствует довольно большому RKLD, пока модель не научится выталкивать эту область вниз. Примерно после эпохи 55 модель фактически начинает забывать о некоторых режимах - явление, называемое коллапсом режимов, - которое, как известно, влияет на некоторые типы GAN.

В целом KLD чувствителен к неспособности модели охватить все режимы обучающего набора данных. Кроме того, RKLD чувствителен к паразитным режимам в модельном распределении.

Одна из проблем этих расхождений заключается в том, что они слишком чувствительны - они могут взорваться при сравнении дистрибутивов с несвязанной поддержкой. Более стабильное сравнение, Дивергенция Дженсена-Шеннона (JSD),

симметрична и конечна. Существуют теоретические причины, по которым он должен падать во время тренировки, и мы можем видеть это на рисунке 1.

Эти f-расхождения полезны для количественной оценки качества соответствия модели. Но по этому поводу можно сказать гораздо больше. Многие недавние достижения в области генеративного машинного обучения (особенно с моделями, обученными с помощью обратного распространения) рекомендуют оценивать более устойчивые, более стабильные распределительные метрики, чтобы определить потери при обучении. См. WGAN, Cramer-GAN, Sinkhorn Audodiff, OT-GAN и другие.

Выходя за рамки эталонных показателей

«Все модели неверны, но некоторые полезны» - Джордж Бокс, «Надежность в статистике», 1979 г.

В исследованиях машинного обучения наблюдается тенденция к созданию «королевской битвы», в которой производительность различных алгоритмов сравнивается с помощью ряда тестов. Примеры проектов включают MLPerf и DAWNbench. Однако при этом сообществу следует проявлять осторожность и не допускать собственных предубеждений в этих тестах.

Во-первых, текущие инициативы по тестированию, исходящие от сообщества машинного обучения, сильно смещены в сторону компьютерного зрения и обработки естественного языка. Существует множество приложений машинного обучения за пределами этих областей, которые требуют другого внимания: например, обработка мультимодальных данных, отсутствующих наблюдений и временных рядов. Большинство моделей нельзя применить ко всем типам проблем. Что лучше нового метода, если он позволяет выполнять специализированную задачу по последнему слову техники или улучшает общую производительность при выполнении многих задач?

Во-вторых, модели могут ошибаться по-разному. Следовательно, разные метрики по-разному ранжируют модели. Например, KLD наказывает генеративные модели, которые исключают режимы из распределения данных, тогда как RKLD наказывает модели с ложными режимами. Что для генеративной модели хуже: сбросить режим или иметь ложный режим?

Наконец, существует множество факторов, влияющих на решение о том, какой метод применить для решения реальной проблемы. Очевидно, мы заботимся о производительности модели. Мы также обычно заботимся о вычислительных затратах при обучении модели (которая включена в недавние тесты, такие как MLPerf и DAWNbench). Однако прикладных исследователей также заботит время разработки, которое трудно измерить. В конце концов, многие люди пишут код на Python, хотя в тестах он работает намного медленнее, чем Fortran. Точно так же некоторые типы моделей машинного обучения привередливы. Что лучше - иметь модель, которая хорошо работает после небольшой настройки гиперпараметров, или модель, которая работает действительно хорошо, но требует большой настройки гиперпараметров?

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

— — — — — —

[1] Заметка об оценке генеративных моделей, Лукас Тайс, Аарон ван дер Оорд и Матиас Бетеге. ICLR 2016.

[2] Оценка расходимости для многомерных плотностей с помощью расстояний k-ближайших соседей, Цин Ван, Санджив Р. Кулкарни и Серджио Верду, IEEE Transactions of Information Theory, vol. 55, нет. 5, 20 мая 2009 г.