Open Aktsvigun opened 2 years ago
https://arxiv.org/ftp/arxiv/papers/2109/2109.01754.pdf
В голосовых ассистентах NLU состоит из нескольких моделей, каждая из которых занимается one-vs-all классификацией своей категории (музыка, погода и т.д.), и Reranker который ранжирует категории по выводу этих моделей.
Из-за такой архитектуры в случае неправильной классификации очень трудно понять из-за чего возникла ошибка. Авторы хотят построить модель, которая для выбранной категории определяет False Reject (что объект ошибочно отнесен к другой категории). Для этого авторы построили multitask learning модель которая одновременно определяет класс и FR. Она состоит из роберты и N-best module и полносвязанного слоя на их выходах. N-best module берет N самых вероятных гипотез из реранкера NLU модели и строит для каждой шестимерный эмбеддинг. Эти токены конкатенируются с друг другом и 1024-мерным CLS токеном роберты и подаются на вход полносвязанному слою.
https://arxiv.org/abs/1909.07606
Статья про встраивание графа знаний в трансформер.
Что бы использовать информацию из графа знаний авторы строят для каждого предложения sentence tree. Изначальное предложение - 'ствол' дерева. Для каждого слова в предложении проверяют вхождение в граф знаний и вставляют ветки вида 'субъект (слово из предложения)' - 'отношение' - 'объект'.
Далее считают soft index и hard index. Soft index вершины дерева - это расстояние до начала дерева (т.е. [CLS]). Hard index считается следующим образом - начинаем идти из начала дерева и нумеруем все вершины, если в вершине есть ветки, то сначала проходим по всем веткам (порядок не важен), затем идем дальше по стволу.
Hard index нужен для того что бы получить последовательность токенов которую можно подать в энкодер. Soft index нужен для position embedding т.к. hard index часто увеличивает расстояние между словами.
Последовательность токенов получаемая с помощью hard index не похожа на предложение и содержит несвязанные между собой токены (ветки из разных вершин ствола), поэтому авторы используют masked attention, что бы построении эмбеддингов не смотреть на лишние слова.
Для вершин из ствола маскируем все ветки начинающиеся из других вершин. Для вершин не из ствола маскируем все кроме текущей ветки.
Далее просто подаем все на вход берту, где вместо self-attention слоев используются masked self-attention.
Авторы работали с китайским языком и китайскими датасетами, поэтому сравнить качество с другими моделями сложно.
Measuring and Improving BERT’s Mathematical Abilities by Predicting the Order of Reasoning
https://aclanthology.org/2021.acl-short.49.pdf
Авторы пытаются научить берт решать несложные математические задачи. Используют датасет AQuA-RAT, состоящий из задач с пятью вариантами ответа, и пошаговых решений к задачам из трейн сета. Пример (кажется, варианты ответа в первом примере неправильные):
Идея в том, что бы с помощью пошаговых решений научить модель понимать логику решений.
Self-supervised losses
Модели
Во всех случаях берут предобученный на википедии и корпусе книг берт и файн тюнят.
Результаты
Две последние модели гибридные (используют программы)
Важность пошаговых решений
В решениях в 1.7 раз больше токенов чем в самих задачах, поэтому может оказаться что пошаговые решения помогают модели лучше учиться за счет увеличения объема данных. Авторы сравнили модели обученные на выборках с равным числом токенов.
Сравнение эмбеддингов
Permutation consistency
Для каждой задачи делали 5 перестановок сдвигом ответов, и засчитывали правильное решение, только если модель выдавала правильный ответ во всех 5 случаях.
Пробовали различные способы увеличить permutation accuracy, но они не увеличивали итоговый accuracy на тесте.
Анализ сложности задач
Поделили задачи на легкие (1), средние (2-3) и тяжелые (4-5), в зависимости от того, на каком месте по вероятности находится правильный ответ. Далее вручную проанализировали типы задач в категориях. В тяжелые попали в основном задачи требующие знания внешних фактов, геометрия и нелинейные уравнения. В средние уравнения или системы нелинейных уравнений, в легкие задачи, решающиеся с помощью одной или двух базовых операций. Так же заметили что базовый берт пытается выбирать выделяющиеся ответы (например нецелые, если все остальные целые), у BERT-(N)ROP такого не наблюдается. Провели исследование на студентах матфака, что бы сравнить сложность оценку сложности задач моделей и людей.