www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home
Занимательная история, выдающиеся люди, малоизвестные факты, находки, открытия, фальсификации. Присоединяйся!

Состояние глубокого обучения для обработки естественного языка

Дата публикации Oct 3, 2019

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

Задний план

Natural Language Processing (NLP) занимается созданием вычислительных алгоритмов для автоматического анализа и представления человеческого языка. Язык является наиболее отличительной чертой, которая отличает людей от остального животного мира. Хотя животный мир наделен чувствами зрения, слуха или осязания, он обладает элементарными способностями к общению. Юваль Харири говорит«Настоящая разница между нами и шимпанзе заключается в таинственном клее, который позволяет миллионам людей эффективно сотрудничать. Этот загадочный клей сделан из историй, а не генов«.Можно утверждать, что язык - это средство, которое позволило homo sapiens доминировать на планете. Язык был изобретен людьми и дает представление о том, как человеческий мозг обрабатывает мысли и передает идеи. Когда дело доходит до исследований в области искусственного интеллекта, способность машин понимать текст и, в конечном итоге, давать последовательный ответ на сложные вопросы, является конечной границей развития ИИ. Йоав Шохам, ведущий исследователь искусственного интеллекта, в недавнем блоге Stanford Engineering заявил, что «Язык является конечной границей исследований ИИ, потому что вы можете выразить любую мысль или идею на языке. Это так же богато, как человеческое мышление,Таким образом, когда дело доходит до исследований в области искусственного интеллекта, способность машин понимать текст и, в конечном итоге, давать последовательный ответ на сложные вопросы, является конечной границей развития ИИ.

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

  • Вложения слов
  • Языковое моделирование
  • Рекуррентные варианты нейронной сети
  • Машинный перевод
  • Внимание
  • Ответ на вопрос
  • Контекстное встраивание слов

Вложения слов

Понимание естественного языка (НЛУ) подразумевает понимание слов, предложений и смысла текста.Теория информациипоказал, что вероятность является полезным инструментом для понимания значения слов. В 1990-х и 2000-х годах исследователи использовали статистическую обработку естественного языка или основанные на правилах методы, чтобы понять смысл слов. Слова были представлены в виде символов, но этот метод не смог уловить сходство между словами, поскольку символы по своей сути не имеют общего представления. Другой доминирующей идеей для представления слова была распределенная семантика, где значение слова задается контекстом, в котором оно появляется, то есть словами, которые встречаются в его окрестности «вы узнаете слово по компании, которую оно хранит» (Firth 1957) , В наше время идея была заново изобретена для создания встраивания слов, модели распределенного представления слов. Каждое слово в словаре представлено вектором высокой размерности или массивом, например, 300 чисел с плавающей запятой. В этом многомерном векторном пространстве слова с одинаковым значением сгруппированы вместе. Распределенные представления являются мощными, поскольку они охватывают низкоуровневое значение слов. На практике каждое слово в словаре представляется как многомерный вещественный вектор.Word2Vecа такжеперчаткаявляются общей структурой для генерации векторов слов. На рисунке 1 слово «банковское дело» представлено 300-мерным вектором действительных чисел. Сходство между двумя словами вычисляется по косинусному расстоянию между соответствующими вложениями слов, которое является точечным произведением двух векторов.

Рисунок 1: Распределенное представление «банковского дела» представляет собой 300-мерный вектор с реальной стоимостью

Модель распределенного представления объединяет похожие слова вместе. Векторы слов могут приблизить отношения между словами, такими как формы прилагательных, пол, как показано на рисунке 2 ниже. На левом графике показан переход от обычных к сравнительным и превосходным формам слова. Можно выполнить сложение векторов, чтобы перейти от одной формы прилагательного к другой. Правый график показывает сходство векторов для гендерных отношений и сложение векторов, связанных со словамикорольа такжеженщинапри вычитаниимужчинаравен вектору, связанному скоролева, например,король - мужчина + женщина = королева. Эти представления чрезвычайно полезны в широком спектре задач НЛП. Например, одной из общих задач NLP является Распознавание именованных объектов (NER), которое идентифицирует именованные объекты, такие как личность, местоположение и организация. NER получает огромное улучшение производительности, используя векторы слов.

Рисунок 2: Образец векторной визуализации слова (любезно предоставленоStanford)

Языковое моделирование

