Литмир - Электронная Библиотека
Содержание  
A
A

6.3.3.4 Наследники word2vec. Концепция «внимания»

Успехи в обуздании семантики означали неминуемый прогресс в самых разных областях обработки естественного языка: в определении семантической близости слов, обнаружении синонимов, категоризации понятий, создании диалоговых моделей, машинном переводе, сентимент-анализе и интент-анализе (определении смысла высказываний), оценке похожести стилей текстов и так далее[2141], [2142], [2143].

Вслед за word2vec Миколова и его коллег на свет появилось множество альтернативных векторных моделей: GloVe[2144], fastText[2145], ELMo[2146], Indra[2147] и так далее. Аналогичные подходы стали практиковаться в смежных областях, например в биоинформатике, где появились векторные представления для элементов биологических последовательностей, такие как ProtVec[2148], BioVec, GeneVec[2149], Mol2vec[2150], SPVec[2151].

Появление инструментов для построения эффективных словарных эмбеддингов, подобных word2vec, ознаменовало собой начало первой коннекционистской революции в обработке естественного языка и сформировало «лицо» моделей, использовавшихся в этой области в середине 2010-х гг. Типичным инструментом в эти годы стали рекуррентные сети (обычно LSTM), получавшие на вход последовательности векторов, соответствовавших словам текста. Иногда эти векторы обогащались путём добавления дополнительных компонент. Например, если слово содержится в некотором специальном списке (допустим, в перечне фамилий или имён людей, в словаре русского мата и т. д.), то дополнительная компонента вектора может принимать значение, равное 1, а в противном случае — значение 0. Для числительных можно в качестве дополнительной компоненты вектора использовать соответствующее числовое значение; например, для слова «первый» оно будет равно 1, для слова «семидесятый» — 70 и так далее.

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

Векторные представления слов можно рассматривать как своеобразные «облака» слов в многомерном пространстве, размерность которого равна размерности используемых векторов. Это чрезвычайно удобно, поскольку в арсенале математики в целом и теории алгоритмов в частности существует множество методов обработки данных, представленных в таком виде, начиная от кластеризации и заканчивая быстрым поиском, на базе индексов, основанных на разбиении пространства множеством гиперплоскостей. Векторные представления слов позволяют создавать модели, работающие с мультимодальными данными, например с изображениями, снабжёнными подписями. Такие модели могут, например, изобретать подписи к изображениям или оценивать степень соответствия подписи и изображения. Вслед за векторами для отдельных слов стали появляться модели, способные построить векторные представления предложений (sentence2vec), абзацев (paragraph2vec) и даже целых документов (doc2vec)[2152]. Такие модели оказались весьма полезными в задачах поиска информации, классификации, перефразировки и реферирования текстов.

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

Концепция внимания — одна из идей, оказавших существенное влияние на развитие глубокого обучения во второй половине 2010-х гг. Несмотря на то что этот механизм в настоящее время используется в самых разных задачах, изначально он был разработан в контексте нейросетевого машинного перевода, основанного на seq2seq-моделях.

Модели seq2seq обычно основаны на архитектуре «кодировщик — декодер» [encoder-decoder], в которой часть модели, называемая кодировщиком, обработав входную последовательность, формирует вектор контекста [context vector] (также называемый иногда вектором мысли [thought vector]), имеющий фиксированную длину. Ожидается, что это представление будет своеобразной выжимкой, обобщением для всей входной последовательности. Затем другая часть модели, называемая декодером, получив на вход вектор контекста, начинает генерировать выходную последовательность. Распространён приём использования рекуррентных сетей в качестве кодировщика и декодера, что позволяет модели работать с последовательностями переменной длины. При этом источник потенциальной проблемы заключается в том, что размер вектора контекста — фиксированный, и если он окажется недостаточным, то при работе с длинными последовательностями часть информации будет теряться. Напротив, при слишком большом векторе контекста число параметров модели может оказаться избыточным и она будет склонна к переобучению. К счастью, разброс предложений естественного языка по длине не так уж велик, что делает идею с рекуррентными кодировщиком и декодером жизнеспособной. В 2013 г. свет увидела статья двух исследователей из Оксфорда — Нала Калчбреннера и Фила Блансома — под названием «Рекуррентные непрерывные модели перевода» (Recurrent Continuous Translation Models)[2153]. В ней впервые в задаче машинного перевода была использована архитектура «кодировщик — декодер», однако в качестве кодировщика использовалась свёрточная нейронная сеть над векторами представлений слов, которые, в свою очередь, были продуктами модели RNNLM. Полностью рекуррентный кодировщик был представлен в работе 2014 г., выполненной группой аспирантов под руководством Бенджио. В том же году на ежегодной конференции NIPS (Conference on Neural Information Processing Systems, Конференция по нейросетевым системам обработки информации) команда исследователей из Google, в составе уже знакомого нам Ильи Суцкевера, Ориола Виньялса и Куока Ле, представила систему машинного перевода, основанную на модели seq2seq, в которой роли кодировщика и декодера выполняли упомянутые ранее сети с долгой краткосрочной памятью (LSTM-сети)[2154].

