Примечание. Эта статья основана на статье FAIR Переосмысление предварительного обучения ImageNet.

Из аннотации: мы сообщаем о конкурентных результатах по обнаружению объектов и сегментации экземпляров в наборе данных COCO с использованием стандартных моделей, обученных на основе случайной инициализации. Результаты не хуже, чем у их предварительно обученных аналогов ImageNet, за единственным исключением. увеличения количества обучающих итераций, чтобы случайно инициализированные модели могли сойтись. Обучение на основе случайной инициализации на удивление надежно; наши результаты сохраняются даже при: (i) использовании только 10% обучающих данных, (ii) для более глубоких и широких моделей и (iii) для нескольких задач и показателей.

Содержание

Трансферное обучение - парадигма предварительной подготовки и тонкой настройки

За последние годы в глубоком обучении произошел большой прогресс. Трудно представить себе отрасль, в которой не используется глубокое обучение. Доступность больших объемов данных наряду с увеличенными вычислительными ресурсами способствовали этому прогрессу. Было много хорошо известных и новых методов, ответственных за развитие глубокого обучения.

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

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

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

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

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

Различные режимы тренировок

В блоге Построение мощных моделей классификации изображений с использованием очень небольшого количества данных Франсуа Шоле подробно описывает процесс обучения модели с ограниченными данными. Он начинает с обучения модели с нуля в течение 50 эпох и достигает 80% точности классификации собак и кошек. При использовании узких мест предварительно обученной модели точность возрастает до 90% с использованием тех же данных. В качестве последнего шага при точной настройке верхних уровней сети сообщается точность 94%.

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

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

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

Модели, которые предварительно обучены в ImageNet, хороши для обнаружения высокоуровневых функций, таких как края, узоры и т. Д. Эти модели понимают определенные представления функций, которые можно использовать повторно. Это помогает в более быстрой конвергенции и используется в современных подходах к таким задачам, как обнаружение объектов, сегментация и распознавание активности. Но насколько хороши эти представления?

Представления функций и случайная инициализация

Представления функций, изученные предварительно обученными моделями, зависят от предметной области. Они извлекают уроки из набора контрольных данных, на котором их обучают. Можем ли мы добиться универсального представления объектов, построив гораздо более крупные наборы данных? Некоторая работа уже проделана в этой области, где аннотируются наборы данных, которые почти в 3000 раз превышают размер ImageNet.

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

Чтобы обучить модель с нуля, все параметры или веса в сети инициализируются случайным образом. Эксперименты, проведенные в статье Переосмысление предварительного обучения ImageNet, используют Mask R-CNN в качестве основы. Эта базовая модель была обучена на наборе данных COCO как с предварительным обучением, так и без него, и результаты сравнивались.

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

Связанных с работой

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

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

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

Нормализация и сравнение сходимости

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

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

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

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

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

Экспериментальные настройки и результаты

Вот настройки эксперимента - использованная архитектура и гиперпараметры. Эксперименты используют Mask R-CNN с архитектурами ResNet и ResNext в качестве основы. GN или SyncBN используются для нормализации. Модель обучается с начальной скоростью обучения 0,02, и она снижается в 10 раз за последние 60 тыс. И 20 тыс. Итераций соответственно. Данные обучения переворачиваются по горизонтали, и для базовой модели нет увеличения времени тестирования. Всего для обучения использовалось 8 графических процессоров.

Обучив модель с этими настройками на наборе данных COCO с 118K обучающими и 5k проверочными образцами, модель, обученная с нуля, смогла сравняться с точностью до предварительно обученной модели.

В этом случае двумя целевыми задачами являются обнаружение объекта и сегментация изображения. Средняя точность ограничивающих рамок и масок - это метрики. Как мы видим на графике выше, тот, что слева, был обучен с ResNet 101 и GN, тогда как тот, что справа, показывает результаты для Mask RCNN с ResNet50 и SyncBN.

Мы видим, что при точной настройке предварительное обучение дает модели фору, поскольку мы видим, что AP начинается со значения, близкого к 20. В то время как при обучении с нуля модель начинается со значением AP, близким к 5. Но значение AP начинается с нуля. Важно отметить, что модель, обученная с нуля, дает близкие результаты. Эти всплески здесь указывают на результаты применения разных графиков и скоростей обучения, объединенных в один и тот же график.

Расширенные базовые показатели

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

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

Эксперименты с меньшим количеством данных

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

При работе только с 1/3 всех обучающих данных COCO, то есть около 35K изображений, эксперименты показывают, что подход тонкой настройки начинает переобучаться после некоторых итераций. Это показывает, что предварительное обучение ImageNet не помогает автоматически уменьшить переобучение. Но, несмотря на меньшее количество данных, обучение с нуля по-прежнему дает точные результаты.

Когда для обучения используется только одна десятая данных обучения (около 10 тыс. Изображений), наблюдается аналогичная тенденция. Мы можем видеть на изображении слева - с подходом к предварительному обучению и тонкой настройке модель начинает переобучаться после некоторых итераций.

На графиках посередине и справа мы видим, что обучение с нуля дает довольно близкие результаты к результатам отлаженных моделей. Что, если мы попробуем использовать гораздо меньше данных? Как использовать сотую часть всех обучающих данных? Когда используются только изображения размером 1k, обучение с нуля все равно сходится довольно медленно. Но дает худшие результаты. В то время как предварительно обученные модели дают AP 9,9, рассматриваемый подход дает только 3,5. Это признак того, что модель переоборудована из-за недостатка данных.

Резюме:

  • Обучение с нуля целевым задачам возможно без архитектурных изменений или специализированных сетей.
  • Обучение с нуля требует большего количества итераций для достаточной сходимости.
  • Обучение с нуля может быть не хуже, чем его аналоги для предварительного обучения ImageNet при многих обстоятельствах, вплоть до всего 10 000 изображений COCO.
  • Предварительное обучение ImageNet ускоряет сходимость по целевой задаче, но не обязательно помогает уменьшить переобучение, если мы не перейдем в режим очень малых данных.
  • Предварительное обучение ImageNet помогает меньше, если целевая задача более чувствительна к локализации, чем к классификации.
  • Предварительное обучение может помочь в изучении универсальных представлений, но мы должны быть осторожны при оценке предварительно обученных функций.

Заключение

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

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

Вы нашли этот пост полезным? Не стесняйтесь оставлять любые отзывы / комментарии. Спасибо за чтение !!

Для подключения: LinkedIn, Twitter и мой Блог.

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

Являясь независимой редакцией, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.

Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.