Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Векторные представления слов можно рассматривать как своеобразные «облака» слов в многомерном пространстве, размерность которого равна размерности используемых векторов. Это чрезвычайно удобно, поскольку в арсенале математики в целом и теории алгоритмов в частности существует множество методов обработки данных, представленных в таком виде, начиная от кластеризации и заканчивая быстрым поиском, на базе индексов, основанных на разбиении пространства множеством гиперплоскостей. Векторные представления слов позволяют создавать модели, работающие с мультимодальными данными, например с изображениями, снабжёнными подписями. Такие модели могут, например, изобретать подписи к изображениям или оценивать степень соответствия подписи и изображения. Вслед за векторами для отдельных слов стали появляться модели, способные построить векторные представления предложений (sentence2vec), абзацев (paragraph2vec) и даже целых документов (doc2vec) [2152] . Такие модели оказались весьма полезными в задачах поиска информации, классификации, перефразировки и реферирования текстов.
2152
Le Q. V., Mikolov T. (2014). Distributed Representations of Sentences and Documents // https://arxiv.org/abs/1405.4053
Обладая некоторой толикой фантазии, можно провести аналогию между векторными представлениями слов или их последовательностей
Концепция внимания — одна из идей, оказавших существенное влияние на развитие глубокого обучения во второй половине 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] .
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
Очевидным недостатком моделей, использующих вектор контекста фиксированной длины, является их неспособность запоминать более длинные последовательности. Часто модель «забывает» ранние части последовательности по мере её обработки. Именно для решения этой проблемы было предложено использовать механизм внимания.
Процессы, основанные на внимании, были неплохо изучены в рамках нейробиологии, в том числе вычислительной. Наиболее глубоко изученным аспектом является зрительное внимание: многие живые существа сосредотачиваются на определённых частях своих визуальных полей восприятия, чтобы среагировать на стимул должным образом. Принцип внимания в моделях машинного обучения сводится к тому, чтобы выбрать из большого набора входных данных лишь те, которые действительно необходимы для вычисления ответа модели.
В классическом варианте модели «кодировщик — декодер» в качестве вектора контекста используется внутреннее состояние кодировщика, возникшее после обработки завершающего элемента последовательности. Представим себе, что наша модель переводит с английского на русский фразу better late than never [лучше поздно, чем никогда]. Кодировщик, представляющий собой LSTM-сеть, последовательно получает на вход векторы, соответствующие словам better, late, than, never. Возникшее внутреннее состояние кодировщика передаётся как стартовое состояние в декодер. После этого на первом шаге выдачи декодер должен выдать на выход слово «лучше», однако информация о нём в полученном состоянии уже отчасти «забыта» LSTM-сетью. Именно поэтому Суцкевер и его коллеги обнаружили, что точность перевода увеличивается, если слова входной последовательности будут подаваться в кодировщик в обратном порядке: never, than, late, better. Исследователи тестировали свою систему для пары «английский — французский», и в такой родственной паре порядок следования слов в предложении нередко был практически одинаковым. Очевидно, что точность перевода можно было бы повысить ещё больше, если бы для первого слова перевода («лучше») наш декодер использовал состояние кодировщика, возникшее после подачи в него слова better, для второго слова перевода («поздно») — состояние, возникшее после подачи в кодировщик слов better и late, и так далее. Для этого нам нужно использовать на входе декодера все состояния кодировщика, возникавшие в процессе обработки последовательности, а также некоторый механизм, который позволил бы определить, в какой степени эти состояния важны для выбора правильного слова в текущем контексте. Именно такой механизм получил название «механизм внимания».
Человек может с лёгкостью понять принципы отображения фрагментов входной последовательности во фрагменты выходной последовательности. Нашей же модели для этого потребуется отдельная нейронная сеть, которая должна будет «постичь» эти принципы в процессе обучения. На вход этой сети (называемой «сетью внимания») мы будем подавать все состояния кодировщика, а также текущее состояние декодера, а на выходе будем получать набор весов для каждого из состояний кодировщика. Этот набор весов обычно нормализуется при помощи функции softmax
2155
Bahdanau D., Cho K., Bengio Y. (2015). Neural Machine Translation by Jointly Learning to Align and Translate / International Conference on Learning Representations (ICLR-2015) // https://arxiv.org/abs/1409.0473
2156
«В Минске пытался прибиться хоть куда-нибудь». Дима Богданов изобрёл механизм attention и работает с лауреатом премии Тьюринга. Говорим про ML и Монреаль (2019). / Dev.BY, 3 апреля 2019 // https://devby.io/news/dmitry-bogdanov
Ниже показан пример «матрицы внимания» для перевода: сверху идут слова исходного предложения на английском языке, слева по вертикали — слова его перевода на французский язык, а яркость пикселя показывает соответствие конкретных слов в оригинале и в переводе, полученное в результате работы механизма внимания. Чем ярче пиксель, тем в большей мере для декодера, производящего соответствующее слово перевода, важно состояние кодировщика после получения соответствующего слова оригинала.
Если бы во французском переводе порядок слов был в точности таким же, как в английском оригинале, то на картинке выше мы увидели бы диагональную линию из белых точек. Но поскольку в выражениях European Economic Area и zone economique europeenne соответствующие слова следуют в обратном порядке, то соответствующие им точки выбиваются из общего ряда.
Механизм внимания быстро завоевал популярность в сообществе специалистов по глубокому обучению, что привело к появлению множества модификаций этого метода. В конце 2014 г. на суд публики в виде препринтов или официальных публикаций было представлено сразу несколько работ, посвящённых применению механизма внимания при обработке изображений. Часть из них [2157] , [2158] , [2159] была написана исследователями из Google и DeepMind, среди которых было несколько аспирантов Хинтона, в том числе Володимир Мних, брат Андрия Мниха, а также уже знакомый нам соавтор Хинтона в деле разработки каскадного метода обучения глубоких сетей Руслан Салахутдинов. Использование механизма внимания для обработки изображений напоминает моделирование процесса разглядывания картинки, при котором человек поочерёдно концентрируется на отдельных частях изображения, чтобы рассмотреть их более детально, и только после этого делает окончательный вывод в отношении всего изображения в целом. Отсюда и специфическая терминология, использованная при описании модели: «сеть быстрого взгляда» [glimpse network], «кодирование сетчатки» [retina encoding] и так далее.
2157
Mnih V., Heess N., Graves A., Kavukcuoglu K. (2014). Recurrent Models of Visual Attention / Proceedings of the 27th International Conference on Neural Information Processing Systems, Vol. 2, pp. 2204–2212 // https://papers.nips.cc/paper/5542-recurrent-models-of-visual-attention.pdf
2158
Ba J. L., Mnih V., Kavukcuoglu K. (2015). Multiple object recognition with visual attention / International Conference on Learning Representations (ICLR-2015) // https://arxiv.org/abs/1412.7755
2159
Vinyals V., Toshev A., Bengio S., Erhan D. (2015). Show and Tell: A Neural Image Caption Generator / 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) // https://doi.org/10.1109/CVPR.2015.7298935
В ещё одной статье, под названием «Покажи, проследи и скажи: нейросетевая генерация подписей к изображениям с использованием визуального внимания» (Show, Attend and Tell: Neural Image Caption Generation with Visual Attention) [2160] , написанной группой молодых исследователей под руководством Бенджио, на свет появилась «жёсткая» [hard] разновидность внимания, в которой вектор баллов выравнивания был one-hot-вектором. По сути, такая модель внимания на каждом шаге должна выбрать какое-то одно определённое состояние кодировщика, которое будет использовано декодером, в то время как классическое «мягкое» [soft] внимание может «смешивать» состояния кодировщика в некоторой пропорции.
2160
Xu K., Ba J. L., Kiros R., Cho K., Courville A., Salakhutdinov R., Zemel R. S., Bengio Y. (2015). Show, Attend and Tell: Neural Image Caption Generation with Visual Attention / Proceedings of the 32nd International Conference on International Conference on Machine Learning, Vol. 37, pp. 2048—2057 // http://proceedings.mlr.press/v37/xuc15.pdf
Помимо жёсткого и мягкого, внимание может быть локальным [local] и глобальным [global]. Глобальное внимание работает с полным набором состояний кодировщика, в то время как локальное использует только некоторые состояния, находящиеся внутри некоторого «окна» заданного размера. Если в качестве центра этого окна используется номер шага декодера, такое локальное внимание называется монотонным [monotonic], если же положение центра окна определяется на основе внутреннего состояния декодера, то такое локальное внимание называется предиктивным [predictive].
На границе империй. Том 9. Часть 5
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Господин моих ночей (Дилогия)
Маги Лагора
Любовные романы:
любовно-фантастические романы
рейтинг книги
Начальник милиции. Книга 4
4. Начальник милиции
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Сама себе хозяйка
Любовные романы:
любовно-фантастические романы
рейтинг книги
Кодекс Крови. Книга V
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Бастард Императора. Том 8
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Газлайтер. Том 10
10. История Телепата
Фантастика:
боевая фантастика
рейтинг книги
Новый Рал 4
4. Рал!
Фантастика:
попаданцы
рейтинг книги
Метаморфозы Катрин
Фантастика:
фэнтези
рейтинг книги
Возвышение Меркурия
1. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
рейтинг книги
Графиня Де Шарни
Приключения:
исторические приключения
рейтинг книги
