Подробное объяснение применения сверточной нейронной сети (CNN) для распознавания речи.

Google Нейронные сети Байду база данных

Приветствую всех вОблачное сообщество Tencent, получить больше крупной технической практики Tencent по галантерее ~

Автор: Хоу Исинь

предисловие

Обобщая текущий статус развития распознавания речи, dnn, rnn/lstm и cnn представляют собой несколько основных направлений в распознавании речи. В 2012 году Microsoft Дэн Ли и Ю Донг представили нейронную сеть с прямой связью FFDNN (глубокая нейронная сеть с прямой связью) в моделировании акустической модели и использовали вероятность выходного слоя FFDNN для замены выходных данных, рассчитанных GMM в предыдущем GMM-HMM. Вероятно, ведущая тенденция гибридной системы DNN-HMM. Можно сказать, что долговременная кратковременная память (LSTM, LongShort Term Memory) является наиболее широко используемой структурой в распознавании речи.Эта сеть может моделировать долговременную корреляцию речи, тем самым повышая точность распознавания. Двунаправленные сети LSTM могут обеспечить более высокую производительность, но в то же время существуют проблемы высокой сложности обучения и высокой задержки декодирования, которые особенно сложно применить в системах распознавания в реальном времени в отрасли.

Оглядываясь назад на развитие распознавания речи в прошлом году, можно сказать, что ключевое слово deep cnn определенно является популярным, и многие компании вложили много средств в исследования в этой области. На самом деле CNN уже давно используется в распознавании речи, лет через 12 или 13 Оссама Абдель-Хамид внедрил CNN в распознавание речи. В то время слой свертки и слой пула появлялись попеременно, и масштаб ядра свертки был относительно велик, а количество слоев CNN было невелико, в основном он использовался для обработки и обработки признаков, чтобы сделать их лучше используется для классификации DNN. С ярким теплом CNN в поле изображения применение VGGNet, GoogleNet и ResNet предоставляет больше идей для CNN в распознавании речи, таких как многоуровневая свертка, за которой следует слой объединения, уменьшение размера ядра свертки может сделать нас способными для обучения более глубоких и лучших моделей CNN.

1 Зачем использовать CNN для распознавания речи

Обычно распознавание речи завершается на основе спектра речи после частотно-временного анализа, и частотно-временной спектр речи имеет структурные характеристики. Для повышения скорости распознавания речи необходимо преодолеть разнообразие речевых сигналов, в том числе разнообразие говорящих (самого говорящего и говорящего), и разнообразие окружающей среды. Сверточная нейронная сеть обеспечивает трансляционно-инвариантную свертку во времени и пространстве.Если идея сверточной нейронной сети применяется к акустическому моделированию распознавания речи, инвариантность свертки может быть использована для преодоления разнообразия самого речевого сигнала. секс. С этой точки зрения можно считать, что временной спектр, полученный при анализе всего речевого сигнала, трактуется как изображение, а для его идентификации используется широко используемая в изображении глубокая сверточная сеть.

С точки зрения практичности CNN также относительно легко реализовать крупномасштабные параллельные операции. Хотя в операции свертки CNN задействовано много небольших матричных операций, операция выполняется очень медленно. Однако ускоренная работа CNN является относительно зрелой.Например, Челлапилла и др. предложили метод преобразования всех этих маленьких матриц в произведение больших матриц. Некоторые общие фреймворки, такие как Tensorflow, caffe и т. д., также обеспечивают ускорение распараллеливания CNN, что позволяет CNN попробовать распознавание речи.

Далее будет представлено применение CNN для распознавания речи от «мелкого» до «глубокого».

2 CLDNN

