Научная статья на тему 'Экономная реализация внимания в кодере Трансформера при распознавании речи'

Экономная реализация внимания в кодере Трансформера при распознавании речи Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
35
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
кодер-декодер с вниманием / вычислительная сложность / модель Трансформера / само-внимание / автоматическое распознавание речи / oncoder-decoder with attention / computational complexity / transformer model / selfattention / automatic speech recognition

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чучупал В.Я.

Использование модели Трансформера в сквозных системах распознавания речи позволяет добиться рекордных значений показателей качества работы. К существенным ограничениям Трансформера относится отсутствие режима потоковой обработки и большая вычислительная сложность (количество операций и объем требуемой памяти) в значительной степени за счёт операции внимания. Формально сложность алгоритма вычисления функции само-внимания растёт пропорционально O(n²), где n — количество элементов слоя сети. Использование свойства кратковременной зависимости параметров речевого сигнала позволяет построить такой алгоритм вычисления функции само-внимания, который имеет оценку сложности (количества операций и объёма требуемой памяти) O(n) и при этом рассчитан на потоковую обработку сигнала, в том числе работу кодера Трансформера в реальном масштабе времени.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ECONOMICAL IMPLEMENTATION OF ATTENTION IN THE TRANSFORMER ENCODER FOR SPEECH RECOGNITION

The use of Transformer in speech recognition applications provides high recognition accuracy rates. The significant limitations of the model include the lack of streaming mode and high computational complexity (in terms of the number of operations and the amount of memory). Formally, the complexity of the self-attention algorithm grows as O(n²), where n is the number of elements in the attention layer. The use of the feature of short-time dependency of speech parameters makes it possible to construct such an algorithm for calculating the self-attention of Transformer’s encoder, which has the complexity (both by the number of operations and the amount of required memory) as low as O(n) and at the same time is suitable for recognition in streaming and real-time operation modes.

Текст научной работы на тему «Экономная реализация внимания в кодере Трансформера при распознавании речи»

Экономная реализация внимания в кодере Трансформера при распознавании речи

Чучупал В. Я., кандидат физико-математических наук, ведущий научный сотрудник, Вычислительный центр им. А. А. Дородницына Федерального исследовательского центра «Информатика и управление» РАН, Москва, v.chuchupal@gmail.com

Использование модели Трансформера в сквозных системах распознавания речи позволяет добиться рекордных значений показателей качества работы. К существенным ограничениям Трансформера относится отсутствие режима потоковой обработки и большая вычислительная сложность (количество операций и объем требуемой памяти) в значительной степени за счёт операции внимания. Формально сложность алгоритма вычисления функции само-внима-ния растёт пропорционально O(n2), где п — количество элементов слоя сети. Использование свойства кратковременной зависимости параметров речевого сигнала позволяет построить такой алгоритм вычисления функции само-внима-ния, который имеет оценку сложности (количества операций и объёма требуемой памяти) O(n) и при этом рассчитан на потоковую обработку сигнала, в том числе работу кодера Трансформера в реальном масштабе времени.

• кодер-декодер с вниманием • вычислительная сложность • модель Трансформера • само-внимание • автоматическое распознавание речи

МОДЕЛЬ ТРАНСФОРМЕРА

В сквозных системах распознавания речи весь процесс распознавания осуществляется в рамках одной нейросети, где в отличие от систем традиционной архитектуры нет явно выделенных модулей для акустического, произносительного, лексического и языкового моделирования. Определены только состав и структура сети, параметры её входа и выхода. Поэтому в разных сквозных архитектурах задачам акустического моделирования могут соответствовать разные части сети. Для архитектур «кодер-декодер с вниманием» подразумевается, что функции акустической модели выполняет кодер, а декодер в большей степени отвечает за лексическое и языковое моделирование.

Структура известной сети типа «кодер-декодер с вниманием» модели Трансформера [5] показана на следующих рисунках 1 и 2.

