Изменения

Перейти к: навигация, поиск

Участница:DespairedController/Черновик:Распознавание речи

3715 байт добавлено, 21:12, 20 января 2021
Конформер
'''Модуль многоголового самовнимания'''
В модуле используется блок многоголового внимания с относительным позиционным кодированием (англ. ''Multi-Head Attention with Relational Positional Encoding''). Использование относительного позиционного кодирования[httpsТакой блок (изначально часть архитектуры Трансформер-XL<ref>Transformer-XL:Attentive Language ModelsBeyond a Fixed-Length ContextZihang Dai, Zhilin Yang, Yiming Yang, Jaime Carbonell1, Quoc V. Le, Ruslan Salakhutdinov<//arxivref>) используется с целью исправить два недостатка архитектуры Трансформер: ограничение на длину входа (что не позволяет модели, например, использовать слово которое появилось несколько предложений назад) и фрагментацию контекста (последовательность разбивается на несколько блоков каждый из которых обучается независимо). Для достижения этой цели используются два механизма: механизм повторения (англ. ''reccurence mechanism'') и относительное позиционное кодирование (англ. ''relational positional encoding''). Механизм повторения позволяет использовать информацию из предыдущих сегментов. Как и в оригинальной версии, Трансформер-XL обрабатывает первый сегмент токенов, но сохраняет выходные данные скрытых слоев. При обработке следующего сегмента каждый скрытый слой получает два входа: 1.org/pdf/1901Результат предыдущего скрытого слоя этого сегмента, как в оригинальной версии.02860<br>2.pdf] Результат предыдущего скрытого слоя из предыдущего сегмента, который позволяет модулю модели создавать зависимости от далеких сегментов. Технически два входа объединяются, а затем используются для вычисления матриц $Key$ и $Value$ текущего сегмента. Это дополнение предоставляет сети дополнительную информацию о весах (важности) каждого токена, но не меняет матрицу значений.  Однако, с использованием механизма повторения возникает новая проблема: при использовании исходного позиционного кодирования каждый сегмент кодируется отдельно, и в результате токены из разных сегментов закодированы одинаково. Относительное позиционное кодирование основано на относительном расстоянии между токенами. Для подсчета оценки на основании которой на некоторое скрытое состояние будет "обращено внимание" используется относительное расстояние между токенами вместо абсолютного положения текущего токена, а так же два вектора параметров: первый регулирует важность содержания другого токена, а второй важность расстояния между токенами. Использование модуля многоголового самовнимания с относительным позиционным кодированием позволяет сети лучше обобщать при различной длине ввода, а результирующий кодировщик более устойчив к неоднородности длины высказывания.
'''Сверточный модуль'''
89
правок

Навигация