Когда дело доходит до применения CNN в распознавании речи, мы должны упомянуть CLDNN (СВЕРТОЧНАЯ, ДЛИТЕЛЬНАЯ КРАТКОВРЕМЕННАЯ ПАМЯТЬ, ПОЛНОСТЬЮ ПОДКЛЮЧЕННЫЕ ГЛУБОКИЕ НЕЙРОННЫЕ СЕТИ) [1]. Приложения CNN представляют. CNN и LSTM могут добиться лучшего повышения производительности, чем DNN, в задачах распознавания речи.Что касается возможностей моделирования, CNN хороша для уменьшения изменений в частотной области, а LSTM может обеспечить долговременную память, поэтому она имеет широкий спектр приложений во временной области. DNN подходят для отображения объектов в независимых пространствах. В то время как в CLDNN автор объединяет CNN, LSTM и DNN в одну сеть и получает лучшую производительность, чем отдельные сети.

Общая структура сети CLDNN заключается в том, что входной слой представляет собой функцию, связанную с временной областью, несколько слоев CNN соединены для уменьшения изменения частотной области, выход CNN переливается в несколько слоев LSTM для уменьшения изменения временной области. , а выходные данные последнего слоя LSTM являются входными данными для полного соединения. Слой DNN, цель которого состоит в том, чтобы сопоставить пространство признаков с выходным слоем для упрощения классификации. Ранее также предпринимались попытки объединить CNN LSTM и DNN, но обычно три сети обучаются отдельно и, наконец, объединяются через слой слияния, в то время как CLDNN обучает три сети одновременно. Эксперименты показали, что если LSTM вводит лучшие функции, его производительность будет улучшена.Вдохновленный автором, автор использует CNN, чтобы уменьшить изменения в частотной области, чтобы сделать LSTM более адаптивными функциями, и добавляет DNN, чтобы увеличить разницу между скрытым слоем и выходной слой, глубина интервала, чтобы получить более сильную предсказательную способность.

2.1 Структура сети CLDNN

Fig 1. CLDNN Architecture

Схема структуры сети показана на рисунке 1, в предположении, что центральный кадр, учитывая корреляцию контента, растянуть L кадров влево и R кадров вправо, тогда последовательность входных признаков будет [, . . . ,], вектор признаков использует 40-мерный логарифмический признак Mel.

Часть CNN представляет собой двухслойную CNN с картами признаков 256 в каждом слое.Первый слой использует фильтр частотно-временной области 9x9, а второй слой использует фильтр 4x3. Слой пула использует стратегию максимального пула, размер пула первого уровня равен 3, а второй уровень CNN не подключен к уровню пула.

Поскольку выходное измерение последнего слоя CNN очень велико, размер карты признаков

time
частота, поэтому линейный слой подключен перед LSTM после CNN для уменьшения размерности, и эксперимент также доказывает, что уменьшение параметров не оказывает большого влияния на точность, а выход линейного слоя составляет 256 измерений.

За CNN следуют 2 слоя LSTM, каждый слой LSTM использует 832 ячейки и 512-мерный слой отображения для уменьшения размерности. Метка выходного состояния задерживается на 5 кадров, и в это время выходная информация DNN может лучше предсказать текущий кадр. Поскольку входные характеристики CNN расширены на l кадров влево и на r кадров вправо, чтобы гарантировать, что LSTM не увидит содержимое более 5 кадров в будущем, автор устанавливает r равным 0. Наконец, после моделирования как в частотной, так и во временной областях, выход LSTM подключается к нескольким полносвязным слоям DNN.

Опираясь на применение CNN в области изображений, автор также попробовал долгосрочные и краткосрочные функции., входные функции CNN напрямую вводятся как краткосрочные функции в LSTM как часть ввода, а выходные функции CNN напрямую используются как часть входных функций DNN.

2.2 Экспериментальные результаты

Для структуры CLDNN мы провели серию экспериментов с нашими собственными китайскими данными. Экспериментальные данные представляют собой 300 часов китайской зашумленной речи, все входные характеристики модели представляют собой 40-мерные функции fbank, а частота кадров составляет 10 мс. Обучение модели использует критерий кросс-энтропии CE, а выход сети составляет 2w множественных состояний. Поскольку на входе CNN необходимо установить два параметра, l и r, r устанавливается равным 0, а l является оптимальным решением после 10 экспериментов.В следующих экспериментальных результатах l = 10, r = 0 по умолчанию.

