Эра ImageNet в НЛП: вложения слов мертвы, языковые модели теперь

глубокое обучение компьютерное зрение NLP OpenAI

From the Gradient, Себастьян Рудер, составленный Heart of the Machine.

Модели, предварительно обученные в ImageNet, часто используются в области компьютерного зрения, и их можно в дальнейшем использовать для различных задач CV, таких как обнаружение объектов, семантическая сегментация и т. д. В области обработки естественного языка мы обычно используем только предварительно обученные векторы встраивания слов для кодирования отношений между словами, поэтому нет метода предварительного обучения, который можно было бы использовать для общей модели. Себастьян Рудер сказал, что у языковой модели есть потенциал в качестве общей модели предварительного обучения, которая может извлекать различные особенности языка от поверхностных до глубоких и использоваться для широкого круга задач НЛП, таких как машинный перевод, системы ответов на вопросы и т. д. автоматическое суммирование. Рудер также продемонстрировал эффект использования языковой модели в качестве модели предварительного обучения и сказал, что «ImageNet» в области НЛП грядет.

Область обработки естественного языка (NLP) претерпевает кардинальные изменения.

Векторы слов долгое время были основным методом представления в обработке естественного языка. Однако его доминирование пошатнулось рядом новых захватывающих задач, таких как: ELMo, ULMFiT и трансформер OpenAI. Эти подходы привлекли большое внимание тем, что продемонстрировали, что предварительно обученные языковые модели могут достигать самых современных результатов в широком спектре задач НЛП. Эти подходы знаменуют собой переломный момент: они могут оказать влияние на NLP, которое может быть столь же широко распространено в компьютерном зрении, как и предварительно обученные модели ImageNet.


Предварительная тренировка от поверхностного к глубокому

Предварительно обученные векторы слов значительно улучшают НЛП. Аппроксимация языкового моделирования, предложенная в 2013 году, word2vec, была принята из-за ее эффективности и простоты использования в эпоху, когда аппаратное обеспечение было намного медленнее, а модели глубокого обучения не имели широкой поддержки. С тех пор стандартный способ выполнения проектов НЛП практически не изменился: встраивание слов, предварительно обработанное на больших объемах неразмеченных данных с помощью таких алгоритмов, как word2vec и GloVe, используется для инициализации первого слоя нейронной сети, а затем используются другие слои. специфические для задачи данные для обучения. В большинстве задач с ограниченными обучающими данными этот подход помог улучшить результаты на два-три процентных пункта. Хотя эти предварительно обученные вложения слов имеют большое значение, они также имеют ограничения: они содержат предварительные знания только о первом слое модели — остальную часть сети необходимо обучать с нуля.

Отношения, захваченные word2vec. (Источник: учебник по TensorFlow)

word2vec и другие родственные методы — поверхностные методы, жертвующие выразительностью ради эффективности. Использование встраивания слов похоже на инициализацию моделей компьютерного зрения с предварительно обученными представлениями, которые кодируют только информацию о краях в изображениях: они хорошо работают во многих задачах, но не могут собирать высокоуровневую информацию, которая могла бы быть более полезной. Модели, инициализированные векторами слов, должны учиться с нуля не только для того, чтобы научиться устранять неоднозначность, но и для того, чтобы научиться извлекать смысл из предложений, состоящих из слов. Это ядро ​​понимания языка, и необходимо моделировать многие сложные лингвистические явления, такие как семантическая композиция, полисемия, повторение начальных слов, долговременные зависимости, согласованность, отрицание и т. д. Поэтому неудивительно, что модели НЛП, инициализированные этими поверхностными представлениями, по-прежнему требуют большого количества примеров для достижения хорошей производительности.

В основе недавних достижений в ULMFiT, ELMo и преобразователе OpenAI лежит ключевой сдвиг парадигмы: от инициализации только первого уровня модели к предварительной обработке всей модели с иерархическим представлением. Если изучение векторов слов похоже на изучение только краев изображения, то эти методы подобны изучению полной иерархии функций, от краев до форм и семантических понятий высокого уровня.