119

120

Рис. 1. Структура модели Трансформера

Рис. 2. Структура слоёв кодера (слева) и декодера (справа)

Трансформер содержит две основные части: кодер и декодер. Обе они образованы стеками из идентичных слоёв. Число слоёв в стеках кодера и декодера зависит от параметров задачи, количества обучающих данных и вычислительных мощностей. В исходном варианте использовалось по 6 слоёв, но есть примеры современных решений с числом слоёв свыше ста.

На вход кодера поступает массив параметров речевого высказывания. Выход кодера подается на вход каждого слоя декодера, который на выходе последовательно генерирует символы. Входом декодера, кроме

выхода кодера, служит также последовательность символов, декодированных им в предыдущие моменты времени.

Каждый слой кодера (на левой части рисунка 2) состоит из подслоя само-внимания (self-attention) и поточечного полносвязного (positional-wise feed--forward network) подслоя.

Пусть X0 = {xt\t e [O,T]} — входная последовательность из векторизованных параметров xt речевого сигнала размерности d, Q0 , K^, VT — аналогичные последовательности т. н. «запросов» q, «ключей» kt и «значений» vt , которые соответственно имеют размерности dq , dk , dv и (в случае кодера) получаются из XT линейными преобразованиями с матрицами: Wq, Wk, Wy:

Wq e Rdqxd, Wk e Rdkxd, Wv e Rdvxd, qt = Wq • x, ' k, = Wk • xt' vt = Wv • x ■

Размерности ^ , ^ , ^ часто выбираются равными.

Операции, выполняемые в подслое само-внимания кодера (аналогично для внимания декодера), можно записать в виде последовательности выражений:

в = 1 / ^ = * (в • К Ж Ж хг) = * (в • )

у, = На, • Ж х = На, • V ,

Т ^Т V т т ^т т '

где vт — выходной сигнал, а *(х) обозначает функцию вычисления софтмакса:

ехр(х)