Среди них LSTM — это 3 слоя по 1024 ячейки, а проект — 512. Конкретные сетевые параметры CNN+LSTM и CNN+LSTM+DNN немного скорректированы, как показано на рисунке ниже. добавлена ​​комбинация двухслойной CNN и трехслойной LSTM. Эксперименты подтверждают, что добавление слоя LSTM улучшает результаты, но дальнейшее увеличение количества слоев LSTM не помогает результатам.

Рис. 2. Экспериментальная структура CLDNN

method WER
LSTM 13.8
CNN + 2-слойный LSTM 14.1
CNN + 3-слойный LSTM 13.6
CNN+LSTM+DNN 13.0
LSTM+DNN 13.2

Таблица 1 Результаты тестового набора 1

method WER
LSTM 21.6
CNN + 2-слойный LSTM 21.8
CNN + 3-слойный LSTM 21.5
CNN+LSTM+DNN 20.6
LSTM+DNN 20.8

Таблица 2. Результаты тестового набора 2

3 deep CNN

В прошлом году распознавание речи совершило большой прорыв. IBM, Microsoft, Baidu и другие учреждения последовательно запустили свои собственные модели Deep CNN для повышения точности распознавания речи. Предложение Residual/Highway network позволяет нам глубже обучать нейронную сеть. В процессе опробования Deep CNN он грубо делится на две стратегии: одна — это акустическая модель, основанная на структуре Deep CNN в структуре HMM, а CNN может быть VGG, сетевой структурой с остаточными связями CNN или структурой CLDNN. Другая — это сквозная структура, которая была очень популярна в последние два года, например, использование CNN или CLDNN в структуре CTC для достижения сквозного моделирования или недавно предложенные технологии крупномодульного моделирования. такие как низкая частота кадров и цепная модель.

Для ввода он обычно делится на два типа: ввод функций, обработанных традиционными сигналами, использование различных фильтров для обработки, а затем выполнение расширения влево-вправо или с пропуском кадров.

Fig 3.Multi-scale input feature. Stack 3
11
40

Второй — прямой ввод исходного спектра и обработка спектрограммы как изображения.

Fig 4. Frequency bands input

3.1 Глубокая речь Baidu

Baidu применила Deep CNN к исследованию распознавания речи, использовала структуры VGGNet и глубокие CNN, включая остаточные соединения, и объединила сквозную технологию распознавания речи LSTM и CTC, в результате чего частота ошибок распознавания относительно снизилась на 10% (исходная более чем 90% ошибок).

Ранее алгоритмы моделей Baidu Voice постоянно обновлялись каждый год: от DNN до модели дискриминации, модели CTC и сегодняшней Deep CNN. Акустическая модель на основе LSTM-CTC также была запущена во всех продуктах, связанных с речью, в конце 2015 года. Основные достижения следующие: 1) В 2013 году модель CNN на основе поддиапазона Mel; 2) В 2014 году Sequence Discriminative Training (дискриминационная модель); 3) В начале 2015 года распознавание речи на основе LSTM-HMM; 4) В 2015 г. В конце года сквозное распознавание речи на основе LSTM-CTC; 5) В 2016 г. модель Deep CNN, Baidu в настоящее время разрабатывает глубокую речь3 на основе Deep CNN.Говорят, что обучение использует большие данные , а на настройку параметров - десятки тысяч часов. Есть 100 000 часов.

Рис. 5. Разработка системы распознавания речи Baidu.