Интересно, что предварительное обучение всей модели для получения основных и высокоуровневых функций было принято в сообществе компьютерного зрения в течение нескольких лет. В большинстве случаев предварительно обученные модели обучаются на большом наборе данных ImageNet, чтобы научиться классифицировать изображения. ULMFiT, ELMo и преобразователь OpenAI представили сообществу НЛП «ImageNet» на естественном языке, задача, которая позволяет моделям изучать языковые нюансы высокого уровня. Это похоже на то, как ImageNet позволяет предварительно обученным CV-моделям изучать универсально значимые функции изображения. В оставшейся части этой статьи мы проводим аналогию между языковым моделированием и моделированием компьютерного зрения ImageNet и показываем, почему этот подход кажется таким многообещающим.


ImageNet

ImageNet Крупномасштабное визуальное распознавание. (Источник: Ксавье Джиро-о-Ньето)

ImageNet оказывает большое влияние на исследования в области машинного обучения. Этот набор данных был первоначально выпущен в 2009 году и быстро превратился в программу ImageNet Large Scale Visual Recognition Challenge (ILSVRC). В 2012 году глубокие нейронные сети, представленные Алексом Крижевским, Ильей Суцкевером и Джеффри Хинтоном, превзошли второе место на 41%, что указывает на то, что глубокое обучение является осуществимой стратегией машинного обучения, и можно сказать, что глубокие нейронные сети вызвали глубокое обучение в машинном обучении. исследования вспышка.

Успех ImageNet подчеркивает, что в эпоху глубокого обучения данные не менее важны, чем алгоритмы. Набор данных ImageNet не только позволил очень важную демонстрацию возможностей глубокого обучения в 2012 году, но и сделал не менее важный прорыв в трансферном обучении: исследователи быстро поняли, что веса, полученные в существующих моделях ImageNet, можно использовать для полной инициализации моделей на других наборах данных и значительного улучшения. представление. Этот подход «тонкой настройки» обеспечивает хорошую производительность только с одним положительным примером на класс (Donahue et al., 2014).

Функции, обученные на ILSVRC-2012, обобщаются на набор данных SUN-397. (Источник: Донахью и др., 2014 г.)

Предварительно обработанные модели ImageNet использовались для достижения современного состояния в таких задачах, как распознавание объектов, семантическая сегментация, оценка позы человека и распознавание видео. В то же время они также позволяют применять CV к областям, где количество обучающих примеров невелико, а стоимость аннотации высока. В CV трансферное обучение с предварительной обработкой в ​​ImageNet на самом деле настолько эффективно, что было бы безрассудно не использовать его сегодня (Mahajan et al., 2018).


Что есть в ImageNet?

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

Вместо того, чтобы смотреть на данные напрямую, более разумно изучить, чему научилась модель, обученная на данных. Хорошо известно, что порядок передачи признаков глубоких нейронных сетей, обученных на ImageNet, таков: от первого уровня к последнему, от общих задач к конкретным задачам: нижние уровни учатся моделировать низкоуровневые функции, такие как края, в то время как более высокие слои учатся моделировать низкоуровневые функции, такие как ребра. для моделирования высокоуровневых функций. Концепции, такие как шаблоны и целые части или объекты, показаны на изображении ниже. Важно отметить, что знания о границах объектов, структуре и визуальной композиции имеют отношение ко многим задачам CV, что показывает, почему эти слои переносятся. Следовательно, ключевым свойством наборов данных, подобных ImageNet, является поощрение модели к изучению функций, которые можно обобщить для новых задач в проблемной области.

Визуализация информации, собранной различными функциями слоя в GoogLeNet, обучена на ImageNet. (Источник: дистиллятор)

Кроме того, трудно сделать дальнейшие выводы о том, почему передача в ImageNet так хороша. Например, еще одним преимуществом набора данных ImageNet может быть качество данных. Создатели ImageNet сделали все возможное, чтобы обеспечить надежность и согласованность аннотаций. Однако работа по удаленному надзору представляет собой контраст, предполагая, что часто достаточно больших объемов слабо размеченных данных. На самом деле, исследователи Facebook недавно продемонстрировали, что они могут предварительно обучать модели, предсказывая хэштеги на миллиардах изображений в социальных сетях с самой современной точностью в ImageNet.

