В то время как модели искусственного интеллекта, превосходящие человеческие возможности, больше не являются чем-то неслыханным, новый монстр только что превзошел человеческие возможности, опять же, в этом вопросе и ответе на задачу SQuAD 2.0. См. Ниже их таблицу лидеров:
Если мы посмотрим, что там: BERT, языковая модель рок-звезды от Google, довольно хорошо известная с момента ее дебюта в октябре 2018 года; DAE означает «расширение данных» и «адаптация домена»; AoA, что подождать?
Что ж, оказывается, что AoA означает Внимание больше внимания; в то время как то, что используется в BERT, является типичным самовниманием или преобразователем. AoA впервые представлен в Cui et al 2016, а затем улучшен в Cui et al 2017. Если добавление AoA улучшает результаты BERT, AoA должно делать что-то, на что самовнимание не способно. Итак, чем они отличаются?
Для начала давайте быстро напомним, как работает самовнимание. Интуитивно механизм внимания направлен на создание векторных представлений входных слов эффективным и действенным способом (его преимущество перед структурами RNN / LSTM заключается в его способности распараллеливать вычисления, а также в лучшем захвате зависимости на большом расстоянии). Самовнимание, вероятно, самый простой и наиболее широко используемый тип внимания в работе НЛП. На приведенном ниже графике ясно показано, как работает многоголовое самовнимание (источник: https://jalammar.github.io/illustrated-transformer/):
В приведенном выше примере у нас есть исходный текст «Thinking Machines», который будет преобразован в векторные представления слов X. На следующем шаге мы используем три весовые матрицы W ^ {Q}, W ^ {K} и W ^ { V} для преобразования этих векторов слов в три представления: запросы, ключи и значения. Затем Q, K, V используются для генерации Z, который является выходным сигналом слоя внимания. Подробное объяснение расчетов можно найти во многих источниках и не является основной целью данной статьи.
Так что насчет AoA? У Attention-over-Attention есть в чем-то схожие ядра, такие как Self-Attention, в том смысле, что они оба пытаются получить сходство между запросом и предложением / документом и используют это для создания «сопровождаемых представлений» для запрос. Однако между ними есть важные различия.
Во-первых, механизм AoA, представленный в их статье 2017 года, запускает свой уровень внимания на основе выходных данных скрытого состояния RNN (или, точнее, GRU). Более конкретно, представление каждого слова равно объединению скрытых состояний из прямых и обратных RNN. Это называется «контекстным встраиванием» документа.
В BERT, как упоминалось выше, RNN нигде не присутствует. Соответствующее «контекстное встраивание» в BERT представляет собой сумму встраивания токенов, позиционных встраиваний и встраиваний сегментов. Встраивание токенов похоже на встраивание слов, к которому мы привыкли, за исключением того, что оно более детализировано. Такие слова, как «игра», будут разделены на «играть» и «инг» и получат свои токены вложения соответственно. Позиционное и сегментное встраивание используется для добавления дополнительной последовательной и контекстной информации в исходное встраивание токена. Затем мы используем встраивание токенов для генерации запросов, ключей и значений.
На следующем этапе два подхода имеют наибольшее сходство. Как показано слева, механизм внимания в BERT получает внутренний продукт Q (запросы) и K (ключи), нормализует его, а затем применяет softmax. Точно так же AoA получает внутренний продукт контекстного встраивания для документа и запроса. Он получает softmax этого результата по столбцам, который называется «запросом на документальное внимание».
В то время как BERT будет использовать результат внутреннего произведения Q и K в качестве веса для V, AoA использует его немного иначе. В дополнение к вниманию от запроса к документу, которое генерируется с помощью softmax по столбцам, он вычисляет внимание от документа к запросу с использованием усредненного по строкам softmax. Затем он использует скалярное произведение двух типов внимания, чтобы напрямую генерировать окончательные прогнозы P. Усредненный построчный softmax играет такую же роль, как внимание над вниманием, и то, откуда взялось название.
Как можно заметить, AoA особенно подходит для таких задач, как SQuAD. Для данного документа и запроса (вопроса) он сможет напрямую определить вероятность того, что каждое слово / токен в исходном документе является ответом. BERT, с другой стороны, генерирует выходные данные Z из уровней внимания, и эти выходные данные необходимо будет передать в другой блок нейронных сетей прямого распространения для обучения выполнению следующей задачи. Другими словами, BERT - это предварительно обученная модель общего назначения, которую можно точно настроить для различных последующих задач, как описано в их исходной статье.
Как мы видим на доске SQuAD, ансамбль AoA и Bert пока что имеет лучшую производительность для этого вопроса и ответа на задачу. Из этого результата мы можем сделать один вывод: хотя мы пытались критиковать неэффективность вычислений и неправильный улов долгосрочной зависимости для RNN, он все же может быть ценным в том смысле, что он может лучше захватывать контекстную информацию через его естественная последовательная структура.