Швейцарский армейский нож для решения неконтролируемых задач

Опубликовано: 09/01/2021 Время на прочтение: 18 минут

Рисунок 1. Несколько причин, почему BERT является ценным дополнением к инструментарию практикующего, помимо его хорошо известного использования тонкой настройки для последующих задач. (1) изученный словарь векторов Берта (скажем, в 768-мерном пространстве) служит мишенями, которые замаскированные выходные векторы предсказывают и учатся на ошибках предсказания во время обучения. После обучения эти движущиеся цели оседают в ориентиры, которые могут быть сгруппированы и аннотированы (одноразовый шаг)и использованы для классификации выходных векторов модели в различных задачах-NER, извлечение отношений и т. д. (2) модель, предварительно обученная достаточно для достижения низкой потери предсказания следующего предложения (в дополнение к потере предсказания замаскированного слова), дает качественные векторы CLS, представляющие любой входной термин/фразу/предложение. Вектор CLS должен быть собран из головки MLM, а не из самого верхнего слоя, чтобы получить наилучшее представление входных данных (рис.ниже). (3) значение смещения головного декодера MLM является полезной оценкой важности словарного термина и эквивалентно оценке TF-IDF для словарных терминов. (4) способность Берта предсказывать, в большинстве случаев, тип сущности слова в предложении опосредованно через словарные альтернативы слов для этой позиции, может быть весьма полезной в дополнение к его использованию для маркировки NER. Иногда предсказания для позиции могут даже быть правильным примером, но это, как правило, ненадежно непосредственно для любого практического использования (5) векторное представление для любого входного термина/фразы (и их вариантов с ошибками), либо собранное непосредственно из изученного словаря Берта, либо созданное с использованием CLS, в значительной степени включает контекстно-независимые векторы предыдущих моделей, таких как word2vec, Fasttext, что делает BERT универсальным магазином для сбора векторных представлений как контекстно-зависимых, так и контекстно-независимых векторов. Единственным исключением из этого правила являются представления для ввода символов, отсутствующих в словаре Берта (например, пользовательский словарь Берта, тщательно подобранный, чтобы избежать символов из языков вне области приложения, таких как китайский, тамильский и т. д.). центральное значение для получения большинства из этих преимуществ имеет то, насколько хорошо модель предварительно обучена пользовательскому словарю в конкретном корпусе предметной области, представляющем интерес для нашего приложения. Изображение, созданное автором

TL;DR

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

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

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

Что делает Берта швейцарским армейским ножом?

В интернете есть отличные подробные статьи о моделях BERT и трансформаторов в целом.

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

Ключевым шагом перед предварительной подготовкой модели BERT с нуля является выбор словаря, который наилучшим образом представляет корпус, используемый для обучения. Обычно это около 30 000 терминов, состоящих из символов, полных слов и частичных слов (подсловов), которые могут быть сшиты для составления полных слов. Любой вход в модель будет построен с использованием этих ~30 000 терминов (если вход содержит термин, который не может быть разложен на эти 30 000 терминов, он будет представлен как специальный неизвестный токен, который также является частью этого набора. Например, скажем, китайский иероглиф, которого нет в наборе 30k).