Очевидным недостатком моделей, использующих вектор контекста фиксированной длины, является их неспособность запоминать более длинные последовательности. Часто модель «забывает» ранние части последовательности по мере её обработки. Именно для решения этой проблемы было предложено использовать механизм внимания.

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

вернуться

2141

Baroni M., Dinu G., Kruszewski G. (2014). Don’t count, predict! A systematic comparison of context-counting vs. context-predicting semantic vectors / Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) // https://doi.org/10.3115/v1/P14-1023

вернуться

2142

Sivakumar S., Videla L. S., Rajesh Kumar T., Nagaraj J., Itnal S., Haritha D. (2020). Review on Word2Vec Word Embedding Neural Net / 2020 International Conference on Smart Electronics and Communication (ICOSEC) // https://doi.org/10.1109/icosec49089.2020.9215319

вернуться

2143

Adewumi T. P., Liwicki F., Liwicki M. (2020). Word2Vec: Optimal Hyper-Parameters and Their Impact on NLP Downstream Tasks // https://arxiv.org/abs/2003.11645

вернуться

2144

Pennington J., Socher R., Manning C. (2014). GloVe: Global Vectors for Word Representation / Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1532–1543. // https://doi.org/10.3115/v1/D14-1162

вернуться

2145

Bojanowski P., Grave E., Joulin A., Mikolov T. (2016). Enriching Word Vectors with Subword Information // https://arxiv.org/abs/1607.04606

вернуться

2146

Peters M. E., Neumann M., Iyyer M., Gardner M., Clark C., Lee K., Zettlemoyer L. (2018). Deep contextualized word representations // https://arxiv.org/abs/1802.05365

вернуться

2147

Sales J. E., Souza L., Barzegar S., Davis B., Freitas A., Handschuh S. (2018). Indra: A Word Embedding and Semantic Relatedness Server / Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018) // https://aclanthology.org/L18-1211/

вернуться

2148

Asgari E., Mofrad M. R. K. (2015). ProtVec: A Continuous Distributed Representation of Biological Sequences // https://arxiv.org/abs/1503.05140

вернуться

2149

Asgari E., Mofrad M. R. K. (2015). Continuous Distributed Representation of Biological Sequences for Deep Proteomics and Genomics / PLoS One, Vol. 10 (11), e0141287 // https://doi.org/10.1371/journal.pone.0141287

вернуться

2150

Jaeger S., Fulle S., Turk S. (2017). Mol2vec: Unsupervised Machine Learning Approach with Chemical Intuition. / Journal of Chemical Information and Modeling, Vol. 58. Iss. 1, pp. 27–35. // https://doi.org/10.1021/acs.jcim.7b00616

вернуться

2151

Zhang Y.-F., Wang X., Kaushik A.C., Chu Y., Shan X., Zhao M.-Z., Xu Q., Wei D.-Q. (2020). SPVec: A Word2vec-Inspired Feature Representation Method for Drug-Target Interaction Prediction / Frontiers in Chemistry, 2020-01-10. // https://doi.org/10.3389/fchem.2019.00895

вернуться

2152

Le Q. V., Mikolov T. (2014). Distributed Representations of Sentences and Documents // https://arxiv.org/abs/1405.4053

вернуться

2153

Kalchbrenner N., Blunsom P. (2014). Recurrent Continuous Translation Models / Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pp. 1700—1709 // https://www.aclweb.org/anthology/D13-1176/

вернуться

2154

Sutskever I., Vinyals O., Le Q. V. (2014). Sequence to Sequence Learning with Neural Networks / Proceedings of the 27th International Conference on Neural Information Processing Systems, Vol. 2, pp. 3104–3112 // https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf

224
{"b":"936964","o":1}