Следующим шагом в понимании естественного языка является выход за пределы значений слов для понимания структуры и значения текста дляпредложения и абзацы. Хорошей отправной точкой является языковая модель, которая предсказывает следующее слово с учетом последовательности слов. Языковые модели используются во многих распространенных приложениях, таких как интеллектуальная печать по телефону и автозаполнение при поиске в Google. Другие применения языковых моделей включают распознавание речи, машинный перевод, генерацию текста, определение авторства, обобщение и задачи диалога.

Языковые модели на основе рекуррентной нейронной сети (RNN) были очень успешными для понимания естественного языка. На рисунке 3 показана рекуррентная нейронная сеть, которая обрабатывает последовательность ввода переменной длины с течением времени, где скрытое состояние сети является функцией текущего ввода и предыдущего скрытого состояния. Распространено представлять RNN, разворачивая их во времени, как показано справа на рисунке.

Рисунок 3: Рекуррентная нейронная сеть

Модель языка на основе RNN на рисунке 4 использует вложения слов и значения периодических или скрытых состояний для прогнозирования следующего слова. На каждом временном шаге вход в RNN представляет собой вектор внедрения слова, соответствующий входному слову. RNN вычисляет следующий вектор скрытого состояния из умножения матрицы вектора вложения входного словаи предыдущий вектор скрытого состояния с матрицами параметров RNN и сумма пропускается через нелинейную функцию. Скрытое состояние неоднократно обновляется по всей последовательности слов. В последнем слове в последовательности значение скрытого состояния умножается на выходную матрицу и пропускается через нелинейность softmax, которая дает распределение вероятности следующего слова по всем словарным словам, а модель языка предсказывает слово с наибольшим вероятность как следующее слово. На рисунке 5 последовательность слов ввода «студенты завершили свой курс». Распределение вероятности следующих слов показано на рисунке 4. Поскольку словопроектимеет наибольшую вероятность, оно выбрано в качестве следующего слова.

Рисунок 4: Модель языка на основе RNN и предсказание следующего слова

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

Варианты RNN

RNNs также называетсяванильные рннсдостигнутыйпотрясающий успех, но есть несколько основных ограничений. RNN обрабатывают входные данные последовательно, что приводит к снижению производительности длинных входных последовательностей. Во-вторых, они страдают от проблемыисчезающие и взрывающиеся градиенты(проблема градиентов функций потерь, приближающихся к нулю или большим значениям, затрудняющих обучение в сети). Разрушение градиентов происходит, когда алгоритмы оптимизации производят большие обновления значений параметров и приводят к тому, что сеть переходит в состояние плохой конфигурации. Исчезающая проблема градиента приводит к тому, что значения градиента приближаются к нулю, и, следовательно, нейронная модель не может сохранять информацию в длинных входных последовательностях. Ключевой подход к решению этих исчезающих или взрывных проблем градиента состоял в том, чтобы моделировать RNN с отдельной памятью и «пропускать соединения». Память или состояние ячейки позволяли скрытым значениям состояния напрямую переходить либо в следующее состояние, либо через нейронная сеть для обновления частей памяти, основанная на логике стробирования. Эта концепция пропуска сети стала очень влиятельной для нейронных моделей с глубоким обучением и дала рождение наиболее выдающимся моделям RNN.Долгосрочная кратковременная память(LSTM) иЗакрытый рекуррентный блок(ГРУ). Эти новые варианты RNN полностью изменили ландшафт больших нейронных сетей, и к 2015 году LSTM достигли самых современных результатов в распознавании речи, машинном переводе, анализе и субтитрах изображений и стали наиболее доминирующим подходом для повторяющихся моделей.

Описанные выше RNN обуславливают прошедшую последовательность слов, чтобы предсказать следующее слово в последовательности. Можно делать предсказания на основе будущих слов, позволяя RNN читать входную последовательность в обратном направлении, то есть справа налево. Вдвунаправленный рннсеть поддерживает два скрытых уровня: один для распространения слева направо, а другой для распространения справа налево. Окончательный результат получается путем объединения баллов, полученных обоими скрытыми слоями RNN. RNN могут вычислять более сложные представления, используямногослойные рнн В этой сетевой архитектуре на данном временном шаге каждый нейрон получает один набор параметров из предыдущего временного шага и два набора параметров из предыдущего двунаправленного скрытого уровня RNN; один вход поступает от RNN слева направо, а другой - от RNN справа налево. Выходные данные на каждом шаге являются результатом распространения входных параметров по всем скрытым слоям.