Больше конкретных идей нет, но у нас есть две ключевые потребности:

  1. Набор данных, такой как ImageNet, должен быть достаточно большим, т. е. иметь порядка миллионов обучающих примеров.
  2. Она должна представлять проблемное пространство дисциплины.


ImageNet для языковых задач

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

Понимание прочитанного — это задача ответить на вопросы на естественном языке о абзаце. Наиболее популярным набором данных для этой задачи является Стэнфордский набор данных для ответов на вопросы (SQuAD), который содержит более 100 000 пар вопросов и ответов и просит модель ответить на вопрос, выделив несколько слов в абзаце, как показано на следующем рисунке:

Визуализация информации, полученной с помощью различных функций слоев GoogLeNet, обученных на ImageNet (Rajpurkar et al., 2016, SQuAD: более 100 000 вопросов для машинного понимания текста).

Вывод на естественном языке — это задача по выявлению отношений (последствий, противоречий, нейтральности и т. д.) между фрагментом текста и гипотезой. Наиболее популярным набором данных для этой задачи является Стэнфордский корпус вывода на естественном языке (SNLI), который содержит 570 000 пар английских предложений, написанных человеком. Пример этого набора данных показан на рисунке ниже.

СНЛИ:НЛП.Стэнфорд.Сумма/проекты/Сунинг…

Пример набора данных SNLI. (Боуман и др., 2015, Большой аннотированный корпус для изучения естественного языка)

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

Перевод с французского на английский из newstest2014 (Artetxe et al., 2018, Неконтролируемый нейронный машинный перевод)

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

Деревья синтаксического анализа и их линеаризация (Виньялс и др., 2015, Грамматика как иностранный язык)

Языковое моделирование (LM) пытается предсказать следующее слово по предыдущему слову. Существующие эталонные наборы данных содержат около 1 миллиарда слов, но, поскольку задача не контролируется, ее можно обучать с любым количеством слов. Изображение ниже является примером часто используемого набора данных WikiText-2, состоящего из статей Википедии.

Пример набора данных моделирования языка WikiText-2. (Источник: отдел продаж)

Викитекст-2:Эйнштейн.Любовь/исследования/дни…

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

Хотя любые данные содержат некоторую предвзятость, человеческие аннотации могут непреднамеренно ввести дополнительную информацию, которой воспользуется модель. Недавние исследования показали, что современные современные модели в таких задачах, как понимание прочитанного и рассуждение на естественном языке, на самом деле не развивают глубокое понимание естественного языка, а вместо этого обращают внимание на определенные сигналы для выполнения поверхностного сопоставления с образцом. Например, Гуруранган и др. (2018) в статье «Артефакты аннотаций в данных логического вывода на естественном языке» показывают, что авторы аннотаций склонны генерировать примеры следствий, удаляя информацию о поле или количестве, и противоречия, вводя отрицательные слова. Просто используя эти подсказки, модель может классифицировать гипотезы с точностью 67% в наборе данных SNLI, не глядя на предпосылки.

Таким образом, более сложный вопрос должен звучать так: какая задача наиболее характерна для НЛП? Другими словами, какое задание позволяет нам получить больше знаний или отношений о понимании естественного языка?


языковое моделирование

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

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

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

Различные этапы ULMFiT (Ховард и Рудер, 2018 г.)

До сих пор наш аргумент в пользу языкового моделирования как задачи перед обучением был чисто концептуальным. Но в последние месяцы мы также получили некоторые экспериментальные доказательства: Word Embeddings for Language Models (ELMo), Universal Language Model Refinement (ULMiT) и OpenAI Transformer экспериментально продемонстрировали, что языковые модели можно использовать для задач предварительного обучения, как показал ULMFiT. выше. Все три подхода используют предварительно обученные языковые модели для реализации современных задач обработки естественного языка, таких как классификация текста, системы ответов на вопросы, вывод естественного языка, ссылочное устранение неоднозначности и маркировка последовательностей.

