В начале этого года технический гигант Baidu представил свою новейшую архитектуру НЛП ERNIE 2.0, которая получила значительно более высокие оценки, чем XLNet и BERT. по всем задачам в тесте GLUE. Этот крупный прорыв в НЛП основан на новой инновации под названием «Непрерывное многозадачное обучение».
В этой статье мы интуитивно объясним концепцию непрерывного многозадачного обучения, построим Модель ERNIE 2.0 и устранение опасений относительно результатов ERNIE 2.0.

Предварительные требования:
1. Нейронные сети (https://bit.ly/2m8Od7p)
2. Градиентный спуск (https://bit.ly/2lGHXn0)
3. Предварительное обучение и точная настройка ( Https://bit.ly/2lIADHm)

Что такое многозадачное обучение?

Чтобы понять многозадачное обучение, давайте начнем с примера S однозадачного обучения: для простоты представьте себе простую нейронную сеть с прямой связью, используемую в предварительном обучении для НЛП (обработка естественного языка). Задача - угадать следующее слово в предложении.

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

А что, если вы хотите, чтобы нейронная сеть выполняла несколько задач? Например, предсказать следующее слово в предложении И провести анализ настроений (предсказать, является ли отношение положительным, нейтральным или отрицательным) .

Что ж, можно просто добавить еще один вывод!

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

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

В этом суть многозадачного обучения - обучение одной нейронной сети выполнению нескольких задач. ERNIE 2.0 фактически обучает свою нейронную сеть выполнять 7 задач (мы поговорим об этом позже)!

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

Однако на самом деле нам не хватает ключевой концепции в архитектуре ERNIE 2.0, а именно…

Непрерывное обучение

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

Глядя на рельеф нашей последней функции потерь из последнего примера, что, если бы мы инициализировали веса по-другому?

Локальный минимум на этот раз далек от идеала. Чтобы справиться с этой проблемой и найти лучший местный минимум, ERNIE 2.0 предлагает концепцию непрерывного обучения.

Вместо того, чтобы тренировать все задачи сразу, вы тренируете их последовательно:

  1. Тренируйтесь, используя задание 1
  2. Используйте параметры из предыдущего шага и тренируйтесь, используя задания 1, 2.
  3. Используйте параметры из предыдущего шага и тренируйтесь, используя задания 1, 2, 3,
    и т. Д.

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

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

Кроме того, в ERNIE 2.0 Adam Optimizer используется для обеспечения более высоких шансов нахождения глобального минимума, но это выходит за рамки данной статьи. Если вы хотите узнать об этом больше, вот ссылка: https://arxiv.org/pdf/1412.6980.pdf

Модель ERNIE 2.0

Наконец, теперь мы можем построить модель ERNIE 2.0!

Начнем с ввода: вложение ввода содержит вложение токена, вложение предложения, вложение позиции и вложение задачи. Если вы никогда не слышали о встраиваниях, по сути, они представляют собой форму представления, позволяющую преобразовать то, что понимает человек, в то, что понимает машина. (Подробнее об этом здесь: https://bit.ly/2k52nWt)

Затем он загружается в «кодировщик», которым может быть любая нейронная сеть. Конечно, вы хотите использовать RNN (рекуррентную нейронную сеть) или преобразователь для обеспечения максимальной производительности при обработке естественного языка.
* ERNIE 2.0 использует преобразователь с теми же настройками, что и BERT и XLNET.

Наконец, окончательный вывод содержит результаты 7 задач, а именно:

  1. Маскировка знаний
  2. Связь токен-документ
  3. Прогноз капитала
  4. Изменение порядка приговора
  5. Расстояние между предложениями
  6. Дискурс Отношения
  7. ИК-релевантность

Эти задачи были специально выбраны для изучения лексической (словарный запас), синтаксической (структура) и семантической (смысловой) информации языка. Прочтите раздел 4.2 документа для подробного объяснения каждой задачи.

Процесс обучения в основном идентичен приведенному выше примеру непрерывного обучения:

Сначала тренируйте Задачу 1,
затем Задачу 1 и 2,
затем Задачу 1, 2 и 3,
и так далее… до тех пор, пока вы не пройдете обучение всем 7 задачам одновременно.

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

Кроме того, одно различие в настройке ERNIE 2.0 заключается в том, что в конечном итоге убытки усредняются (а не суммируются).

Опасения по поводу результатов ERNIE 2.0

ERNIE 2.0 превзошел все предыдущие архитектуры, такие как XLNET и BERT, в каждой отдельной задаче теста GLUE. Хотя в статье говорится, что новаторские результаты были достигнуты благодаря непрерывному многозадачному обучению, не было исследований, подтверждающих это. Некоторые факторы помимо непрерывного многозадачного обучения, которые могли сыграть ключевую роль в победе над XLNET и BERT:

  • Для обучения модели было использовано гораздо больше данных (Reddit, данные Discovery…); однако в определенной степени это неизбежно. Поскольку чем больше задач, тем больше данных.
  • Нейронная сеть реализована в PaddlePaddle.

Что еще более важно, чтобы связать результаты ERNIE 2.0 с непрерывным многозадачным обучением, необходимо ответить на следующие вопросы:

  • Насколько важны результаты многозадачного обучения?
  • Насколько важно для результатов непрерывное обучение? Что, если бы вы обучили все 7 заданий одновременно, а не выполняли бы их последовательно? Или что, если вы просто тренируете задачу 1, затем задачу 1 и 2, а затем сразу переходите ко всем задачам?
  • Имеет ли значение порядок выполнения задач?

Заключение

Подводя итог, ERNIE 2.0 представил концепцию непрерывного многозадачного обучения, и он успешно превзошел XLNET и BERT практически во всем. Хотя можно легко сказать, что непрерывное многозадачное обучение является фактором номер один в достижении новаторских результатов, остается еще много проблем, которые необходимо решить.

Конечно, эта статья не охватывает весь спектр тем статьи, таких как конкретные экспериментальные результаты, и никогда не предназначалась для этого. Эта статья представляет собой просто интуитивно понятное объяснение основных концепций ERNIE 2.0, поэтому, пожалуйста, прочтите статью самостоятельно, поскольку есть еще кое-что, о чем можно узнать!

Документ: ERNIE 2.0: система непрерывного предварительного обучения для понимания языка
Авторы:
Ю Сун, Шуохуань Ван, Юкун Ли, Шикун Фэн, Хао Тянь, Хуа Ву, Хайфэн Ван
Ссылка: https://arxiv.org/pdf/1512.03385.pdf

👋 Эй! Я 16-летний предприниматель, спикер и разработчик машинного обучения / Python / C ++ / веб-сайтов из Торонто.

Если у вас есть предложения, идеи для проектов или вы просто хотите пообщаться, напишите мне в LinkedIn (http://linkedin.com/in/realmichaelye) или напишите на [email protected]!

И если вам понравилось читать эту статью, не забудьте нажать кнопку "Хлопок" ниже и поделиться ею со всеми своими друзьями-средними пользователями!