Машинный перевод

Языковое моделирование было основой многих недавних достижений в обработке естественного языка. В 2014,последовательность за последовательностью(seq2seq), была предложена общая структура для отображения одной последовательности в другую с использованием нейронной сети.Нейронный машинный перевод (НМТ)было самым заметным применением модели seq2seq. В NMT две рекуррентные сети объединяются, как показано на рисунке 5 ниже.

Рисунок 5: Нейронный машинный перевод

Первая рекуррентная сеть (кодер RNN) считывает во входных предложениях и кодирует исходный язык в векторное представление, а вторая рекуррентная сеть (декодер RNN) действует как языковая модель, которая генерирует слова на целевом языке на основе состояния кодера и начальное начальное слово или ранее предсказанное слово. В модели NMT функция потерь вычисляется в конце сети декодера, и сеть обучается на большом корпусе пар предложений исходного и целевого языков. К 2016 году NMT был принят Google Translation и стал моделью для решения задач по созданию естественного языка. Помимо NMT, модель seq2seq полезна для задач суммирования, диалога и анализа.

Внимание

Системы NMT, построенные с использованием seq2seq, достигли значительных успехов, и они превзошли традиционные НЛП или статистические методы с компонентами, созданными вручную. Эти модели, однако, страдали от проблемы «узкого места» модели seq2seq, заключающейся в том, что вся информация исходного предложения была закодирована на выходе фиксированного размерного (размер скрытого состояния) действительного вектора кодера RNN, нет независимо от того, насколько длинным или сложным было предложение. Кроме того, процесс машинного перевода был непохож на то, как люди переводят предложения - человеческие переводчики оглядываются на исходное предложение и переводят его фрагменты по ходу, но модель NMT обрабатывает все исходное предложение в виде одного предложения.

Вниманиебыл одним из основных нововведений NMT, чтобы устранить узкое место в сетях seq2seq. С вниманием декодер оглядывается на скрытые состояния исходного предложения, чтобы сгенерировать целевое слово. Модель, показанная на рисунке 6, вычисляет оценку внимания с использованием вычисления сходства, которое является обобщенным точечным произведением, чтобы определить, какое скрытое состояние исходного предложения похоже на скрытое состояние декодера. Средневзвешенное значение оценок внимания предоставляется в качестве дополнительного ввода в декодер RNN. На рисунке 6 показано, как внимание включено в модель seq2seq.

Рисунок 6: Внимание в модели NMT seq2seq

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

К 2017 году, всего через два года после первых попыток исследования в области нейронного машинного перевода, NMT с вниманием использовался практически каждой технологической компанией, включая Google, Baidu, Facebook, Microsoft и Tencent, в коммерческих целях для перевода почти всех языковых пар.

Ответ на вопрос

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

Сегодня Википедия является крупнейшим и самым популярным источником справочной информации в Интернете. В английской Википедии более 5,8 миллионов статей. Таким образом, используя Википедию в качестве источника знаний, если мы зададим вопрос, «Какова ширина вулканической зоны в Исландии ?,«Мы ожидаем, что машина даст ответ»100–200 км». Это сложная задача для машин, требующая как понимания естественного языка, так и знаний о мире

Понимание машин на машинах было предпринято еще в1970-е годыНо после 2016 года после появления больших наборов данных, таких каккоманда, а такжеMS MARCO, Эти большие наборы данных сделали возможным обучение современным моделям нейронных сетей с интенсивным использованием данных и обеспечили успешное понимание прочитанного и ответы на вопросы.

Ответы на вопросы из коллекции документов, такой как Википедия, представляют собой двухэтапный процесс. На первом этапе небольшое количество документов, которые «соответствуют» данному вопросу, извлекаются с использованием традиционных методов поиска информации. На втором этапе машинный считыватель применяет понимание чтения к небольшому количеству извлеченных документов, чтобы идентифицировать ответ как текстовый интервал в документе (рисунок 9). Процесс принятия вопросов на естественном языке в качестве входных данных, а не набора ключевых слов, и возврата фрагментов текста в качестве ответа известен как ответ на вопрос в открытой области.DrQAсистема понимания прочитанного, применяемая к общедоступным ответам на вопросы в масштабе из Википедии.