Во время обучения,

  • модель усваивает векторное представление для всех терминов в своем словаре, чему способствует декомпозиция предложений во входном учебном корпусе на термины в словаре (токенизация) по мере подачи каждого предложения в модель. Перед обучением модель начинается со случайного векторного представления каждого термина в своем словаре, которое в силу высокой размерности (например, 768) этих векторов делает их почти ортогональными друг другу (по существу, плотное представление, которое ведет себя как один горячий вектор, где каждый словарный термин представлен однозначно и почти ортогонально всем другим терминам).
  • модель узнает трансформации состоящим из всех слоев Берт модели. Об этом узнал трансформации (которая по сути обучения веса, которые реализуют превращение) — это функция, которая принимает в векторы, каждый из которых представляет круг размечается в входное предложение (векторов, упомянутых в предыдущем пункте) и меняет векторы выхода для каждого входного вектора. Во время обучения примерно 15% этих входных векторов либо заменяются вектором-заполнителем, либо вектором для другого слова (выбираемого случайным образом из словаря), и преобразование вынуждено производить выходной вектор (используя контекст, предоставляемый другими векторами во входном предложении), который может быть оценен относительно других векторов словаря, чтобы предсказать тот же исходный вектор, который был заменен. Косинусное расстояние между выходным вектором и исходным вектором, который был замаскирован/заменен, является ключевым фактором при определении балла. Угол между верхним выходным вектором оценки для замаскированной / замененной позиции и фактическим вектором словаря (прогнозируемым вектором) может быть, вопреки здравому смыслу, ближе к ортогональному, чем к коллинеарному, то есть до 80 градусов друг от друга. Тем не менее, по сравнению с другими векторами лексики он по-прежнему делает выходной вектор, лучший прогноз (рис.5).
  • Ключевым фактом является то, что как векторные представления словарных терминов, так и веса преобразования модели изучаются одновременно. Это на первый взгляд может показаться странным, учитывая, что обучение трансформации зависит от словарных векторов, служащих как опорными векторами на выходной стороне, так и представляющими предложения на входной стороне, в то время как сами эти словарные векторы изменяются. Этот подход к одновременному обучению работает, потому что очень мало токенов в предложении заменяются векторами заполнителей/случайных слов во время обучения (~15%). Таким образом, каждый словарный вектор получает гораздо больше возможностей сходиться к стабильному представлению, участвуя с входного конца в предсказании замененного вектора, чем сам используется в качестве опорного вектора на выходном конце для того, чтобы преобразованный замененный вектор тяготел к нему. После завершения обучения эти словарные векторы служат статическими ориентирами для вывода значения выходного вектора, подробно описанного ниже.
  • Еще один интересный факт: хотя один и тот же целевой вектор для слова используется для влияния на изучение контекстуально различных значений слова, векторы слов в словаре, фиксирующие контекстуально различные значения, не обязательно смешиваются вместе в кластере — полезное свойство, которое используется в неконтролируемых приложениях, описанных ниже. Например, косинусная окрестность для слова клетка(в модели, которая была предварительно обучена с нуля с помощью пользовательского словаря на корпусе биомедицинской области) в векторном пространстве словаря в основном является биологическими терминами (рис.4). Термины, улавливающие другие значения (сотовый телефон, тюремная камера), находятся далеко от векторной ячейки. Это резко контрастирует с моделью, подобной word2vec, где все смыслы (значения) слова были бы смешаны в верхней окрестности. Однако в некоторых случаях смешение смыслов может наблюдаться и в базовом изучаемом словаре, например в модели word2vec. Например, косинусная окрестность в изучаемом лексическом векторном пространстве для термина her представляет собой смесь двух смыслов-местоимений и генов-his, she, hers, erbb, her2 (рис . 2). это следствие того, что в неказистой модели HER — ген, преобразуется в нее, увеличивая двусмысленность с местоимением her. Однако трансформация по-прежнему разделяет эти смыслы на основе контекста предложения (это предполагает, что контексты предложения для двух разных значений различны). Таким образом, для каждого термина во входном предложении изученное преобразование находит новый вектор для замаскированного / замененного термина, относительно которого косинусная окрестность в векторном пространстве словаря состоит из семантически сходных терминов, используя контекст предложения, независимо от того, что семантически различные значения замаскированного термина кластеризуются или разделяются в векторном пространстве словаря (хотя в большинстве случаев в хорошо обученной модели кластеры векторов словаря имеют тенденцию захватывать единый смысл сущности до определенного уровня детализации)

Рисунок 2. Кластер, созданный из словаря, который был создан из медицинского корпуса и векторы которого были созданы из модели, обученной на медицинском корпусе. Кластер отражает смешение типов сущностей-местоимений и генов. Это происходит из — за термина “она”, который в форме капитала обычно относится к гену. Необработанная модель увеличивает неопределенность. Несмотря на такое смешение типов сущностей в векторном пространстве словаря, изученное преобразование четко разделяет эти смыслы в моделях, выводимых для маскированной позиции в предложении с использованием контекста предложения. например, пустая позиция в первом предложении находится в контексте гена, а во втором предложении-в контексте местоимения. Изображение, созданное автором

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

он пошел в тюремную камеру с мобильным телефоном, чтобы взять образцы клеток крови у заключенных

Рис. 3. три верхних вектора лексики, близких к выходному вектору модели для позиции. Обратите внимание, что значения косинусного расстояния довольно малы — векторы ближе к ортогональности, чем к коллинеарности. Ячейки, выделенные желтым цветом, отражают случаи, когда выходная оценка зависела либо от смещения вектора лексики, либо от величины вектора лексики, что объясняется на рис.13 ниже. Образ, созданный авторомна рисунке 4. Гистограмма Косинус значения расстояния между термином клетка и другие слова в словаре модели Берта. Ближайшие соседи вектора для клетки в значительной степени состоят из биологических терминов. Хвост одноразрядного счета простирается от косинусного расстояния .53 (игнорируя 1) до косинусного расстояния .16 (80 градусов). Изображение, созданное авторомРис. 5. верхняя половина показывает ту же гистограмму с Рис. 4 для окрестности ячейки вектора словаря. Он также показывает косинусное расстояние отдельных терминов, которые захватывают три различных «смысла» слова клетка-биологический смысл, смысл” комната/местоположение » и смысл телефона. Термины, улавливающие биологический смысл, находятся в хвосте и ближе к вектору для клетки. Вектор для ячейки находится вдоль оси X. Два других смысла слова клетка почти ортогональны вектору клетки и хорошо отделены от биологического смысла. Нижняя половина иллюстрирует верхние косинусные соседи выходных векторов модели для трех замаскированных позиций в предложении “он пошел в тюремную камеру с мобильным телефоном, чтобы взять образцы клеток крови у заключенных” . Обратите внимание, что даже несмотря на то , что ближайшие словарные векторы для трех позиций отражают различные значения ячейки термина, эти словарные векторы почти ортогональны выходному вектору (показан красным цветом вдоль оси x). Тем не менее, распределения гистограмм для всех позиций имеют отчетливый хвост, где верхние предсказания лежат хорошо отделенными от остальных членов. Это несмотря на то, что все лексические векторы присутствуют в небольшом диапазоне примерно от -19 до примерно .24. изученное преобразование модели находит точки зрения в векторном пространстве словаря, где векторы, улавливающие значение замаскированного термина, ближе к выходному вектору в относительном смысле, а не в абсолютном смысле значения Косинуса. Изображение, созданное автором

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

Рис. 6. Кластеры, созданные с Берт большие моноблочные модели и словарный запас. Типы сущностей отражают природу корпуса, на котором была обучена модель.изображение, созданное авторомрис. 7.кластеры, созданные из словаря, который был создан из медицинского корпуса и векторы которого были созданы из модели, обученной на медицинском корпусе. Аннотации показывают, что преобладающие типы сущностей имеют биологическую природу. Изображение, созданное автором

Неконтролируемая маркировка терминов в предложении

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

Рисунок 8. Без присмотра Нер использует Берта. Изображение, созданное автором

Можно было бы применить тот же подход к неконтролируемым POS, по крайней мере, к нескольким крупнозернистым типам тегов, которые можно различить по различным кластерам словаря Берта. Сингулярные и множественные версии тегов будут неразличимы, так как они будут объединяться в одну группу. Трансформация не смогла бы разделить их в этом случае, поскольку контексты предложений для единственного и множественного числа почти одинаковы.

Неконтролируемые представления фраз/предложений

Одна деталь, которая, возможно, является ключевой, чтобы не пропустить при оценке векторов предварительно обученной модели, заключается в том, откуда собирать выходные векторы модели. Правильное место — от замаскированной головы MLM (захваченной в свалке PyTorch как cls. предсказания). Это происходит потому, что в этой голове есть еще одно преобразование, предшествующее прогнозированию выходного вектора. Это преобразование игнорируется для последующей тонкой настройки, как и должно быть, но является ключевым для оценки или непосредственного использования предварительно обученных выходных векторов. Неконтролируемые задачи в этой статье используют либо прямые, либо косвенные векторные выходы из MLM head (для всех токенов, включая [CLS]), в отличие от векторов самого верхнего уровня.

Одной из задач, где обычно непосредственно используется предварительно обученный выходной вектор модели, является вектор [CLS]. Этот вектор изучает представление для всего предложения, предсказывая следующее предложение на входе (все входные данные модели во время обучения представляют собой пары предложений с флагом, указывающим, являются ли два предложения смежными). Сбор этого вектора для представления предложения из головы MLM в противоположность самому верхнему слою имеет значение в производительности, учитывая дополнительное преобразование в голове MLM, упомянутое выше.

Вектор [CLS], собранный из головы MLM после предварительной подготовки, особенно из модели с высокой точностью предсказания следующего предложения, может быть использован для представления слова, фразы или предложения. Это имеет некоторые преимущества

  • это расширяет способность модели эффективно создавать представления для бесконечного словаря (с оговоркой представления символов, отсутствующих в базовом словаре, как специальный токен [UNK] )
  • В отличие от других заученных представлений предложений, которые обычно непрозрачны, это представление в некоторой степени интерпретируемо — мы можем получить представление о том, что такое представление [CLS], исследуя соседние члены векторов в словаре Берта (или кластеры словаря Берта). Изученные веса смещения модели пригодятся для взвешивания такой окрестности, как описано ниже.

Рис. 9а. термины окрестности для токена [CLS] с учетом входных фраз “расчетная скорость клубочковой фильтрации”и «рецептор эпидермального фактора роста». Качество представления предложений отражается в этих окрестностях, причем первая фраза отражает входную фразу как меру, а вторая фраза отражает входную фразу Как белок. Однако оба они имеют egfr в семантическом соседстве — аббревиатуру, которая является общей для обеих этих фраз. Представление [CLS] было собрано из головы MLM. Изображение, созданное авторомрис. 9б. окрестность для термина [CLS], собранного из самого верхнего слоя для обеих фраз на рис. 9а. Качество окрестности является одним из репрезентативных примеров того, почему оценки представления предложений дают плохие результаты при использовании этого вектора [CLS]. Изображение, созданное автором

Кроме того, вывод [CLS], по-видимому, преждевременно собирается в нескольких статьях и общедоступных реализациях (ссылки ниже) с самого верхнего уровня, в отличие от главы MLM при создании представлений предложений. Отчасти это может быть причиной того, что векторы [CLS] плохо работают в таких оценках (это утверждение должно быть подтверждено тестированием с помощью бенчмарка, такого как STS).

Другие приложения

Извлечение отношений

Если мы рассматриваем отношение как три кортежа фраз (e1, relation, e2), потенциально встречающихся в любой перестановке трех кортежей, идентификация сущностей e1 и e2 может быть выполнена с использованием неконтролируемого NER, описанного выше. Идентификация отношения может быть осуществлена путем выбора терминов, характеризующих конкретное отношение в лексическом пространстве-один временной шаг. Синтаксический анализатор зависимостей должен был бы идентифицировать три кортежа в предложении и найти границы отношения, особенно когда отношение присутствует в префиксной(отношение e1 e2) или постфиксной форме (отношение e1 e2). Этот подход используется для сбора синонимов, как описано в этом посте. Другой вероятный вариант использования-не обязательно извлекать отношение, но идентифицировать тип отношения в предложении, чтобы классифицировать предложение.

Рис. 10. неконтролируемое изображение сбора синонимов, созданное автором

Эмуляция поведения скрытого состояния RNN

Вектор [CLS] может быть использован для эмуляции скрытого состояния RNN на каждом временном шаге с помощью BERT, который является просто трансформаторным кодером — функциональностью, которая обычно требует как кодера, так и декодера при использовании трансформатора (например, при переводе) . Это может быть полезно в приложениях с временными входными потоками. Это иллюстрируется частичными и полными версиями пары игрушечных предложений ниже (Рис. 11а-11d), где соседство вектора [CLS] в значительной степени отражает семантически связанные термины важных сущностей во входных данных. Это, однако, может быть только грубым приближением, учитывая, что авторегрессионное обучение языковой модели на основе RNN наделяет ее генеративной способностью, которой явно не хватает такой модели автокодера, как Берт.

Рис. 11а. эмуляция скрытого состояния RNN с помощью CLS для одного термина и частичного предложения. Изображение, созданное авторомрис. 11б. эмуляция скрытого состояния RNN с CLS для частичного предложения. Изображение, созданное авторомрис. 11С. эмуляция скрытого состояния RNN с CLS для полного предложения. Образ, созданный авторомрис. 11г. Подражая скрытые состояния РНН с ЦБС для законченное предложение. Обратите внимание, что во всех приведенных выше предложениях представление для [CLS] захватило ключевой тип сущности ключевых терминов в предложении, а также его семантически близкие типы сущностей. Изображение, созданное автором

Заполните бланки заявки (для угадывания сущности)

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

Различные свойства модели, которые могут иметь ценность

Использование усвоенных значений смещения в голове MLM

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

Рис. 12. значения смещения гистограммы, отсортированные в обратном порядке числового значения. Токены с наибольшими значениями смещения — это такие токены, как запятая, и, [UNK] токен. Токены с отрицательными значениями смещения — это [CLS], [MASK] и [SEP]. Лексемы с большими значениями смещения соответствуют лексемам, которые могут часто встречаться во многих позициях в предложении-грубый эквивалент стоп-слов. Изображение, созданное автором

Углы выходного вектора с векторами словаря являются основным фактором в определении прогноза модели для позиции, при этом изученное смещение и величина вектора словаря играют второстепенную роль.

Рис. 13. Расчет прогностической модели результатов в МЛМ голову. Ключ «val» — это итоговая оценка, которая является точечным произведением выходного вектора и вектора словаря. Это просто произведение ключей”n1”,» n2 » и «cos», где n1 и n2-векторные величины. Полученные значения смещения добавляются к точечному произведению, чтобы получить окончательные баллы. Ключевым фактором, влияющим на итоговую оценку, является угол между двумя векторами, за которым следует величина смещения и величина вектора лексики. Изображение, созданное автором

Асимметрия относительной важности между парами представлений

Граф аффинности выходных векторов для лексем в предложении

Некоммутативность пар сущностей в конкретных контекстах предложений

Заключительные мысли

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

Дополнительные примечания

прокрутка вверх