Коротко о применении NSM в KBQA

искусственный интеллект глубокое обучение

Коротко о применении NSM в KBQA

Бумага: Улучшение ответов на вопросы базы знаний с несколькими сегментами путем изучения промежуточных сигналов контроля

адрес:Войдите на .ACM.org/do i/ABS/10. …

Исходный код:GitHub.com/Ричард Х.Г. л/…

предложить фон

Недостатки традиционной схемы KBQA: вопрос требует нескольких переходов в базе знаний, чтобы получить ответ, но обратную связь можно получить только после получения окончательного ответа, а промежуточные результаты теряются. То есть в процессе обучения модель только смотрит на ответ и не дает ему конкретного процесса рассуждения, что делает обучение модели нестабильным и неэффективным.

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

  • Цель студенческой сети – найти правильные ответы на вопросы

  • Сеть учителей сочетает в себе прямое и обратное рассуждение в обучении для создания промежуточного процесса рассуждений (то есть пути «сущность-связь»), а сеть учеников может продолжать учиться на выходе сети учителей.

    • Рассуждение в прямом направлении: от объекта темы -> объект ответа

    • Обратное рассуждение: из сущности ответа -> сущность темы

fig1.png

  • Зеленый — это объект темы, красный — объект ответа, желтый — промежуточный объект вывода, а серый — нерелевантный объект.

  • Синяя линия — ложные рассуждения, а красная — истинные рассуждения.

  • Видно, что в прямом процессе рассуждений получаются два промежуточных результата — скала гроба и дверь дьявола, но обратное рассуждение не может достичь этих двух промежуточных результатов, поэтому путь через Роберта Тейлора можно отфильтровать.

конкретный метод

Цель обучения студенческой сети состоит в том, чтобы сфокусировать ее на задаче KBQA, а студенческая сеть выполняет только опережающие рассуждения. Цель обучения сети учителей состоит в том, чтобы обеспечить промежуточный процесс рассуждений для сети учеников, то есть это все еще шаг дистилляции знаний.Сначала обучите учителя, а затем используйте комбинацию учителя и истинной истины для обучения. студент.

  • И ученик, и учитель используют модель NSM (Neural State Machine), которая постепенно изучает распределение сущностей в процессе многошагового рассуждения (KGE не используется)

  • NSM также содержит два модуля: компонент инструкции и компонент рассуждения.

fig2.png

Прежде чем вводить два модуля, сначала используйте GloVe, чтобы вставить последовательность слов задачи, а затем используйте кодировщик LSTM, чтобы получить скрытые состояния задачи.{hj}j=1n\{h_j\}_{j=1}^{n}.llдлина вопроса,q=hlq = h_l,qqявляется окончательным результатом LSTM.

instruction component

Компонент инструкции специально считывает различные фокусы проблемы и получает вектор инструкций списка.

i(k)еRdi^{(k) \in R^d}: вектор инструкций, полученный на шаге k, который впоследствии вводится в компонент рассуждений, как показано на рисунке.

Формула компонента инструкции:

fig3.png

fig4.png: Эти параметры необходимо изучить в процессе обучения.

{i(k)}k=1n\{i^{(k)}\}_{k=1}^n: будет n векторов команд после n-шагового вывода

reasoning component

Компонент рассуждения сначала сопоставляет вектор инструкций со всеми отношениями, содержащимися в соседнем подграфе, полученном текущим объектом темы, а затем умножает распределение вероятности объекта, полученное на предыдущем шаге, и суммирует его, чтобы получить вложение объекта текущего шага. . Внедрение объекта текущего шага и внедрение объекта предыдущего шага объединяются в сеть FF, объединяют информацию о них, обновляют вложения всех текущих объектов, а затем используют матрицу внедрения для обновления распределения вероятности объекта.

Компонент рассуждения всегда вычисляется под подграфом, относящимся к объекту темы, что является недостатком рассуждения подграфа.Если подграф не содержит ответа, то результат рассуждения неверен, несмотря ни на что.

Вход этого модуля содержит вектор инструкций текущего шага, а также распределение сущностей и встраивание сущностей вывода предыдущего шага, а выход — распределение сущностей.p(k)p^{(k)}и встраивание сущностей{e(k)}\{e^{(k)}\}

Исходное вложение сущности под конкретным e:

fig5.png

NeN_eявляется сущностьюeeмножество соседей,WTеRd×dW_T \in R^{d \times d}

данная тройка<e',r,e><e',r,e>, вектор соответствияm<e',r,e>(k)m_{<e',r,e>}^{(k)}Он получается из вектора инструкций и вектора отношения текущего шага:

fig6.png

вWRеRd×dW_R \in R^{d \times d}

После отношения совпадения и инструкции интегрируйте вектор совпадения и получите от предыдущего шагаe'e'Вероятность

fig7.png

pe'(k1)p_{e'}^{(k-1)}: это сущностьe'e'Вероятность

Затем обновите внедрение объекта:fig8.png

Наконец, рассчитайте вероятность распределения промежуточного объекта:fig9.png

E(k)E^{(k)}представляет собой матрицу для k-го вывода, а каждый столбец представляет собой вектор вложения объекта

Две архитектуры вывода

fig10.png

  • Параллельное рассуждение: две модели NSM, одна для прямого рассуждения и одна для обратного, параллельно без совместного использования параметров.

  • Гибридное рассуждение: разделяйте модуль инструкций, зацикливайте вперед и назад, сначала выполняйте прямое рассуждение, а затем конечный результат прямого рассуждения является начальным вводом обратного рассуждения.

fig11.png

Нижний индекс b является результатом обратного рассуждения, а нижний индекс f является результатом прямого рассуждения.

Рассмотрение убытка

teacher

В основном учитываются две потери:

  • потеря причины: то есть является ли окончательный результат правильным, а тот, помеченный *, является Истинной Основой, то есть распределением вероятности, преобразованным в частоту

fig12.png

  • потеря соответствия: верен ли промежуточный результат, совпадают ли k-й шаг прямого рассуждения и n-k шаг обратного рассуждения

fig13.png

  • Наконец, рассмотрим комбинацию вышеперечисленного:λbе(0,1)and λcе(0,1)\lambda_b \in (0 , 1) \, and \, \lambda_c \in (0 , 1), являются гиперпараметрами, которые контролируют вес соответствующей потери

fig14.png

student

После сходимости обучения сети учителей можно использовать распределение вероятностей промежуточных объектов, полученное сетью учителей.

fig15.png

Тогда ученик просто выполняет прямое рассуждение, но использует промежуточный результат, полученный учителем, L1 — совпадение конечного результата, а L2 — совпадение между промежуточным результатом, полученным учеником в процессе рассуждения, и промежуточным результатом, полученным в процессе рассуждения. учитель ? также является гиперпараметром. Отрегулируйте тренировочные веса.

fig16.png

Наконец

Я не обновлял свой блог около года, последнее обновление было незадолго до начала аспирантуры, когда я еще возился с основами машинного обучения. После одного года обучения он был полностью преобразован в программирование, ориентированное на Pytorch. . Каждый день смотрите на бумагу, запускайте модель и так далее. Теперь я выхожу на стажировку во время летних каникул, подвожу итоги того, что я узнал каждый день, и присылаю инвентарь, ха-ха