Сегодня я расскажу о нескольких моделях полуконтролируемого обучения, которые были разработаны за последнее десятилетие. Но сначала давайте поговорим о том, что такое полуконтролируемое обучение и почему оно нас интересует!

Предположим, у нас есть большой набор данных с помеченными изображениями. Мы хотим использовать эти данные для построения модели, которая может сказать нам, что это, вероятно, автомобиль:

и что это, вероятно, кошка:

Стандартный способ сделать это в наши дни — построить свёрточную нейронную сеть (CNN). Было показано, что CNN дают самые современные результаты, когда они обучаются на больших наборах данных.

Это приводит к вопросу: что, если у нас нет большого размеченного набора данных? Может быть, я инженер в компании, которая создает продукт на основе CV для определенной ниши, и категории, которые я хочу, чтобы моя система компьютерного зрения идентифицировала, не кошки и автомобили (для которых я могу получить множество размеченных данных через общедоступные наборы данных, такие как CIFAR-10), но что-то более специфичное для предметной области, в котором нет в изобилии общедоступных помеченных данных? Маркировка данных обычно выполняется вручную, поэтому этот процесс является дорогостоящим и отнимает много времени.

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

Шумная студенческая модель

Модель шумного студента была предложена Xie et al. в 2019 году. Модель работает следующим образом:

Во-первых, модель учитель обучается на подмножестве изображений, которые были помечены вручную. Модель учителя, описанная в статье, использовала архитектуру EfficientNet (реализованную с помощью Tensorflow здесь). Модель учителя обучена минимизировать перекрестную энтропийную потерю и используется для вывода псевдометки для каждого непомеченного изображения. Эти псевдометки могут быть как мягкими, так и жесткими. (Мягкие метки представляются в виде непрерывного распределения, тогда как жесткие метки кодируются одним горячим кодированием).

Затем модель ученик обучается с использованием как вручную размеченных, так и псевдоразмеченных данных. Увеличение данных (в частности, RandAugment) используется для добавления шума к входным данным; отсев и стохастическая глубина используются для добавления шума в модель.

Затем этот процесс повторяется несколько раз (обычно 3) с использованием самой последней модели ученика в качестве нового учителя.

Модель Noisy Student дала самые современные результаты. Он превзошел архитектуру EfficientNet, на которой он был основан (88,4% против 85,5%), а также FixRes ResNeXt-101 WSL, предыдущее состояние искусства (для которого также требуется гораздо больше размеченных данных).

π-модель

π-модель была предложена Laine et al. в 2016 году. Модель работает следующим образом:

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

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

Окончательная потеря для точки данных представляет собой взвешенную сумму кросс-энтропийной потери (если точка данных помечена) и потери согласованности. Вес w(t) определяет, насколько сильно следует взвешивать потерю согласованности по сравнению с потерей перекрестной энтропии. В течение первой эпохи w(t) = 0, потому что у нас нет данных из предыдущих эпох, которые мы могли бы использовать для осмысленной классификации непомеченных точек. По мере развития модели w(t) увеличивается по кривой Гаусса.

Временное объединение

Темпоральная модель ансамбля тесно связана с π-моделью — фактически они были предложены в одной статье.

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

В остальном модель временного ансамбля работает во многом так же, как π-модель. Перекрестная потеря энтропии учитывается таким же образом, и w (t) снова следует кривой Гаусса. Однако модели временного ансамбля обучаются быстрее (поскольку нам нужно оценивать модель только один раз, а не два раза для каждого входа), а тренировочные цели менее зашумлены.

π-модель и модель временного ансамбля дали самые современные результаты для своего времени. Кажется, что временной ансамбль, в частности, превосходит другие модели при обучении на ограниченных данных.

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

Заключение

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

Ссылочные документы