о (x'Jj]

Ч=о exP(x)

На выходе само-внимания значения у( линейно преобразуются с помощью матрицы Ж0 е Rdxdv (с обучаемыми элементами):

= Жо • у.

Запросы, ключи и значения второго и последующих слоёв кодера вычисляются путём линейного преобразования выходов оп11 предыдущего слоя кодера.

Поточечный полносвязный подслой — это свёрточная сеть с одним скрытым слоем, которая имеет ядро единичной длины, т. е. каждый элемент входной последовательности х( преобразуется в элемент выходной последовательности той же длины, при этом функция преобразования, определяемая матрицами Ж1 и Ж2 , одна и та же для всех элементов:

121

yt = ReLU(WjXt + Ъ1) W2 + Ъ2 ReLU(x) = x ifx > 0 else 0 .

Декодер также состоит из композитных слоев (изображен на рисунке 2, каждый включает 3 подслоя, два из которых (само-внимание и полносвязный) идентичны соответствующим подслоям в кодере. Первый подслой декодера — само-внимание для символов, которые поступают с выхода сети. Следующий — подслой внимания для входных признаков, приходящих из кодера. От само-внимания он отличается тем, что запросы qt вычисляются путём преобразования выходов предыдущего слоя декодера, а ключи и значения d^ dv — путём преобразования выхода кодера.

Модель Трансформера обеспечивает высокую точность распознавания речи: лучший из опубликованных на начало 2021 года результат, зарегистрированный на известном корпусе LibriSpeech [3], принадлежал сквозной системе распознавания [4], построенной на модели Транс-формера.

К главным ограничениям модели Трансформера (как и других моделей типа «кодер-декодер с вниманием») относятся отсутствие режима реального времени и большая вычислительная сложность. Нереальное время распознавания обусловлено тем, что для прогноза появления символа в текущий момент нужно использовать все (в том числе и следующие за текущим) признаки. Информация о будущем существенно повышает точность, но часто она недоступна. С вычислительной точки зрения сложность алгоритма внимания растёт пропорционально квадрату длительности сигнала, например вычислительная сложность самовнимания пропорциональна O(n2), где n — длина последовательности векторизованных признаков. Та же оценка справедлива и для требуемых объёмов памяти.

По этой причине архитектуры «кодер-декодер с вниманием» ассоциируются с большими вычислительными требованиями и разработка экономных версий таких моделей очень актуальна. Переход к вычислениям с пониженной разрядностью, использование нетривиальных методов структурной обрезки сети, линейных групповых преобразований, оптимизации вычислений софтмакса позволяет иногда на порядок уменьшить используемые вычислительные ресурсы [2].

Существенную экономию также можно получить, используя физические ограничения, налагаемые конкретным приложением. В статье предложен пошаговый алгоритм вычисления внимания в модели Трансформера для распознавания речи. Свойства речевого сигнала позволяют организовать вычисления для реализации потоковой обработки (в том числе кодирование в реальном масштабе времени) и при этом имеют оценку вычислительной сложности порядка O(n) (для вычисления са-мо-внимания, n — размер слоя), по сравнению с O(n2) в стандартной версии алгоритма.

122

ЭКОНОМИЧНАЯ МОДЕЛЬ ВЫЧИСЛЕНИЯ САМО-ВНИМАНИЯ ДЛЯ КОДЕРА

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

Пусть переменные c, l и r обозначают, соответственно, длины сегментов для вычисления значений внимания, а также вспомогательных левого и правого контекстов. Здесь и ниже в тексте запись типа X[0:T] эквивалентна (X[i]\i - 0,...,T-1} , т. е. следует семантике индексов в языке Питон.

Принципиальная (без учёта пропусков и нормирования слоёв, применения маскирующих матриц — все эти операции остаются без изменений) пошаговая реализация алгоритма вычисления внимания на одном слое (выход записывается в переменную OUT) имеет вид:

Пошаговый алгоритм вычисления слоя кодера Трансформера

Дано: значения с, I , г длин блоков вычисления внимания, левого и правого контекстов, параметры слоя в виде значений элементов проекционных матриц.

Вход: последовательности векторизованных параметров (для 1-го слоя — это параметры сигнала, для последующих — выход предыдущего слоя):

X =Х[0:Т], Т > I + с + г . Шаг 1. Установить =0; Выход кодера 0ит=0.

Шаг 2. Выбрать частичные последовательности запросов, значений и ключей — О*, V*, К*

О*[0:с] = Жд ■ Х[г + 1:1 + с],

V*[0:l + с + г] = Wv ■ V[t:t + I + с +г], К*[0:1 + с + г] = Wk ■ К[: + I + с +г].

Шаг 3. В цикле для q = 0, ..., с-1 выполнить шаги 3.1. — 3.3. Шаг 3.1. Вычислить последовательность весов

{Ли^ф = 0,..., I + с + г - 1}: Лит = а(Р ■ 0*[дУ ■ К*[]

qL

где в = 1/Vd, а — софтмакс.

123

lilFFr Чучупал В. Я. Экономная реализация внимания в кодере Трансформера при распознавании речи

Шаг 3.2. Вычислить значение внимания: l+c+r-l \ = X r[t] • Attq[t]- t=0

Шаг 3.3. Преобразовать результат в выходное значение:

У = W • y . s q o s q

Шаг 4. Для вычисленныхy [0:c] выполнить преобразование поточечной q сетью:

out[0:c] = ReLU(W1 • yq[0:c] + b) • W2 + b2

Шаг 5. Дописать out[0:c] к OUT:

OUT = OUT | out[0:c]

Шаг 6. t = t + c

Шаг 7. Если t < T — (с + l) идти на Шаг 2 иначе закончить выполнение алгоритма.

Поскольку алгоритм выполняется на блоке фиксированной, не зависящей от размера входных данных, длины, его выполнение требует константное, порядка O(c2) число операций. Так как с увеличением длины сигнала количество блоков растёт линейно, для обработки последовательности длины n метод потребует порядка O(n) операций. Алгоритм может использоваться как при обучении, так и в режиме распознавания. Пошаговая реализация также существенно уменьшает объем используемой памяти: для последовательности длины n (предполагая с = l = r) метод использует матрицы размером порядка O(c2), а стандартный алгоритм — O(n2), при этом обычно / « п .

Для организации режима потокового распознавания, в частности, в реальном времени, не требуется сразу знать всю последовательность векторизованных параметров X[0:T], вместо этого требуемые на шаге частичные последовательности Q, V, K должны рассчитываться при поступлении порции новых данных (например, с микрофона) длины с .

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

ЭКСПЕРИМЕНТАЛЬНАЯ ОЦЕНКА ЭФФЕКТИВНОСТИ

124 Численные эксперименты выполнялись на данных речевого корпуса TeCoRus [1], который содержит произнесение случайных наборов цифр

от большого числа дикторов. Цифровой материал включал спонтанно произнесённые (номера телефонов, почтовые индексы и т. п.) и читаемые последовательности. Для обучения использовалось 16 357 последовательностей, произнесённых 155 дикторами. В обучающей выборке поровну представлены мужчины и женщины. Тестирование проводилось на 186 цифровых последовательностях от четырех человек (двое мужчин и две женщины), не входивших в обучающую выборку.

Использовалось параметрическое описание на основе 24-мерных мел-спектральных признаков, вычисленных на окне 20 мс., с шагом 10 мс. Эти 24-мерные вектора последовательно объединялись по 3, и затем прореживались в отношении 3:1, поэтому признаки для сети состояли из 72-мерных векторов, вычисленных с шагом 30 мс.

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

Кодер и декодер состояли из двух слоёв каждый, использовались двухголовочные слои внимания, внешняя языковая модель в экспериментах не применялась. Использовался тривиальный алгоритм поиска, который на каждом шаге выбирал один, наиболее вероятный символ. Функция потерь для процедуры обучения — кросс-энтропия. Алгоритм оптимизации — Adam. Начальное значение коэффициента скорости обучения (team rate) выбиралось 0.003, далее использовалась процедура понижения коэффициента каждые 300 шагов с коэффициентом 0.96.

При выборе размера пакетов от 150 предложений и более функция потерь убывала почти монотонно при всех вариантах выбора параметров блоков и контекстов, обучение фактически сходилось за 150-170 эпох.

Качество распознавания определялось показателем пословной точности (accuracy), вычисляемым как 1.0-WER, где WER (word error rate) — значение пословной ошибки распознавания, определяемое как отношение суммарного числа ошибок: замен, удалений и вставок слов к общему числу корректных слов в распознанном тексте.

В таблице 1 показана зависимость качества распознавания от размеров блоков и длин правого и левого контекстов.

Таблица 1

Зависимость точности распознавания от размеров (в сек.) центрального (C) блока, левого (L) и правого (R) контекстов само-внимания кодера

C L R Точность

inf inf inf 0.942

2.0 1.0 1.0 0.956

1.0 0.5 0.5 0.966

1.0 0. 0. 0.966

0.5 0. 0. 0.964

0.25 0. 0. 0.942

1.0 0.5 0. 0.962

1.0 0. 0.5 0.959

125

126

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

* -а

Б

г I

Ol

3 -э

■т. / ------ J >.',- ......

- пГ-inl-inr ■ ■ ■ l-ae-i --- fr 1^0 jh, \ 1 - nMrt^inl ..... 1-2С-1 oie-O

1 : 1 V : 1 L"" ■

1.0»

0.375

Ь

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

D.3D0 £

50

IM

150

MOMtU Jl ШЛИ

300

гьо

500

ЬВ!5

С.6СЭ

Рис. 3. Изменение логарифма функции потерь и точности распознавания в ходе обучения нейросети. Обозначение «т^ соответствует стандартному алгоритму само-внимания в кодере, «1-2^1» соответствует блокам длиной 2 сек. с левым и правым контекстами по 1 сек., «0-1с+0» — блокам длиной 1 сек.

без контекстов.

ЗАКЛЮЧЕНИЕ

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

Литература

1. Чучупал В. Я. и др. Речевой корпус данных TeCoRus // Роспатент, Свидетельство об официальной регистрации базы данных № 2005620205, 2005 г.

2. Чучупал В. Я. Акустическое и языковое моделирование в сквозных системах распознавания речи // Цифровая обработка сигналов. 2020. № 4. с.34-43, ISSN 1532-.

3. Panayotov V. at al. «Librispeech»: an ASR corpus based on public domain audio books. // Proc. of the IEEE Int. Conf.on Acoustics, Speech and Signal Processing, ICASSP-2015, pp. 5206-5210, 2015.

4. Synnaeve G. at al. End-to-End ASR: From Supervised to Semi-Supervised Learning with Modern Architectures [Электронный ресурс] // arXiv: 1911.08460v1 [cs.LG], http: www.arxiv.org/pdf/1911.08460.pdf, 2019.

5. Vaswani A. at al. Attention Is All You Need [Электронный ресурс] // arXiv: 1706.03762v5 [cs.CL], http:.www.arxiv.org/pdf/1706.03762.pdf, 2019.

References

1. Chuchupal V. Y. i dr. Rechevoj korpus dannyh TeCoRus // Rospatent, Svidetel'stvo ob oficial'noj registracii bazy dannyh № 2005620205, 2005g.

2. Chuchupal V. Y. Akusticheskoe i yazykovoe modelirovanie v skvoznyh sistemah raspoznavaniya rechi. // Cifrovaya obrabotka signalov. 2020, № 4, s.34-43, ISSN 1532-4435.

3. Panayotov V. at al. «Librispeech»: an ASR corpus based on public domain audio books. // Proc. of the IEEE Int. Conf.on Acoustics, Speech and Signal Processing, ICASSP-2015, pp. 5206-5210, 2015.

4. Synnaeve G. at al. End-to-End ASR: From Supervised to Semi-Supervised Learning with Modern Architectures [Electronic resource] // arXiv: 1911.08460v1 [cs.LG], http: www.arxiv.org/pdf/1911.08460.pdf, 2019.

5. Vaswani A. at al. - Attention Is All You Need [Electronic resource] // arXiv: 1706.03762v5 [cs.CL], http:.www.arxiv.org/pdf/1706.03762.pdf, 2019.

ECONOMICAL IMPLEMENTATION OF ATTENTION IN THE TRANSFORMER ENCODER FOR SPEECH RECOGNITION

Chuchupal V. Y., Candidate of Physical and Mathematical Sciences, principal scientist, Institution of Russian Academy of Sciences Dorodnicyn Computing Centre of RAS, Moscow, Russia, v.chuchupal@gmail.com

The use of Transformer in speech recognition applications provides high recognition accuracy rates. The significant limitations of the model include the lack of streaming mode and high computational complexity (in terms of the number of operations and the amount of memory). Formally, the complexity of the self-attention algorithm grows as O(n2), where n is the number of elements in the attention layer. The use of the feature of short-time dependency of speech parameters makes it possible to construct such an algorithm for calculating the self-attention of Transformer's encoder, which has the complexity (both by the number of operations and the amount of required memory) as low as O(n) and at the same time is suitable for recognition in streaming and real-time operation modes.

• oncoder-decoder with attention • computational complexity • transformer model • self-attention • automatic speech recognition.

127

i Надоели баннеры? Вы всегда можете отключить рекламу.