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

Представьте себе это: машина, которая может моделировать и понимать естественный язык и которая способна общаться на любом языке. Это возможно? К сожалению, пока нет. Из-за сложности языка это заслуживает доверия только в мире научной фантастики.

Но недавний прогресс в машинном обучении (ML) и обработке естественного языка (NLP) указывает на то, что мы приближаемся к обучению машин замечательным способностям в отношении естественного языка. Я признаю, что идея машины, обладающей способностями человеческого уровня, - чистая шумиха, учитывая, насколько сложен для понимания язык. Тем не менее, недавний прогресс в НЛП показывает впечатляющие результаты, вызывающие радость.

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

Перенос обучения

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

Предварительная подготовка

Это захватывающие времена для исследователей и энтузиастов НЛП и машинного обучения. Совсем недавно предварительно обученные языковые модели использовались для достижения современных результатов по широкому кругу задач НЛП (например, маркировка последовательностей и классификация предложений). Некоторые из недавних работ, в которых используются предварительно обученные языковые модели, включают ULMFit, ELMo, GLoMo и OpenAI transformer. Эти системы языкового моделирования проводят глубокое предварительное обучение целых моделей с иерархическими представлениями или представлениями на основе графов. Эта концепция представляет собой переход от использования унарных встраиваний слов, которые эффективно использовались для решения многих задач НЛП за последние несколько лет, к использованию более сложных и абстрактных представлений.

Вы можете спросить: Как предварительный тренинг работает для НЛП? Чем полезен предварительный тренинг? Проще говоря, так получилось, что предварительное обучение позволяет модели фиксировать и изучать различные лингвистические явления, такие как долгосрочные зависимости и отрицание, из большого количества языков. масштабный корпус. Затем эти знания используются (передаются) для инициализации, а затем обучения другой модели, чтобы она хорошо выполняла конкретную задачу НЛП, такую ​​как классификация настроений.

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

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

Модели

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

Один недавний популярный метод, придуманный как ELMo, можно описать как предварительное обучение всей модели с глубокими контекстуализированными представлениями через сложенные нейронные слои, в отличие от простого использования вложения слов (то есть унарных представлений) в качестве инициализации. Не волнуйтесь, если вам непонятно, что описывает приведенная выше концепция. Моя цель в этой серии статей - очень интуитивно разъяснить, что делают эти модели, и ответить на несколько ключевых вопросов, которые возникают при их рассмотрении:

  • Что мы подразумеваем под моделированием глубоко контекстуализированных представлений в контексте языка? Что на самом деле изучает модель?
  • Как построить и обучить эти предварительно обученные языковые модели?
  • Каковы ключевые компоненты предварительно обученных языковых моделей и как их улучшить?
  • Как мы используем или применяем их для решения различных языковых проблем?
  • Каковы преимущества предварительно обученных языковых моделей по сравнению с традиционными методами трансферного обучения для НЛП?
  • Какие есть недостатки?
  • Какие аспекты естественного языка нам нужно учитывать при предварительном обучении языковых моделей?
  • Какие виды задач предварительной подготовки мы рассматриваем для создания и тестирования этих так называемых обобщаемых систем НЛП?
  • И что еще более важно, какие типы наборов данных мы должны использовать, чтобы они были репрезентативными, чтобы решать широкий спектр задач НЛП?

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

Это сообщение является частью 1 серии. Всего в этой серии пять частей. Следите за обновлениями части 2. А пока я рекомендую вам взглянуть на некоторые ссылки, представленные в этом сообщении.