89
правок
Изменения
м
→Конформер
===Конформер===
[[Файл:Conformer.png|600px|thumb|right|'''Рисунок 1.''' Схема архитектуры Конформер Конформера (a) и схема блоков конформера (b)]]
Трансформер, основанный на [[Механизм внимания#Self-Attention|самовнимании]] позволяет фиксировать глобальные зависимости, однако не очень хорошо извлекает точные паттерны локальных признаков. [[Сверточные нейронные сети]], наоборот, эффективно используют локальные признаки, но требуют большого числа слоев для захвата глобального контекста. Конформер (англ. ''Conformer'') берет лучшее от двух подходов, комбинируя свертки и механизм самовнимания, достигая $WER$ $1.9\%/3.9\%$ на LibriSpeech test/test-other.
'''Модуль многоголового самовнимания'''
В модуле используется блок многоголового внимания с относительным позиционным кодированием (англ. ''Multi-Head Attention with Relational Positional Encoding''). Такой блок (изначально часть архитектуры Трансформер-XL<ref>''Zihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell, Quoc V. Le, Ruslan Salakhutdinov'' Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context[https://arxiv.org/pdf/1901.02860.pdf]</ref>) используется с целью исправить два недостатка архитектуры ТрансформерТрансформера: ограничение на длину входа (что не позволяет модели, например, использовать слово которое появилось несколько предложений назад) и фрагментацию контекста (последовательность разбивается на несколько блоков каждый из которых обучается независимо). Для достижения этой цели используются два механизма: механизм повторения (англ. ''reccurence mechanism'') и относительное позиционное кодирование (англ. ''relational positional encoding''). Механизм повторения позволяет использовать информацию из предыдущих сегментов. Как и в оригинальной версии, Трансформер-XL обрабатывает первый сегмент токенов, но сохраняет выходные данные скрытых слоев. При обработке следующего сегмента каждый скрытый слой получает два входа: результат предыдущего скрытого слоя этого сегмента, как в Трансформере, и результат предыдущего скрытого слоя из предыдущего сегмента, который позволяет модели создавать зависимости от далеких сегментов.
Однако, с использованием механизма повторения возникает новая проблема: при использовании исходного позиционного кодирования каждый сегмент кодируется отдельно, и в результате токены из разных сегментов закодированы одинаково.