Также: некоторые недавние подсказки / идеи о том, что делает BERT таким эффективным.

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

Ни разу с тех пор, как word2vec имеет модель НЛП, породившую столько моделей ответвлений - либо с его именем, встроенным в них как префикс / суффикс (doc2vec, node2vec, lda2vec и т. Д.), либо с расширением его основной идеи (Пропустить вектор мысли s, fasttext, Adagram и т. Д.)

Модель BERT имеет в своем активе множество ответвлений, включающих ее название, а также основные архитектурные идеи. Например,

  • Предварительно обученные модели. Модели, предварительно обученные на корпусе конкретных предметных областей / приложений - BioBERT (биомедицинский текст), SciBERT (научные публикации), ClinicalBERT [1] и ClinicalBERT [ 2] (клинические заметки). Обучение корпусу конкретных доменов показало более высокую производительность при их тонкой настройке для последующих задач NLP, таких как NER и т. Д. Для этих доменов, по сравнению с тонкой настройкой BERT (которая была обучена на BooksCorpus и Википедии) .
  • модель предварительно обучена на одноязычных корпусах (M-BERT) из 104 языков для беспроблемного межъязыкового переноса модели (специальные аннотации на одном языке используются для точной настройки модели для оценки на другом языке)
  • Модель предварительно обучена на большом корпусе, включающем граф знаний во входных данных (ERNIE). Почти в то же время (март-апрель 2019 г.) была выпущена еще одна модель, которая, как ни странно, также включала знания в предварительную подготовку. ERNIE (2) включает знания в предварительную подготовку, но путем маскировки сущностей и фраз с помощью KG.
  • Модель, в которой используется трехэтапный подход к обучению (TransBERT) - без учителя, за которым следуют два контролируемых шага, для задачи прогнозирования окончания истории.
  • Модель, которая совместно изучает видео и изучение представления языка (videoBERT), представляя видеокадры в виде специальных токенов дескриптора вместе с текстом для предварительного обучения. Это используется для субтитров к видео.
  • Модель, сочетающая возможности нейронных сетей Graph и BERT (G-BERT) для представления и рекомендаций медицинского / диагностического кода. Медицинские коды с иерархическим представлением кодируются с использованием GNN и вводятся в качестве входных данных во время предварительного обучения с данными EHR. Затем он настраивается для получения медицинских рекомендаций.
  • Точно настроенные модели. Модели настраиваются под конкретную задачу с использованием предварительно обученной модели - DocBERT (Классификация документов), PatentBERT (Патентная классификация). Помимо этих большинства задач NLP, POS, NER и т. Д. Точно настраивают предварительно обученную модель на основе BERT, специфичную для домена приложения, для достижения лучших результатов, как упоминалось ранее.

Вышеупомянутые модели являются лишь подмножеством моделей на основе BERT и предназначены для представления широких классов. По BERT довольно много статей (по крайней мере 150 на сегодняшний день в arXiv). Пара других классов - это исследования / визуализации BERT (обсуждается ниже) и несколько других, исследующих ограничения BERT (также обсуждаемые ниже). Есть и другие работы, такие как использование исследований BERT в когнитивной нейробиологии, которые здесь не рассматриваются.

Возникает естественный вопрос:

Что делает BERT настолько эффективным в таком широком спектре задач?

В недавней серии статей делается попытка ответить на этот вопрос с помощью различных типов зондов [1], [2], [3], [4], [5] (Пара из них была рассмотрена в предыдущей статье).

Прежде чем мы рассмотрим датчики, кратко рассмотрим модель BERT.

Обзор модели BERT

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

