Выравнивание меток в обучении RNN Transducer

Я пытаюсь понять, как RNN Transducer обучается с наземными метками правды. В случае CTC я знаю, что модель обучена с функцией потерь, которая суммирует все оценки всех возможных выравниваний наземных истинных меток.

Но в RNN-T сеть прогнозирования должна получать входные данные с последнего шага для получения выходных данных, аналогичных методу "принуждения учителя". Но мое сомнение здесь заключается в том, следует ли преобразовывать основные метки истинности во все возможные выравнивания с пустыми метками и направлять каждое выравнивание в сеть методом принуждения учителя?

1 ответ

RNN-T имеет сеть транскрипции (аналог акустической модели), сеть прогнозирования (языковая модель) и объединенную сеть (/ функцию, в зависимости от реализации), которая объединяет выходные данные сети прогнозирования и сети транскрипции.

Во время обучения вы обрабатываете каждое высказывание следующим образом:

  • Распространение всех T акустических кадров через сеть транскрипции и сохранение результатов (скрытые состояния сети транскрипции)
  • Распространение последовательности меток наземной истинности, длиной U, через сеть прогнозирования, передавая вектор с нулем в начале последовательности. Обратите внимание, что вам не нужно беспокоиться о пустых состояниях на данный момент
  • Распространение всех T*U комбинаций скрытых состояний сети транскрипции и предсказания через объединенную сеть, будь то простая сумма и экспоненциальная величина согласно Graves (2012) или прямая сеть согласно более поздним публикациям Google ASR (то есть: он и др. 2019).

Выходные данные T*U из объединенной сети можно рассматривать как сетку, как показано на рис. 1 в Graves 2012. Затем функцию потерь можно эффективно реализовать с использованием алгоритма прямого-обратного хода (раздел 2.4, Graves 2012). Разрешены только горизонтальные (потребляющие акустические рамки) и вертикальные (потребляющие метки) переходы. Переход от t к t+1 аналогичен пустому состоянию в CTC, в то время как непустые символы выводятся при выполнении вертикальных переходов, то есть от выходной метки u к u+1. Обратите внимание, что вы можете использовать несколько таймфреймов без вывода непустого символа (в соответствии с CTC), но вы также можете вывести несколько меток без перехода по t.

Чтобы более прямо ответить на ваш вопрос, обратите внимание, что на вход сети предсказания передаются только непустые выходные данные, и что сети транскрипции и предсказания работают асинхронно.

Рекомендации:

  • Преобразование последовательности с рекуррентными нейронными сетями, Graves 2012
  • Потоковое сквозное распознавание речи для мобильных устройств He et al. 2019
Другие вопросы по тегам