Изменения

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

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

43 байта добавлено, 15:47, 12 января 2021
м
Обучение с частичным привлечением учителя для автоматического распознавания речи
==Обучение с частичным привлечением учителя для автоматического распознавания речи==
Часто получить размеченные данные в необходимых объемах является сложно реализуемой задачей, особенно с учетом разнообразия существующих языков: для Для обучения современных систем распознавания речи требуются тысячи часов размеченной речи для достижения приемлемой производительности, однако получение размеченных данных в необходимом объеме (особенно с учетом разнообразия существующих языков) затруднительно. Также изучение исключительно на размеченных данных не похоже на естественный процесс овладения языком, например, у детей, которые учатся, слушая окружающую их речь. Это повлияло на то, что сейчас в машинном обучении для распознавания речи успешно используется [[Обучение с частичным привлечением учителя#Самообучение (Self Training)| самообучение]].
Это повлияло на то, что сейчас в машинном обучении Одним из примеров применения самообучения для автоматического распознавания речи успешно используется является подход, впервые представленный в статье[https://arxiv.org/pdf/2010.10504.pdf], основанный на комбинации алгоритмов [Обучение с частичным привлечением учителя[Распознавание_речи#Noisy_student | noisy student]], [[Распознавание_речи#wav2vec | wav2vec]] и использовании модели [[Распознавание_речи#Самообучение (Self Training)Конформер| самообучениеКонформер]].Такой метод позволил уменьшить $WER$ на наборах данных LibriSpeech test/test-other с $1.7\%/3.3\%$ (предыдущий ''state-of-the-art'') до $1.4\%/2.6\%$. <br>
Одним из примеров алгоритмов самообучения является подход, впервые представленный в статье[https://arxiv.org/pdf/2010.10504.pdf], основанный на комбинации алгоритмов [[Распознавание_речи#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''.
===Конформер===
[[Файл:Conformer.png|600px|thumb|right|'''a.''' Схема архитектуры Конформер.<br> '''b.''' Блок конформера.]]
Архитектура Трансформер, основанная на [[Механизм внимания#Self-Attention|самовнимании]] позволяет фиксировать взаимодействия на большом расстоянииглобальные зависимости, однако не очень хорошо извлекает точные паттерны локальных признаков. [[Сверточные нейронные сети]], наоборот, эффективно используют локальные признаки, но требуют большого числа слоев для захвата глобального контекста. Архитектура Конформер (англ. ''Conformer'') берет лучшее от двух подходов, комбинируя свертки и механизм самовнимания, достигая $WER$ $1.9\%/3.9\%$ на LibriSpeech test/test-other.
Кодировщик сначала обрабатывает входные данные с помощью сверточной нейронной сети, состоящей из слоя [[Сверточные нейронные сети#Пулинговый слой|пулинга]], [[Нейронные сети, перцептрон|полносвязного слоя]] и [[Практики реализации нейронных сетей#Дропаут|дропаута]]), а затем с помощью последовательности блоков Конформера.
Блок Конформера состоит из двух модулей прямой связи (англ. ''feed forward''), между которыми расположены модуль многоголового самовнимания (англ. ''Multi-Head Self Attention'') и сверточный модуль, с последующим слоем нормализациипоследующей нормализацией слоя (англ. ''layer normalization'').
[[Файл:Multi_Head_Self_Attention_module.png|400px|thumb|right|Модуль многоголового самовнимания]]
'''Сверточный модуль'''
[[Файл:Convolution_module.png|600px|thumb|right|Сверточный модуль]]
Последовательность слоев в сверточном модуле начинается с стробирующего механизмауправляемого модуля[https://arxiv.org/pdf/1612.08083.pdf]: сверточного слоя с ядром $1 \times 1$ и стробированного управляемого линейного блока (англ. ''gated linear unit''). Использование стробированного управляемого линейного блока уменьшает проблему исчезающего градиента. После сверточного слоя используется [[Batch-normalization|пакетная нормализация]].
В модуле используется функция активации ''swish'': $swish(x) = \dfrac{x}{1 + e^{- \beta x}}$.
'''Модули прямой связи'''
[[Файл:FFN.png|600px|thumb|right|Схема модуля прямой связи]]
В отличие от архитектуры Трансформер, в которой единственный модуль прямой связи следует за модулем внимания и состоит из двух линейных преобразований и нелинейной активации между ними, в Конформере два модуля прямой связи, состоящие из слоя нормализации и двух линейных слоев. Кроме того для регуляризации используется функция активации ''swish'' и [[Практики реализации нейронных сетей#Дропаут|дропаут]].
===wav2vec===
89
правок

Навигация