Как мы можем использовать кажущиеся бесконечными мировые запасы немаркированных данных, чтобы помочь нам решать задачи контролируемого обучения?

Самым большим препятствием, которое необходимо преодолеть при разработке решений для машинного обучения, всегда были данные. Нелегко найти крупномасштабные, чистые, полностью аннотированные наборы данных, такие как ImageNet и COCO, особенно для нишевых задач. Это особенно верно в отношении глубокого обучения и станет еще более актуальным по мере того, как глубокое обучение будет все более распространяться. Чтобы преодолеть отмеченное узкое место в данных, исследователи и разработчики разрабатывают различные методы, такие как трансферное обучение, адаптация предметной области, генерация синтетических данных, а также многие методы с полу- и самоконтролем.

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

Самостоятельное обучение

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

  • Он побуждает сеть узнавать семантически полезную информацию о данных.
  • Его метки могут быть получены путем увеличения данных.

Один из простейших, но все же очень эффективных методов обучения на основе немаркированных данных взят из статьи Гидариса и др. Обучение неконтролируемому представлению путем прогнозирования вращения изображений. Эта вспомогательная задача очень интуитивно понятна: учитывая входное изображение, произвольно поверните его на 0, 90, 180 или 270 градусов. Затем научите свою модель предсказывать метку 0, 90, 180 или 270.

Здесь работает интуиция: случайно вращающиеся изображения вводят метки, сохраняя при этом полезную семантическую информацию. Например, по изображению собаки, повернутой на 90 градусов, человек может четко сказать, что изображение было повернуто, потому что собаки не стоят на стенах! Однако некоторые вещи, такие как мухи, окна и картины, действительно стоят на стенах. Семантическая информация в изображении содержит подсказки о его вращении. Теория состоит в том, что, пытаясь предсказать ориентацию изображений, модель должна узнавать информацию об ожидаемой ориентации объектов, тем самым неявно изучая семантические особенности этих объектов, которые затем могут быть применимы к другим задачам.

Самоконтроль может принимать различные формы, такие как рисование, раскрашивание и сверхразрешение для изображений, предсказание кадров для видео и предсказание слова или последовательности в NLP. Отличное подробное введение в мир обучения с самоконтролем можно найти в этом сообщении в блоге Амита Чаудхари.

Полу-контролируемое обучение

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

Один особенно примечательный, но несколько отличный пример - FixMatch из статьи Google Research. Вспомогательная задача здесь фактически такая же, как и целевая: по изображению предсказать его класс. Однако мы не решаем эту задачу с размеченными данными. Вместо этого немаркированное входное изображение увеличивается дважды: один раз со слабым увеличением (например, с переворотом и сдвигом), а второй раз с сильным увеличением. Затем модель предсказывает метки для слабо дополненного изображения и сильно дополненного изображения. Прогноз для слабо дополненного изображения (если он проходит порог достоверности) служит псевдо-меткой наземной истины, посредством которой мы оцениваем метку для сильно расширенного изображения. Цель здесь состоит в том, чтобы способствовать тому, чтобы сеть стала более устойчивой к экстремальным расширениям, и стимулировать ее к изучению более сильных функций, не требуя технически маркированных данных.

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

СЕСЕМИ

В оставшейся части этого поста мы сосредоточимся на конкретной методике, называемой SESEMI, методике тренировки с полу-контролем, опубликованной Flyreel AI Research. Идея, описанная в статье очень похожа на задачу поворота изображения, за исключением нескольких ключевых отличий. Во-первых, они добавляют два дополнительных класса для горизонтального и вертикального зеркального отображения. Что еще более важно, этот метод обучает контролируемые и самоконтролируемые цели совместно, образуя самоконтролируемые цели как форму самоконтролируемой регуляризации. Таким образом, функция потерь выглядит как типичная функция потерь с регуляризацией, за исключением того, что взвешенные и невзвешенные члены представляют собой стандартные потери кросс-энтропии, применяемые к различным подмножествам данных.

Элегантность этой техники заключается в ее простоте. В отличие от других современных методов регуляризации согласованности, которые требуют обширной настройки гиперпараметров, единственный гиперпараметр, который требуется SESEMI, - это вес между двумя термами, которые авторы предлагают установить в любом случае на 1.0. Использование этой техники не требует специальной теории, функции потерь или пользовательских слоев модели. Любой, кто знаком с методами глубокого обучения начального уровня, может успешно применить эту технику. Сверточные нейронные сети? Проверять. Категориальная кросс-энтропия? Проверять. Увеличение данных? Проверять. Это все, что вам нужно знать.

Я предоставил простой блокнот Google Colab, где вы можете быстро опробовать эту технику на себе. В нем я применяю технику SESEMI к набору данных CIFAR-10, используя удобную предварительно обученную модель ResNet в torchvision. Его единственные основные зависимости - это torch и torchvision, так что вы можете сразу приступить к работе. Оставшаяся часть этой записи продолжается в записной книжке. Краткое описание результатов, которых вы можете достичь, можно найти в таблице ниже. Они демонстрируют, какое значение может иметь метод SESEMI, особенно для очень маленьких наборов данных, при этом требуя очень небольшой модификации кода и практически никакой дополнительной настройки гиперпараметров.

Для дальнейшего изучения техники SESEMI я рекомендую вам протестировать авторский код на GitHub. Спасибо за чтение и продолжайте учиться!