Коротко о применении NSM в KBQA
Бумага: Улучшение ответов на вопросы базы знаний с несколькими сегментами путем изучения промежуточных сигналов контроля
адрес:Войдите на .ACM.org/do i/ABS/10. …
Исходный код:GitHub.com/Ричард Х.Г. л/…
предложить фон
Недостатки традиционной схемы KBQA: вопрос требует нескольких переходов в базе знаний, чтобы получить ответ, но обратную связь можно получить только после получения окончательного ответа, а промежуточные результаты теряются. То есть в процессе обучения модель только смотрит на ответ и не дает ему конкретного процесса рассуждения, что делает обучение модели нестабильным и неэффективным.
Поэтому схема, предложенная в данной статье, разделена на студенческую сеть (студент) и учительскую сеть (учитель), которая опирается на идею дистилляции знаний (обычно отрасль рассматривает дистилляцию знаний как метод сжатия моделей, а также доказано, что программные метки могут помочь студенческим сетям повысить производительность).
-
Цель студенческой сети – найти правильные ответы на вопросы
-
Сеть учителей сочетает в себе прямое и обратное рассуждение в обучении для создания промежуточного процесса рассуждений (то есть пути «сущность-связь»), а сеть учеников может продолжать учиться на выходе сети учителей.
-
Рассуждение в прямом направлении: от объекта темы -> объект ответа
-
Обратное рассуждение: из сущности ответа -> сущность темы
-
-
Зеленый — это объект темы, красный — объект ответа, желтый — промежуточный объект вывода, а серый — нерелевантный объект.
-
Синяя линия — ложные рассуждения, а красная — истинные рассуждения.
-
Видно, что в прямом процессе рассуждений получаются два промежуточных результата — скала гроба и дверь дьявола, но обратное рассуждение не может достичь этих двух промежуточных результатов, поэтому путь через Роберта Тейлора можно отфильтровать.
конкретный метод
Цель обучения студенческой сети состоит в том, чтобы сфокусировать ее на задаче KBQA, а студенческая сеть выполняет только опережающие рассуждения. Цель обучения сети учителей состоит в том, чтобы обеспечить промежуточный процесс рассуждений для сети учеников, то есть это все еще шаг дистилляции знаний.Сначала обучите учителя, а затем используйте комбинацию учителя и истинной истины для обучения. студент.
-
И ученик, и учитель используют модель NSM (Neural State Machine), которая постепенно изучает распределение сущностей в процессе многошагового рассуждения (KGE не используется)
-
NSM также содержит два модуля: компонент инструкции и компонент рассуждения.
Прежде чем вводить два модуля, сначала используйте GloVe, чтобы вставить последовательность слов задачи, а затем используйте кодировщик LSTM, чтобы получить скрытые состояния задачи..длина вопроса,,является окончательным результатом LSTM.
instruction component
Компонент инструкции специально считывает различные фокусы проблемы и получает вектор инструкций списка.
: вектор инструкций, полученный на шаге k, который впоследствии вводится в компонент рассуждений, как показано на рисунке.
Формула компонента инструкции:
: Эти параметры необходимо изучить в процессе обучения.
: будет n векторов команд после n-шагового вывода
reasoning component
Компонент рассуждения сначала сопоставляет вектор инструкций со всеми отношениями, содержащимися в соседнем подграфе, полученном текущим объектом темы, а затем умножает распределение вероятности объекта, полученное на предыдущем шаге, и суммирует его, чтобы получить вложение объекта текущего шага. . Внедрение объекта текущего шага и внедрение объекта предыдущего шага объединяются в сеть FF, объединяют информацию о них, обновляют вложения всех текущих объектов, а затем используют матрицу внедрения для обновления распределения вероятности объекта.
Компонент рассуждения всегда вычисляется под подграфом, относящимся к объекту темы, что является недостатком рассуждения подграфа.Если подграф не содержит ответа, то результат рассуждения неверен, несмотря ни на что.
Вход этого модуля содержит вектор инструкций текущего шага, а также распределение сущностей и встраивание сущностей вывода предыдущего шага, а выход — распределение сущностей.и встраивание сущностей
Исходное вложение сущности под конкретным e:
является сущностьюмножество соседей,
данная тройка, вектор соответствияОн получается из вектора инструкций и вектора отношения текущего шага:
в
После отношения совпадения и инструкции интегрируйте вектор совпадения и получите от предыдущего шагаВероятность
: это сущностьВероятность
Затем обновите внедрение объекта:
Наконец, рассчитайте вероятность распределения промежуточного объекта:
представляет собой матрицу для k-го вывода, а каждый столбец представляет собой вектор вложения объекта
Две архитектуры вывода
-
Параллельное рассуждение: две модели NSM, одна для прямого рассуждения и одна для обратного, параллельно без совместного использования параметров.
-
Гибридное рассуждение: разделяйте модуль инструкций, зацикливайте вперед и назад, сначала выполняйте прямое рассуждение, а затем конечный результат прямого рассуждения является начальным вводом обратного рассуждения.
Нижний индекс b является результатом обратного рассуждения, а нижний индекс f является результатом прямого рассуждения.
Рассмотрение убытка
teacher
В основном учитываются две потери:
- потеря причины: то есть является ли окончательный результат правильным, а тот, помеченный *, является Истинной Основой, то есть распределением вероятности, преобразованным в частоту
- потеря соответствия: верен ли промежуточный результат, совпадают ли k-й шаг прямого рассуждения и n-k шаг обратного рассуждения
- Наконец, рассмотрим комбинацию вышеперечисленного:, являются гиперпараметрами, которые контролируют вес соответствующей потери
student
После сходимости обучения сети учителей можно использовать распределение вероятностей промежуточных объектов, полученное сетью учителей.
Тогда ученик просто выполняет прямое рассуждение, но использует промежуточный результат, полученный учителем, L1 — совпадение конечного результата, а L2 — совпадение между промежуточным результатом, полученным учеником в процессе рассуждения, и промежуточным результатом, полученным в процессе рассуждения. учитель ? также является гиперпараметром. Отрегулируйте тренировочные веса.
Наконец
Я не обновлял свой блог около года, последнее обновление было незадолго до начала аспирантуры, когда я еще возился с основами машинного обучения. После одного года обучения он был полностью преобразован в программирование, ориентированное на Pytorch. . Каждый день смотрите на бумагу, запускайте модель и так далее. Теперь я выхожу на стажировку во время летних каникул, подвожу итоги того, что я узнал каждый день, и присылаю инвентарь, ха-ха