89
правок
Изменения
м
Кодировщик Энкодер сначала обрабатывает входные данные с помощью сверточной нейронной сети, состоящей из слоя [[Сверточные нейронные сети#Пулинговый слой|пулинга]], [[Нейронные сети, перцептрон|полносвязного слоя]] и [[Практики реализации нейронных сетей#Дропаут|дропаута]], а затем с помощью последовательности блоков Конформера.
→Конформер
Архитектура Трансформер, основанная на [[Механизм внимания#Self-Attention|самовнимании]] позволяет фиксировать глобальные зависимости, однако не очень хорошо извлекает точные паттерны локальных признаков. [[Сверточные нейронные сети]], наоборот, эффективно используют локальные признаки, но требуют большого числа слоев для захвата глобального контекста. Архитектура Конформер (англ. ''Conformer'') берет лучшее от двух подходов, комбинируя свертки и механизм самовнимания, достигая $WER$ $1.9\%/3.9\%$ на LibriSpeech test/test-other.
Блоки Конформера это последовательность из двух модулей прямой связи (англ. ''feed forward''), между которыми расположены модуль многоголового самовнимания (англ. ''Multi-Head Self Attention'') и сверточный модуль, с последующей нормализацией слоя (англ. ''layer normalization'').
Относительное позиционное кодирование основано на относительном расстоянии между токенами. Для подсчета оценки на основании которой на некоторое скрытое состояние будет "обращено внимание" используется относительное расстояние между токенами вместо абсолютного положения текущего токена, а так же два вектора параметров: первый регулирует важность содержания другого токена, а второй важность расстояния между токенами.
Использование модуля многоголового самовнимания с относительным позиционным кодированием позволяет сети лучше обучаться при различной длине ввода, а результирующий кодировщик энкодер более устойчив к неоднородности длины высказывания.
'''Сверточный модуль'''