BERT строит векторы для слова следующим образом:

  • BERT имеет словарь фиксированного размера слова / подслова (вложения словосочетания) - любое входное слово сопоставляется с этими словами / подсловами. Например, некоторые общие слова, такие как тот, или даже необычные, такие как квант, константинополь, присутствуют в словаре BERT (базовый и большой словарь моделей) - так что это прямое сопоставление для них слова. Но такого слова, как электродинамика, нет. Таким образом, он разбит на 4 подслова - electro ## dy ## nami ## cs, где эти подслова присутствуют в словаре . Кроме того, одним из практических преимуществ словаря фиксированного размера является то, что загрузка модели BERT в графический процессор не ограничивается количеством уникальных слов в корпусе - любой корпус, независимо от его уникального размера, представлен в виде ~ 30 КБ подслово словаря.
  • Во время обучения BERT изучает векторное представление для своего словаря фиксированного размера с помощью заголовков внимания (которые, по сути, представляют собой набор изученных матриц, как мы увидим ниже) и других матриц преобразования (все из которых также изучаются во время обучения). Обученная модель вместе с изученными векторами для своего словаря затем используется во время оценки / тестирования для динамического построения вектора для любого слова в предложении, сначала сопоставляя слова с фиксированными словами / подсловами словаря и кодируя позицию слова в ввести предложение в его представление .
  • В качестве конкретного примера рассмотрим предложение «кошки и собаки - домашние животные». Все эти слова присутствуют в словаре BERT, поэтому они не разбиты на подслова.
  • Сосредоточившись на одной голове внимания, он конструирует вектор для слова собаки как взвешенную сумму векторов (их преобразованные версии) для всех слов в предложении, включая его самого. По сути, вектор для слова собаки подтягивается ближе ко всем словам в предложении различными способами (добавление небольших компонентов вектора A к вектору B равносильно подтягиванию вектора B немного ближе к A ) Количество каждого вектора слова (например. cats) в предложении кошки и собаки - домашние животные способствует созданию вектора собаки . частично определяется матрицами головы внимания (доминирующий фактор), положением кошек в предложении (фиксируется кодировкой положения, добавленной к кошкам при вводе) , и насколько близки два вектора слов (вычисляется как скалярное произведение между векторами для собак и кошек). Этот шаг стоит сравнить с процессом обучения word2vec - где вектор для каждого слова в предложении (например, собаки) перемещается ближе к его соседним словам (в пределах окна фиксированного размера - скажите по 5 слов с каждой стороны) на определенную величину это определяется тем, насколько близко вектор слова к другие векторы слов в окне. Создание BERT контекстно-зависимого вектора для слова в предложении с использованием единственного заголовка внимания имеет некоторое сходство с построением создания глобального вектора для слова в word2vec, хотя BERT принимает во внимание порядок слов и слово положение и, что наиболее важно, вклад соседей (включая его самого), который во многом определяется матрицами головы внимания.
  • Каждый уровень модели BERT имеет несколько головок внимания (12 голов в основании и 16 в больших), а слой с нелинейной прямой связью принимает эти выходы головок внимания и позволяет им взаимодействовать друг с другом, прежде чем они подаются на следующий уровень, который выполняет ту же операцию, описанную выше.

  • Наконец, в большинстве описаний головы внимания в статьях мы часто видим утверждения вида «Глава 1 внимания уровня 3 уделяет внимание следующему токену в предложении». Хотя это полезный способ различать функции каждой головы, стоит помнить, что в реализации приведенное выше утверждение означает, что наибольший вклад в векторный вывод для слова вносит слово, которое непосредственно следует за ним.
  • Приведенное ниже описание отражает все, что было описано выше, в сжатой математической форме в двух абзацах. Ключевой вывод состоит в том, что каждая голова внимания состоит из четырех W-матриц (Wk, Wq, Wv и Wo), которые изучаются во время обучения. Они играют роли, описанные выше - Wo и Wv участвуют в средневзвешенном значении векторов слов, а Wq и Wk участвуют в вычислении весов - αi.

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

Изучение того, что изучает модель

