89
правок
Изменения
м
→Обучение с частичным привлечением учителя для автоматического распознавания речи
Для обучения современных систем распознавания речи требуются тысячи часов размеченной речи, однако получение размеченных данных в необходимом объеме (особенно с учетом разнообразия существующих языков) затруднительно. Это повлияло на то, что сейчас в машинном обучении для распознавания речи успешно используется [[Обучение с частичным привлечением учителя| обучение с частичным привлечением учителя]], которое позволяет сначала обучать модель на большом объеме неразмеченных данных, а потом корректировать ее при помощи размеченных.
Одним из примеров обучения с частичным привлечением учителя для автоматического распознавания речи является подход, впервые представленный в статье<ref>''Yu Zhang, James Qin, Daniel S. Park, Wei HanChung-Cheng Chiu, Ruoming Pang, Quoc V. Le, Yonghui Wu'' Pushing the Limits of Semi-Supervised Learning for Automatic Speech Recognition[https://arxiv.org/pdf/2010.10504.pdf]</ref>, основанный на комбинации алгоритмов [[Распознавание_речи#Noisy_student | noisy student]], [[Распознавание_речи#wav2vec | wav2vec]] и использовании модели [[Распознавание_речи#Конформер| Конформера]]. Такой метод позволил уменьшить $WER$ на наборах данных LibriSpeech test/test-other с $1.7\%/3.3\%$ (предыдущий ''state-of-the-art'') до $1.4\%/2.6\%$. <br>
Основная идея состоит в том, что множество моделей Конформеров при помощи алгоритма ''wav2vec'' предварительно обучается на неразмеченных данных, при этом одновременно с этим на основе них генерируются размеченные. Таким образом, неразмеченные данные используются для двух целей: для обучения модели и для генерации размеченных данных, которые используются для дальнейшего обучения модели алгоритмом ''noisy student''.
'''Модуль многоголового самовнимания'''
В модуле используется блок многоголового внимания с относительным позиционным кодированием (англ. ''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 обрабатывает первый сегмент токенов, но сохраняет выходные данные скрытых слоев. При обработке следующего сегмента каждый скрытый слой получает два входа: результат предыдущего скрытого слоя этого сегмента, как в Трансформере, и результат предыдущего скрытого слоя из предыдущего сегмента, который позволяет модели создавать зависимости от далеких сегментов.
Однако, с использованием механизма повторения возникает новая проблема: при использовании исходного позиционного кодирования каждый сегмент кодируется отдельно, и в результате токены из разных сегментов закодированы одинаково.
===wav2vec===
Подход wav2vec <ref>''Alexei Baevski, Henry Zhou, Abdelrahman Mohamed, Michael Auli'' wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations[https://arxiv.org/pdf/2006.11477.pdf]</ref> основан на самообучении на [[Распознавание речи#Признаки|мел спектрограммах]].
'''Модель'''
'''Алгоритм'''
1. Произвести тонкую настройку Модель $M_0$ настраивается (англ. ''fine-tune'') предобученной модели $M_0$ на наборе данных $S$ с использованием ''SpecAugment''. $M = M_0$<br>2. Объединить Модель $M$ сливается (англ. ''fuse'')<ref>''Caglar Gulcehre, Orhan Firat. Kelvin Xu, Kyunghyun Cho, Loic Barrault, Huei-Chi Lin, Fethi Bougares, Holger Schwenk, Yoshua Bengio'' On Using Monolingual Corpora in Neural Machine Translation [https://arxiv.org/pdf/1503.03535.pdf] модель $M$ </ref> с моделью $LM$.<br>3. Сгенерировать новый набор Набор данных $A$, разметив $U$ размечается с помощью $M$, получается новый набор данных $A$.<br>4. Объединить наборы данных Наборы $S$ и $A$объединяются, произвести тонкую настройку производится настройка предобученной модели $M_i$ на объединенном наборе данных с использованием ''SpecAugment''.<br>5. Если перебраны не все модели из набора, то $M = M_{i + 1}$, перейти происходит возвращение к шагу $2$.
==Применение==