Baidu обнаружил, что глубокая структура CNN может не только значительно повысить производительность системы распознавания речи HMM, но и повысить производительность системы распознавания речи CTC. Сквозное моделирование только с глубокими CNN имеет относительно низкую производительность, поэтому сочетание повторяющихся скрытых слоев, таких как LSTM или GRU, с CNN является относительно хорошим выбором. Производительность можно улучшить, используя маленькое ядро ​​3*3 в структуре VGG или используя Остаточные соединения.Количество слоев и фильтров сверточной нейронной сети существенно повлияет на способность моделирования всей модели., В разных масштабах баз данных обучения речи, Baidu необходимо использовать различные масштабы конфигурации модели DeepCNN, чтобы наконец достичь оптимальной производительности.

Поэтому Baidu считает: 1) В структуре модели DeepCNN помогает модели иметь хорошую трансляционную инвариантность в частотно-временной области, тем самым делая модель более надежной (антишумовой); 2) На этом основании DeepLSTM вместе с CTC, мы ориентируемся на классификацию последовательностей, интегрируя долговременную информацию через структуру рекуррентных соединений LSTM. 3) В исследованиях DeepCNN рецептивное поле на оси времени его сверточной структуры и количество фильтров играют очень важную роль в производительности моделей распознавания речи, обученных на базах данных разного масштаба. 4) Чтобы обучить оптимальную модель на десятках тысяч часов речевой базы данных, требуется большой объем работы по настройке гиперпараметров модели, и эту работу можно выполнить, только полагаясь на высокопроизводительную вычислительную платформу с несколькими машинами и несколько графических процессоров. 5) Механизм сквозного распознавания речи, основанный на DeepCNN, также в определенной степени увеличивает вычислительную сложность модели.Благодаря собственному оборудованию Baidu такая модель также может обслуживать большинство пользователей распознавания речи.

3.2 IBM

В 2015 году IBM Watson объявила о важной вехе в распознавании разговорной речи на английском языке: система достигла 8% коэффициента ошибок в словах (WER) в очень популярной тестовой базе данных Switchboard. К маю 2016 года команда IBM Watson еще раз объявила, что их система создала новый рекорд в 6,9% коэффициента ошибок в словах в той же задаче, часть декодирования использовала HMM, а языковая модель использовала эвристическую модель языка нейронной сети. Акустическая модель в основном включает в себя три разные модели, а именно рекуррентную нейронную сеть с активацией maxout, глубокую сверточную нейронную сеть с ядром свертки 3 * 3 и двунаправленную сеть с долговременной и краткосрочной памятью.Давайте посмотрим на их внутреннюю структуру. .

Рис. 6. Платформа IBM Deep CNN

Вдохновение для очень глубокой сверточной нейронной сети исходит от сети VGG на конкурсе ImageNet 2014. Основная идея состоит в том, чтобы использовать меньшее ядро ​​свертки 3 * 3 для замены большего ядра свертки путем наложения нескольких слоев сверточных сетей перед объединением. layer. , используя функцию активации ReLU, можно получить ту же область восприятия, имея при этом преимущества меньшего количества параметров и большей нелинейности.

Как показано на рисунке выше, левая 1 — это самая классическая сверточная нейронная сеть, используются только два сверточных слоя, а между ними есть объединяющий слой, а сверточное ядро ​​​​сверточного слоя также больше, 9

9 и 4
3, и есть много характерных поверхностей свертки, 512 характеристических поверхностей свертки.

Left 2, Left 3 и Left 4 — все это структуры глубоких сверточных нейронных сетей Можно заметить, что отличие от классической сверточной нейронной сети заключается в том, что поверхности признаков свертки увеличиваются с 64 до 128, а затем до 256, а слой пула помещается перед увеличением числа поверхностей признаков свертки; все ядра свертки используют меньший 3

3 ядра свертки, размер пула слоя пула равен 2
1 увеличивается до 2*2.

Крайняя правая 10-конв имеет то же количество параметров, что и самая левая классическая сверточная нейронная сеть, но скорость сходимости в целых 5 раз выше, хотя вычислительная сложность увеличивается.

3.3 Майкрософт