Различные исследования / визуализации предлагают подсказки / понимание того, что изучает модель BERT

  • Визуализация внимания веса (αi в приведенных выше уравнениях), как мы видели выше, показывают, на что обращает внимание каждая голова на каждом уровне. Эти карты внимания соответствуют лингвистическим представлениям о синтаксисе и кореферентности. Например, мы находим заголовки, которые обращаются к прямым объектам глаголов, определителям существительных, объектам предлогов и кореферентным упоминаниям с удивительно высокой точностью.
  • Построение вектора из веса (αi в приведенных выше уравнениях) из каждой головы внимания между двумя словами в предложении (для модели BERT с 12 уровнями головы и 12 этим вектором будет быть 144-мерным) и обучение линейного классификатора на этом глобальном векторе внимания для пары слов в предложении, чтобы увидеть, есть ли связь между этими двумя словами, а также тип связи, указывает синтаксическую связь (зависимость одного слова от другого) кодируется векторами внимания.
  • Используя специальное линейное преобразование выходных векторов для предложения, показывает, что BERT приблизительно кодирует синтаксическое дерево в словах, которые он выводит для предложения.

  • Оценка важности каждого уровня для конкретной задачи НЛП (например, POS, NER и т. Д.) показывает, что основная синтаксическая информация фиксируется ранее (нижние уровни) в сети, за которой следует семантическая информация на более высоких уровнях. Это отражено на изображении справа. (Это наблюдение аналогично тому, что было замечено в модели ELMo).
  • Кроме того, информация, относящаяся к синтаксическим задачам, кажется более локализованной на нескольких уровнях, где информация для семантических задач (SPR и отношения) обычно распространяется по всей сети (см. Темно-синие заштрихованные полосы)
  • Изучение векторов выходных слов показывает, что не только разные смыслы слова зафиксированы в разных представлениях, они также пространственно разделены мелкозернистым образом (показано ниже).

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

Одно указание на ограничение модели BERT в публикациях (могут быть и другие) [1] [2]

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

Возможно, это не ограничение модели. Это может быть показательным, как недавно упомянул профессор Йошуа Бенжио (26 апреля 2019 г.), что нам нужны модели, которые не просто изучают встраивание слов, обучаясь на вводимом тексте, но также узнайте, что эти слова означают в среде (одновременно изучение языка и моделирование мира). Эта форма обучения (называемая изучение языка на основе оснований) в настоящее время активно изучается.

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

  1. Визуализация и измерение геометрии BERT, 6 июня 20 19
  2. Неужели 16 голов лучше, чем одна? Май 2019
  3. Может ли машина закончить ваше предложение? Май 2019
  4. BERT заново открывает классический конвейер НЛП Май 2019
  5. На что смотрит BERT? Анализ внимания BERT, 11 июня 2019 г.
  6. Структурная проба для поиска синтаксиса в представлениях слов, апрель 2019
  7. BioBERT - предварительно обученная модель представления биомедицинского языка для биомедицинского анализа текста, январь 2019
  8. SciBERT: Предварительно обученные контекстуализированные вложения для научного текста, март 2019
  9. ClinicalBert: моделирование клинических заметок и прогнозирование повторной госпитализации, апрель 2019 г.
  10. Общедоступные клинические вложения BERT, апрель 2019 г.
  11. Насколько BERT многоязычен, июнь 2019
  12. ERNIE: Расширенное языковое представление с информативными объектами, июнь 2019
  13. Предсказание окончания сюжета переводным BERT, май 2019
  14. VideoBERT: Совместная модель обучения видео и языковой репрезентации, апрель 2019
  15. PatentBERT: Патентная классификация с точной настройкой предварительно обученной модели BERT, июнь 2019
  16. DocBERT - Бур по классификации документов, апрель 2019
  17. Предварительное обучение графических преобразователей для рекомендаций по лекарствам, июнь 2019
  18. Внимание - это (не) все, что вам нужно для здравого смысла, май 2019
  19. Ссылки Github на источник доступны как ссылки в сносках в большинстве документов, перечисленных выше