Во многих случаях, таких как ELMo, как показано ниже, алгоритмы, использующие предварительно обученные языковые модели в качестве ядра, превосходят текущие современные результаты на 10–20 % в широко изученных тестах. ELMo также выиграла лучшую статью на NAACL-HLT 2018, главной конференции по НЛП. Наконец, эти модели демонстрируют очень высокую эффективность выборки, требуя всего сотни выборок для достижения оптимальной производительности, и даже могут обеспечить обучение с нулевым выстрелом.

Прогресс ELMo в решении ряда задач НЛП. (Источник: Мэтью Питерс)

Учитывая изменения, внесенные на этом этапе, специалисты по НЛП, скорее всего, будут загружать предварительно обработанные языковые модели, а не предварительно обработанные встраивания слов, чтобы использовать их в своих собственных моделях через год, поскольку большинство проектов CV теперь начинаются с того, как предварительно обрабатывать модели ImageNet.

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

Важная проблема заключается в том, как передать информацию из предварительно обученной языковой модели последующим задачам. Существует две основные парадигмы: использовать ли предварительно обученную языковую модель в качестве экстрактора фиксированных функций и интегрировать ее представления в качестве функций в произвольно инициализируемую модель (как это делает ELMo); как это делает УЛМФИТ). Последнее обычно используется в компьютерном зрении, где верхний слой или несколько верхних слоев модели настраиваются во время обучения. В то время как модели НЛП, как правило, более мелкие и, следовательно, требуют других методов тонкой настройки, чем их аналоги зрения, последние предварительно обученные модели стали более глубокими. В следующем месяце я продемонстрирую роль каждого основного компонента трансферного обучения НЛП: включая очень выразительный кодировщик языковой модели (например, глубокий BiLSTM или Transformer), количество и характер данных, используемых для предварительного обучения, и точную настройка предварительной подготовки Метод, используемый моделью.


Но какова теоретическая база?

До сих пор наш анализ был в основном концептуальным и эмпирическим, и мы все еще пытаемся понять, почему модель может так хорошо переноситься на языковое моделирование, если она была сначала обучена в ImageNet. Более формальный способ рассмотрения способности предварительно обученных моделей к обобщению основан на моделях «предвзятого обучения» (Baxter, 2000). Предположим, что наша проблемная область охватывает все варианты задач в определенной дисциплине, например компьютерное зрение, — она составляет среду. Для этого мы предоставляем ряд наборов данных, которые позволяют нам вывести серию пространств гипотез H=H'. Наша цель в обучении смещений состоит в том, чтобы найти смещение, пространство гипотез H' ∈ H, которое максимизирует производительность во всей (возможно, бесконечной) среде.

Эмпирические и теоретические результаты в многозадачном обучении (Caruana, 1997; Baxter, 2000) показывают, что предубеждения, усвоенные в достаточном количестве заданий, могут распространяться на невидимые задания в той же обстановке. Благодаря многозадачному обучению модель, обученная в ImageNet, может изучить большое количество задач бинарной классификации (по одной на класс). Все эти задачи взяты из естественного пространства изображений реального мира и могут также быть репрезентативными для многих других задач CV. Точно так же языковые модели, которые изучают большое количество задач классификации (по одной на слово), могут вызывать представления, полезные для многих других задач в области естественного языка. Тем не менее, необходимы дополнительные исследования, чтобы теоретически лучше понять, почему языковое моделирование кажется таким эффективным в трансферном обучении.


ImageNet Эра НЛП

Настало время для того, чтобы НЛП действительно обратилось к передаче обучения. Учитывая впечатляющие экспериментальные результаты ELMo, ULMFiT и OpenAI, это развитие кажется лишь вопросом времени, прежде чем предварительно обученные встраивания слов постепенно устареют, заменив предварительно обученные языковые модели в наборе инструментов каждого практикующего НЛП. Это может создать больше возможностей для НЛП, когда количество размеченных данных недостаточно. Небеса мертвы, Хуан Тянь стоит!

Оригинальная ссылка:градиент А как насчет универсального/НЛП-образа...