Краткий обзор статьи: «Что лучше: предварительно обученные свертки или предварительно обученные трансформеры?»

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

В этой статье авторы из Google Research хотели исследовать вопрос, могут ли CNN-архитектуры конкурировать с трансформерами (Transformers) в задачах NLP. Оказывается, что предварительно обученные модели CNN (convolutional neural network — сверточная нейронная сеть) все-таки превосходят предварительно обученных трансформеров в некоторых задачах; они также обучаются быстрее и лучше масштабируются под длинные последовательности.

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

Возможные преимущества CNN:

  • из-за отсутствия self-attention требуется меньше памяти;

  • они работают локально и поэтому не нуждаются в positional embedding’ах.

С другой стороны, CNN не предполагают доступ к глобальной информации; например, они не способны на что-то вроде cross-attention между несколькими последовательностями.

Подход к моделированию

  • Используются depthwise separable convolutions;

  • Предварительное обучение Seq2Seq на основе диапазона (span-based): они маскируют диапазон длиной L, и модель пытается его предсказать;

  • Потеря кросс-энтропии и усиление учителем;

Архитектура

Авторы не раскрывают нам точные архитектуры, но вот общее представление о них:

  • Архитектура Seq2Seq, но вместо multi-head attention сверточные блоки;

  • Проекции закрытого линейного блока (gated linear unit) вместо query-key-value трансформаций;

  • В различных экспериментах испытываются легкие, динамические и расширенные свертки;

  • Каждый подмодуль обернут остаточными связями (residual connections) и нормой слоя (layer norm);

Вопросы

Авторы исследования задают пять вопросов, на которые они собираются ответить:

  • Вопрос 1: Польза сверток от предварительного обучения такая же, как и для трансформеров? [Да]

  • Вопрос 2: Могут ли сверточные модели, предварительно обученные или нет, конкурировать с трансформер-моделями? В каких случаях они хорошо себя показывают? [Да; превосходят в шести задачах]

  • Вопрос 3: Каковы преимущества (если таковые имеются) использования предварительно обученных моделей сверток по сравнению с предварительно обученными трансформерами? Являются ли свертки более быстрой альтернативой трансформерам с self-attention? [Да, они быстрее]

  • Вопрос 4: Каковы типы отказов, подводные камни и причины не использовать предварительно обученные свертки?

  • Вопрос 5: Какие варианты сверток лучше? [Расширенные и динамические лучше, чем легковесные]

Эксперименты

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

Модели аналогичны базовому BERT: 12 слоев в кодировщике и декодере, размерность 3072 в слоях с прямой связью, размерность модели 768 и 12 голов. Они не настраивают параметры сверточных блоков; они используют размер окна 7 и 2 фильтра глубины. Для расширенных моделей размеры фильтров [4, 4, 7, 7, 15, 15, 15, 15, 31, 31, 31]. [Интересно, как они выбирали значения, если они не оптимизировали гиперпараметры]

Модель трансформера похожа на Т5.

Предварительное обучение

Авторы обучают как сверточные, так и модели-трансформеры за 524 тысячи шагов с размером батча 128. Цель предварительного обучения описана выше, размер диапазона (span size) - 3, уровень искажения - 15%. Они используют оптимизатор Adafactor [я никогда не слышал о нем раньше] с планировщиком скорости обучения с обратным квадратным корнем. Предварительное обучение проводилось на 16 TPU в течение 12 часов.

Результаты

  • В моделях CNN отсутствует cross-attention, и поэтому они хуже работают с задачами, которые подразумевают моделирование отношений между последовательностями. Эксперименты с SQuAD и MultiNLI показывают, что трансформеры намного лучше справляются с этими задачами. Но если мы добавим перекрестное внимание (cross-attention) к моделям CNN, они достигают почти той же производительности, что и модели-трансформеры.

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

  • Модели CNN более эффективны с точки зрения FLOP

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


Материал подготовлен в рамках курса «Deep Learning. Basic».

На практике дата саентисты часто сталкиваются с недостатком данных для обучения. Классический выход из положения — провести transfer learning при помощи finetuning — обладает досадным свойством катастрофического забывания. На открытом уроке «Transfer learning при помощи перемежающейся тренировки» рассмотрим метод перемежающейся тренировки, позволяющий избежать переобучения на маленьком датасете. >> РЕГИСТРАЦИЯ

Источник: https://habr.com/ru/company/otus/blog/572398/


Интересные статьи

Интересные статьи

Классификация трафика является важной задачей в современных сетях, в том числе и беспроводных. В связи с быстрым ростом требований к высокоскоростному трафику для правильного распределени...
На прошлую статью, где мы рассмотрели три оператора PostgreSQL для Kubernetes (Stolon, Crunchy Data и Zalando), поделились своим выбором и опытом эксплуатации, — поступила отличная об...
Рабочего места на экране много не бывает: сетапы из двух мониторов давно стали нормой у дизайнеров и программистов, а геймеры вовсю распробовали широкий формат 21:9. Но конкуренция как бы намекае...
Проводим тестирование светодиодные лампы с цоколем GU10 на 6 и 10 ватт. Образцы предоставлены официальным дистрибьютором торговой марки Spectrum LED в России компанией ООО «ТСЦ «Тепломаркет»....
Не так давно мы публиковали обзор «Что нового в веб-консолях 2019», после чего подробно разобрали панель Plesk и вот теперь хотим разобрать ещё одну панель управления сайтами и сервером — ISPmana...