Современные системы глубокого обучения верят в масштаб. Крупные нейронные сети с миллиардами и даже триллионами параметров работают потрясающе, поэтому свойство нейронной сети масштабироваться очень важно. Были выдающиеся работы по методологии эффективного масштабирования CNN и преобразователей. Трансформатор Vision (ViT) представляет собой полностью трансформирующую архитектуру, которая показала эффективность обучения, сравнимую с современными CNN в классификации изображений. Как мы должны масштабировать преобразователи зрения? Что произойдет, если мы масштабируем данные и модель при обучении ViT?

В этой недавней (июнь 2021 г.) статье изучаются свойства масштабирования преобразователей зрения путем экспериментов с различными данными и размерами моделей. В заключение в документе предлагается закон масштабирования для преобразователей зрения, руководство по масштабированию преобразователей зрения. В документе также предлагаются архитектурные изменения конвейера ViT. По состоянию на 4 августа предлагаемая сеть соответствует последнему слову техники в ImageNet с точностью 90,45% Top 1.

Мы рассмотрели концепцию ViT в предыдущем посте. Этот пост будет кратким изложением статьи: «Scaling Vision Transformers»

Архитектурные изменения

В документе представлены изменения в структуре ViT и сделаны выводы о пространстве гиперпараметров, как указано ниже.

  • Раздельное уменьшение веса для «головы»: в документе обнаружено, что предпочтительная сила уменьшения веса при обучении за несколько выстрелов отличается для конечного линейного слоя (головы) и остова. На приведенном выше рисунке показано, что небольшое снижение веса тела и большое уменьшение веса головы в значительной степени благотворно влияют на модель.
  • Экономия памяти за счет удаления токена [класса]: добавление токена [класса] к исходным 256 токенам кодирования исправлений приводит к токену 257 токенов, а в оборудовании TPU это увеличение с 256 до 257 приводит к 50% накладным расходам памяти. Вместо использования маркера класса для агрегирования кодировок исправлений используется глобальное среднее пулирование или пул внимания с несколькими головками. Голова упрощается за счет удаления финальной нелинейной проекции.
  • Судя по правильному рисунку, модификация не оказывает существенного влияния на производительность.

  • Масштабирование данных с 300 млн изображений до 3 млрд повышает производительность как малых, так и больших моделей.
  • Оптимизаторы с эффективным использованием памяти: поскольку обучаются миллиарды параметров, пространство для хранения, необходимое для оптимизатора adam, является большим узким местом (согласно документу требуется дополнительно 16 ГБ). В документе предлагается использовать Адама с импульсом половинной точности или модифицированный оптимизатор Adafactor, который снижает накладные расходы оптимизатора с 2-кратного до 0,5-кратного веса.
  • Дополнительные методы обучения: в статье исследуется влияние общих методов обучения, которые используются для повышения производительности модели, таких как графики скорости обучения.

Масштабирование ViT

CNN обычно масштабируются по следующим трем факторам:

  • ширина: # каналов каждого слоя
  • глубина: # слоев
  • разрешение: размер входного изображения

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

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

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

Документ ViT содержит исследование эффективных правил обмена различными компонентами. Правило состоит в том, чтобы масштабировать всю глубину, ширину, ширину MLP и размер патча одновременно на одинаковую величину. Окончательные модели выбираются таким образом, как показано на диагональном шаблоне, показанном на рисунке ниже.

Взгляд на масштабирование ViT

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

  • На приведенном выше рисунке показана частота ошибок как функция вычислений. Производительность более крупных моделей, кажется, насыщается после определенного градуса (ошибка ~ 10% в ImageNet).
  • При построении графика исключительно в зависимости от размера модели (верхний правый рисунок) или размера набора данных (нижний правый рисунок) оптимальные настройки обучения также увеличиваются в масштабе.
  • Совместное масштабирование вычислений, модели и данных повышает качество представления. Как показано на левом и центральном рисунках, обучение с использованием самой большой модели, набора данных и вычислений обеспечивает наилучшую производительность в нижней правой точке.
  • Меньшие модели (синие) или модели, обученные на меньшем количестве изображений (маленькие), теряют кривую при более длительном обучении.
  • Меньшие модели не выиграли от увеличения размера набора данных/вычислительных ресурсов. В то время как большие модели, похоже, значительно выигрывают даже от изображений размером более 1 миллиарда.

  • На приведенном выше рисунке показана частота ошибок моделей разного размера в зависимости от количества шагов.
  • Большие модели более эффективны. Например, при обучении по 10 кадрам модели Ti/16 необходимо увидеть в 100 раз больше изображений, чтобы достичь производительности модели L/16, и в 20 раз при точной настройке. При обучении на достаточном количестве данных лучше изучить более крупную модель с меньшим количеством шагов.

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

Я мог что-то упустить, но статья, похоже, предлагает противоречивые утверждения о свойстве масштабирования ViT. Предложение «От этого изменения выигрывают как малые, так и большие модели с приблизительно постоянным коэффициентом…» в разделе 3.3 и «Кроме того, при увеличении размера набора данных мы наблюдаем повышение производительности при больших модели, но не маленькие.» в разделе 2.1 противоречивы.

Резюме

Мы обобщим наблюдения, сделанные в этом исследовании, и подведем итоги.

  • Эффективно одновременное масштабирование общих вычислений и размера модели. В частности, не увеличивать размер модели, когда становятся доступными дополнительные вычисления, неоптимально.
  • Модели Vision Transformer с достаточным количеством обучающих данных примерно следуют (насыщающему) степенному закону.
  • Более крупные модели лучше справляются с обучением за несколько шагов.
  • Предлагает новые методы обучения, улучшающие производительность и уменьшающие вычислительные узкие места.

Преобразователи зрения — эффективное, но еще не изученное направление компьютерного зрения. Последующие статьи, в которых обсуждаются различные свойства ViT, вызывают большой интерес. Особенно большие интересы у исследователей из Google Brain. Чтобы лучше понять различные свойства ViT, также прочитайте: