Недостаток данных об обучении – вероятно, самая сложная проблема, с которой сталкивается обработка естественного языка, более известная как NLP. Для тех, кто не знает, NLP – это невероятно разнообразная область, содержащая различные задачи. В большинстве случаев наборы данных для решения конкретных задач состоят из сотен или тысяч обучающих примеров (помеченных человеком).
При этом современные модели глубокого изучения естественного языка извлекают выгоду из значительных объемов данных. Для них требуются миллионы, если не миллиарды учебных примеров с аннотациями. Исследователи упорно трудились, изобретая решение для устранения этого пробела в данных. Они разработали различные методики для обучения моделей GPL (язык общего назначения) с использованием тонны и тонны аннотированного текста, также называемого предварительным обучением.
Затем программисты могут точно настраивать предварительно подготовленные модели по NLP-задачам с небольшими данными, такими как анализ настроений и ответы на вопросы, что приводит к невероятно точным улучшениям, которые значительно лучше, чем тренировочные наборы данных с самого начала.
Что такое BERT?
BERT, сокращение от Bidirectional Encoder Representations from Transformers (двунаправленное представление кодировщика от трансформаторов), создает массивные волны в области машинного обучения. Группа исследователей, работающих в Google AI, недавно опубликовала BERT. BERT вызывает ажиотаж из-за его невероятно точных результатов в различных задачах программирования на естественном языке, таких как MNLI (естественный языковой вывод), Squad V1.1 (ответ на вопрос) и некоторых других.
Реализация обучения на трансформаторе является важной причиной того, что сообщество специалистов по обучению машинному оборудованию считает BERT важной технической инновацией. Языковое моделирование BERT обещает поднять машинное обучение на новый уровень. Оно противоположно предыдущим усилиям, которые были направлены на изучение последовательностей текста, начинающихся справа налево или слева направо.
Результаты показывают, что языковые модели, подготовленные на конкурсной основе, имеют глубокое понимание потока и языкового контекста по сравнению с языковыми моделями, основанными на однонаправленном обучении. Исследователи ИИ Берта обсуждают обширный новый метод под названием MLM (Masked LM.) Метод обеспечивает двунаправленное обучение в моделях, которые раньше невозможно было обучить.
Как работает BERT
BERT широко использует трансформатор. Это механизм внимания, способный изучать контексты между словами текста и даже подсловами для тех, кто не знает. В чистом виде, Трансформатор состоит из двух различных механизмов: кодировщика и декодера. Первый читает входные данные, а второй создает предсказание задачи.
Удивительно, но BERT требует только механизм кодирования, так как его основной задачей является создание эффективной языковой модели. Подробная статья исследователей Google рассказывает о том, как работает Трансформатор.
В отличие от моделей направленности, которые понимают последовательность ввода текста (справа налево или слева направо), кодировщики Трансформатора сильно отличаются друг от друга. Почему? Потому что они могут читать последовательность за раз, отсюда и термин двунаправленный. Хотя, некоторые утверждают, что ненаправленное чтение было бы более точным. Использование этой характеристики позволяет модели изучать контекст слова в соответствии с его окружением.
Несмотря на то, что при обучении моделей существует множество проблем, определение цели прогнозирования, возможно, является самой большой проблемой. Как уже говорилось ранее, большинство моделей предсказывают слова последовательно. Конечно, это было полезно в течение длительного времени, но такой подход имеет свои ограничения. Почему? Потому что он ограничивает контекст обучения. BERT преодолевает эту проблему, используя следующие стратегии обучения:
Masked LM aka MLM
Перед вводом последовательностей слов в BERT маркер, известный как [MASK], заменяет пятнадцать процентов инструкций каждой строки. Затем модель пытается предсказать исходное значение слова с маской в соответствии с контекстом, заданным не маскированными терминами. Технически говоря, для предсказания выходного слова требуется:
- Реализация классификационного слоя над выходом кодировщика
- Использование встраиваемой матрицы для умножения выходных векторов и их преобразования в словарное измерение языка
- Вычисление вероятности каждого слова в словаре с помощью софтмакс.
Помните, что функция BERT’s loss учитывает только прогнозы маскированных значений и игнорирует прогнозы не маскированных слов. Соответственно, модель объединяет медленнее, чем обычные модели направлений, атрибут, который возникает из-за гиперконтекстного знания.
При реализации BERT необходимо быть более внимательным, так как оно не заменяет каждое маскированное слово.
Следующий Приговор Прогнозирование, также известный как NSP.
Модель в процессе обучения BERT получает различные пары вводных предложений. Она учится прогнозировать, является ли второе предложение в строке следующим. Пятьдесят процентов вводимых данных – это пара, в которой второе предложение часто является следующим в первом документе. С другой стороны, оставшиеся пятьдесят процентов содержат случайные слова в качестве второго предложения. Согласно предположениям, случайные предложения отделяются от первого.
Чтобы помочь модели определить разницу между двумя предложениями во время обучения, это то, что происходит перед тем, как войти в модель:
- В начале первого предложения вводится маркер CLS, а в конце каждого предложения вводится маркер [SEP].
- Последовательность предложений, предполагающая добавление предложения А или В к каждому символу. Вы увидите огромное сходство между встраиванием предложения и встраиванием словарного запаса.
- К каждому маркеру добавляется встраивание позиции для указания ее конкретной позиции. Идею и включение встраивания позиции можно понять из данной работы о трансформаторе.
Как предсказать второе послание
Вот список шагов, которые необходимо выполнить, если вы хотите посмотреть, есть ли связь между вторым и первым предложением:
- Общая входная последовательность проходит через модель трансформатора
- Выходной токен CLS преобразуется в вектор 2 на 1 с использованием обычного классификационного слоя.
- Использование софтмакса для расчета вероятности IsNextSequence
Стоит отметить, что Next Sentence Prediction, Masked LM, и BERT модели поездов вместе в BERT модели. Это помогает минимизировать общие потери функции, созданные двумя стратегиями.
Использование BERT
Вы можете использовать BERT для различных языковых задач. Более того, для базовой модели потребуется только крошечный слой.
- Выполнение анализа настроений и других классификационных задач аналогично группировке следующего приказа. Добавьте слой классификации над выходом трансформатора, чтобы получить маркер CLS
- Вы можете использовать BERT для обучения модели Q и A, реализовав еще два вектора, обозначающие начало и конец ответа.
- Вы также можете использовать BERT для обучения модели распознавания именованных сущностей, подавая выходной вектор каждой лексемы в классификационный слой для предсказания метки распознавания именованных сущностей.
Время BERT использовало эту технику для достижения экстраординарных результатов на различных сложных задачах естественного языка.