Рисунок 7: Ответ на вопрос открытого домена

На рисунке 7 показан общий ход работы системы ответов на вопросы в открытом домене. Система ответов на вопросы проходит через два основных шага, чтобы определить ответы на вопросы, Retriever Document и Reader. Document Retriever принимает в качестве входных данных вопрос и коллекцию всех документов Википедии. Он использует набор функций ранжирования, таких как TFIDF или BM25, для возврата набора документов с самым верхним соответствием. Document Reader использует нейронные методы, аналогичные используемым в языковом моделировании и нейронном машинном переводе. Слова вопроса кодируются как вложения слов, а затем пропускаются через двунаправленные LSTM для генерации кодирования вопроса. Выходные скрытые состояния как для прямого, так и для обратного направлений объединяются, чтобы дать окончательное представление вопроса. Для кодирования перехода используется стратегия для кодирования вопроса. Слова прохода кодируются с использованием вложения слов, а затем проходят через двунаправленный LSTM. Последние модели машинных ридеров все чаще используют подходы на основе трансформаторов дляуровень развитияспектакль.

Рисунок 8: Участки ответа выделены зеленым цветом для вопроса «Осадочные породы можно превратить в какие из трех типов камней?» (Источник:SQuAD Explorer)
Рисунок 9: Вычисление начальной и конечной позиций диапазона ответа

Нейронная сеть Document Reader идентифицирует отрезок отрывка, который является ответом на вопрос (рисунок 8). Механизм внимания используется для нахождения начальной и конечной позиции диапазона, соответствующего ответу в отрывке, как показано на рисунке 9. Оценка внимания рассчитывается с использованием обобщенного точечного произведения для прогнозирования начальной и конечной позиций диапазона.

Контекстное встраивание слов

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

В языковой модели, описанной выше на рисунке 4, можно представить, что скрытые состояния на разных временных шагах представляют значение слова в контексте. Исследователи использовали эту идею для обучения очень больших языковых моделей (Elmo,БЕРТ,GPT-2) для изучения значения слов в контексте, как показано на рисунке 10. Элегантность этого метода заключается в том, что модели можно обучать для изучения контекстуальных значений слов без присмотра, то есть без явной маркировки слов или текста. Самая удивительная вещь в развитии нейронных методов заключается в том, что это контекстное представление слов повысило производительность почти всех задач НЛП, таких как NER, NMT, QA, и дало результаты значительно лучше, чем предыдущие современные результаты. , Эти контекстные представления слов дали новую жизнь всем задачам НЛП и вдохновили инженеров и исследователей НЛП исследовать варианты нейронной архитектуры для дальнейшего повышения точности задач НЛП.

Рисунок 10. Контекстные модели представления слов

Существенным отличием в архитектуре моделей контекстного представления слов является то, что ELMo основан на модели языка на основе рекуррентной нейронной сети, но другие модели, например, BERT, GPT,на трансформаторной основе.Архитектура трансформатора, предложеннаяVaswani et al.показано на рисунке 11.

Рисунок 11: Архитектура модели Transformer (Источник:Васвани и соавт.)

Архитектура преобразователя заменяет рекуррентную модель последовательности-последовательности архитектурой, основанной на внимании. Трансформаторы широко используют внимание с глубокими вертикальными пакетами и остаточными соединениями, что дает им два существенных преимущества Во-первых, модель более распараллеливаема и, следовательно, быстрее обучается, а во-вторых, различные механизмы внимания выводят глобальные зависимости между вводом и выводом, что дает превосходные результаты при машинном переводе и других задачах обработки естественного языка. В то время как модели трансформаторов сейчас правятLeaderboardsдля многих задач НЛП размер моделей достигает сотен миллионов или даже миллиардов параметров. Это накладывает требования к памяти, которые ограничивают эти модели высокопроизводительными GPU или TPU. Недавняя работа была сосредоточена на оптимизированном методе предварительной подготовки трансформаторов без увеличения количества параметров (Roberta) и методы сокращения параметров (АЛЬБЕРТ) снизить потребление памяти и увеличить скорость обучения, одновременно улучшая производительность при выполнении последующих задач НЛП.

Вывод

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

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

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map