В сентябре 2016 года в стандартной для отрасли задаче распознавания речи Switchboard исследователи Microsoft добились самого низкого в отрасли уровня ошибок в словах (WER) — 6,3%. Разработка акустических и языковых моделей на основе нейронных сетей, комбинация нескольких акустических моделей, использует ResNet для распознавания речи.

В октябре 2016 года группа из отдела искусственного интеллекта и исследований Microsoft сообщила, что их система распознавания речи достигла уровня ошибок в словах (WER), сравнимого или даже ниже, чем у профессиональных стенографисток, достигнув 5,9%. Уровень ошибок в словах 5,9% уже эквивалентен уровню человеческой стенографии для того же разговора, и это самый низкий показатель в текущей задаче распознавания речи Switchboard. Эта веха означает, что впервые компьютер может так же хорошо, как и человек, распознавать слова в разговоре. Систематически используются сверточные нейронные сети и нейронные сети LSTM в сочетании с новым методом пространственного сглаживания и акустическим обучением MMI без решетки.

Хотя для прорыва в точности даны числовые ориентиры, исследования Microsoft носят более академический характер и выполняются на стандартной базе данных — коммутаторе базы данных разговорных языков, который имеет всего 2000 часов.

3.4 Google

Согласно ежегодному интернет-отчету Мэри Микер, система распознавания речи Google, основанная на машинном обучении, в марте 2017 года достигла 95% точности слов в английском домене, что близко к уровню точности распознавания человеческой речи. Если провести количественный анализ, с 2013 года система Google улучшила производительность на 20%.

Рис. 7. Эволюция производительности распознавания речи Google

Как видно из статей Google на различных конференциях в последние годы, попытка Google углубить CNN в основном использует различные методы и слияние моделей, такие как Network-in-Network (NiN), Batch Normalization (BN), Convolutional LSTM (ConvLSTM). ) метод слияния. Например, структура, показанная Google на конференции icassp 2017 г.

Fig 8. [5] includes two convolutional layer at the bottom andfollowed by four residual block and LSTM NiN block. Each residual blockcontains one convolutional LSTM layer and one convolutional layer.

3.5 iFLYTEK DFCNN

В 2016 году, после предложения новой структуры сети последовательной памяти с прямой связью FSMN (сеть с последовательной памятью с прямой связью), iFLYTEK предложила новый метод под названием Deep Fully Convolutional Neural Network (DFCNN). количество сверточных слоев для непосредственного моделирования речевого сигнала всего предложения, что лучше выражает долговременную корреляцию речи.

Структура DFCNN показана на рисунке ниже.Он вводит не только спектральные сигналы, но и непосредственно преобразует предложение речи в изображение в качестве входных данных, то есть выполняет преобразование Фурье на каждом кадре речи, а затем использует время и частоту как два измерения, а затем с помощью комбинации множества сверточных слоев и объединенных слоев моделируется вся речь, и выходная единица напрямую соответствует конечному результату распознавания, например слогам или китайским иероглифам.

Рис. 9. Фреймворк DFCNN

Прежде всего, с точки зрения ввода, традиционные речевые функции используют различные искусственно созданные банки фильтров для извлечения функций после преобразования Фурье, что приводит к потере информации в частотной области, особенно в области высоких частот. очень большой сдвиг кадра с учетом вычислительной сложности, что, несомненно, вызывает потерю информации во временной области, которая более заметна, когда говорящий говорит с большей скоростью. Поэтому DFCNN напрямую использует спектрограмму в качестве входных данных, что имеет естественные преимущества по сравнению с другими системами распознавания речи, использующими в качестве входных данных традиционные речевые признаки. Во-вторых, с точки зрения структуры модели, DFCNN отличается от CNN традиционным распознаванием речи.Он использует наилучшую конфигурацию сети для распознавания изображений.Каждый сверточный слой использует маленькое ядро ​​свертки 3x3 и использует его в нескольких томах.Слой пула добавляется после слоя накопления, что значительно повышает выразительную способность CNN. В то же время, накапливая большое количество таких пар сверточных слоев объединения, DFCNN может видеть очень длинную историческую и будущую информацию. Это гарантирует, что DFCNN может выражать долговременная корреляция речи, которая является более надежной, чем структура сети RNN. Наконец, со стороны вывода, DFCNN также может быть прекрасно объединена с популярной в последнее время схемой CTC для достижения сквозного обучения всей модели, а специальные структуры, такие как содержащийся в ней слой пула, могут сделать вышеуказанную сквозную -конечная тренировка более эффективна.стабильность.

