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

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

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

При предварительном обучении на предтекстовой задаче есть надежда, что модель выучит полезные представления. Затем мы можем точно настроить модель для последующих задач, таких как классификация изображений, обнаружение объектов и семантическая сегментация, используя лишь небольшой набор помеченных обучающих данных.

Задача оценки представлений

Таким образом, предлоговые задания могут помочь нам научиться репрезентациям. Но тут возникает вопрос:

Как определить, насколько хорошо изученное представление?

В настоящее время стандартным способом оценки представлений является их оценка на наборе стандартных задач и эталонных наборов данных.

  • Линейная классификация: классификация ImageNet с использованием фиксированных функций.
  • Режим с низким объемом данных: классификация ImageNet с использованием только от 1% до 10% данных
  • Перенос обучения: классификация объектов, обнаружение объектов и семантическая сегментация на PASCAL VOC

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

Это ставит некоторые интересные задачи:

  1. Для предтекстовой задачи наша цель состоит в том, чтобы изучить крупномасштабный немаркированный набор данных, и, таким образом, более глубокие модели (например, ResNet) помогут нам изучить лучшие представления.
  2. Но для последующих задач мы бы предпочли неглубокие модели (например, AlexNet) для реальных приложений. Таким образом, в настоящее время мы должны учитывать это ограничение при разработке предтекстовой задачи.
  3. Труднее честно сравнить, какая предтекстовая задача лучше, если одни методы используют более простую архитектуру, а другие методы используют более глубокую архитектуру.
  4. Мы не можем сравнивать репрезентации, полученные из предтекстовых задач, с функциями, созданными вручную, такими как HOG.
  5. Мы можем захотеть использовать несколько доменов данных, таких как звук, текст и видео, в предтекстовой задаче, но целевая задача может ограничить наш выбор дизайна.
  6. Модель, обученная предтекстовой задаче, может получить дополнительные знания, которые бесполезны для общего визуального распознавания. В настоящее время окончательные слои, специфичные для задачи, игнорируются, а веса или признаки берутся только до определенных сверточных слоев.

Передача знаний

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

Интуиция

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

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

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

Общая структура

Авторы предлагают новую структуру для передачи знаний из глубокой модели с самоконтролем в отдельную неглубокую модель ниже по течению. Вы можете использовать различные архитектуры модели для предварительной задачи и последующей задачи.

Основная идея:

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

Сквозной процесс описан ниже:

1. Предтекстовое задание

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

2. Кластеризация K-средних

Для всех немаркированных изображений в наборе данных мы вычисляем векторы признаков из модели предтекстовой задачи. Затем мы запускаем кластеризацию K-средних, чтобы сгруппировать семантически похожие изображения. Идея состоит в том, что центры кластеров будут приведены в соответствие с категориями в ImageNet.

В документе авторы запустили K-средние на одном графическом процессоре Titan X в течение 4 часов, чтобы сгруппировать 1,3 миллиона изображений в 2000 категорий.

3. Псевдомаркировка

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

4. Обучение псевдометкам

Мы берем архитектуру модели, которая будет использоваться для последующих задач, и обучаем ее классифицировать немаркированные изображения в псевдометки. Таким образом, целевая архитектура изучит новое представление, чтобы сопоставить изображения, которые изначально были близки в предварительно обученном пространстве признаков, с близкими точками.

Преимущество передачи знаний

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

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

Насколько хорошо работает этот фреймворк?

Чтобы оценить идею количественно, авторы поставили эксперимент, как описано ниже:

а. Увеличить сложность предтекстовой задачи (Jigsaw++)

Чтобы оценить свой метод, авторы взяли старую предтекстовую задачу, похожую на головоломку, под названием «Пила», где нам нужно предсказать перестановку, которая использовалась для случайного перетасовки квадратной сетки изображения 3 * 3.

Они расширили задачу, случайным образом заменив от 0 до 2 плиток плиткой из другого случайного изображения в некоторых случайных местах. Это увеличивает сложность, так как теперь нам нужно решить проблему, используя только оставшиеся патчи. Новое предтекстовое задание называется «Пила++».

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

б. Используйте более глубокую сеть для решения предлоговой задачи

Авторы использовали ВГГ-16 для решения предтекстовой задачи и изучения представлений. Поскольку VGG-16 имеет увеличенную емкость, он может лучше справляться с возросшей сложностью задачи «Пила++» и, таким образом, извлекать лучшее представление.

в. Передача знаний обратно в AlexNet

Представления из VGG-16 сгруппированы, а центры кластеров преобразованы в псевдометки. Затем AlexNet обучается классифицировать псевдометки.

д. Тонкая настройка AlexNet на наборах данных для оценки

Для последующих задач сверточные слои для модели AlexNet инициализируются весами из классификации псевдометок, а полносвязные слои инициализируются случайным образом. Затем предварительно обученный AlexNet настраивается на различных наборах эталонных данных.

е. Результаты

Использование более глубокой сети, такой как VGG-16, приводит к лучшему представлению и псевдометкам, а также к лучшим результатам в задачах тестирования. В 2018 году он получил самые современные результаты по нескольким тестам и еще больше сократил разрыв между контролируемыми и самоконтролируемыми методами.

1. Перенос обучения на PASCAL VOC

Авторы протестировали свой метод классификации и обнаружения объектов на наборе данных PASCAL VOC 2007 и семантической сегментации на наборе данных PASCAL VOC 2012.

Инсайты

  • Обучение Jigsaw++ с VGG16 и использование AlexNet для прогнозирования кластера дает наилучшую производительность.
  • Переключение на сложную предтекстовую задачу «Пилка++» повышает производительность по сравнению с «Пилой».
  • Передача знаний не оказывает существенного влияния при использовании одной и той же архитектуры AlexNet как в Jigsaw++, так и в последующих задачах.

2. Линейная классификация в ImageNet

При этом линейный классификатор обучается на функциях, извлеченных из AlexNet на разных сверточных уровнях. Для ImageNet использование VGG-16 и передача знаний в AlexNet с использованием кластеризации дает существенный прирост в 2%.

3. Нелинейная классификация на ImageNet

Для нелинейного классификатора использование VGG-16 и передача знаний в AlexNet с использованием кластеризации дает наилучшую производительность в ImageNet.

Дополнительные идеи из бумаги

1. Как количество кластеров влияет на производительность?

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

2. Чем это отличается от дистилляции знаний?

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

3. Можно ли использовать разные наборы данных для кластеризации и прогнозирования псевдометок?

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

Авторы провели эксперимент, в котором они обучили кластеризацию представлений для ImageNet, а затем вычислили центры кластеров в наборе данных «Места», чтобы получить псевдометки. Произошло лишь небольшое снижение (-1,5%) производительности при классификации объектов.

Вывод

Таким образом, передача знаний — это простой и эффективный способ отображения представлений из глубоких моделей в поверхностные.

использованная литература

Первоначально опубликовано на https://amitness.com 4 октября 2020 г.