4 Резюме

Благодаря трансляционной инвариантности собственной свертки CNN в частотной области и предложению глубоких сетей CNN, таких как VGG и остаточная сеть, CNN вносила все новые и новые разработки, что сделало CNN одним из самых популярных направлений для распознавания речи в прошлом. два года один. Использование также развивалось от начальной мелкой сети с 2-3 уровнями до глубокой сети с более чем 10 уровнями, от структуры HMM-CNN до сквозной структуры CTC, различные компании также добились впечатляющих результатов в приложении. глубокого CNN.

Подводя итог, тенденция развития CNN в целом выглядит следующим образом:

1 Для более глубоких и сложных сетей CNN обычно используется в качестве первых нескольких слоев сети, что можно понимать как извлечение признаков с помощью CNN, за которым следуют LSTM или DNN. В то же время он сочетает в себе различные механизмы, такие как модель внимания, технология ResNet и др.

2 Сквозная система идентификации с использованием сквозных технологий CTC, LFR и т. д.

3 Крупнозернистые блоки моделирования, тенденция идет от состояния к телефону и к персонажу, и блок моделирования становится все больше и больше.

Однако у CNN также есть ограничения. [2,3] исследования показали, что сверточные нейронные сети наиболее полезны для задач с небольшими обучающими наборами или различиями в данных.Для большинства других задач снижение относительной частоты ошибок в словах обычно составляет всего 2%. диапазон 3%. В любом случае, CNN, как одно из важных направлений распознавания речи, имеет большое исследовательское значение.

использованная литература:

[ 1 ] Sainath,T.N, Vinyals, O., Senior, O.,Sak H:CONVOLUTIONAL, LONG SHORT-TERM MEMORY, FULLY CONNECTED DEEP NEURAL NETWORKS

[2] Сайнат, Т.Н., Мохамед, Ар, Кингсбери, Б., Рамабхадран, Б.: ГЛУБОКИЕ СВЕРТОЧНЫЕ НЕЙРОННЫЕ СЕТИ ДЛЯ LVCSR, В: Материалы Международной конференции по акустике, обработке речи и сигналов (ICASSP), стр. 8614-8618. (2013)

[ 3 ] Deng, L.,Abdel-Hamid,O.,Yu,D.:A DEEP CONVOLUTIONAL NEURAL NETWORK USING HETEROGENEOUS POOLING FOR TRADING ACOUSTIC INVARIANCE WITH PHONETIC CONFUSION.In:Proc. International Conference on Acoustics, Speech and signal Processing(ICASSP),pp.6669-6673(2013)

[ 4 ] Chellapilla, K.,Puri, S., Simard,P.:High Performance Convolutional Neural Networks for Document Processing.In: Tenth International Workshop on Frontiers in Handwriting Recognition(2006)

[ 5 ]Zhang, Y., Chan ,W., Jaitly, N.:VERY DEEP CONVOLUTIONAL NETWORKS FOR END-TO-END SPEECH RECOGNITION.In:Proc. International Conference on Acoustics, Speech and signal Processing(ICASSP 2017)

Связанное Чтение

Обучение Seq2Seq с помощью RNN осталось в прошлом, а CNN — это будущее?

Создание CNN с Tensorflow для практики анализа настроений

Замена ИИ на универсальный дизайн ускорения CNN «большая сила, маленькое сердце».

Эта статья была разрешена автором для публикации в сообществе Tencent Cloud Technology Community, укажите это при перепечатке.первоисточник