Глава 4. Распознавание изображений и звуковых сигналов
179
4.4. Распознавание устной речи
До сих пор мы использовали сверточные сети для задач машинного зрения. Но орга
ны чувств человека не ограничиваются зрением. Звуковая информация представляет
собой не менее важный тип входных данных, и с ней можно работать через API брау
зера. Как же распознать содержимое и смысл речи и прочих звуков? Что интересно,
сверточные сети подходят не только для машинного зрения, но и для связанного
с аудиоданными машинного обучения.
В этом разделе мы продемонстрируем решение относительно простой задачи,
связанной с обработкой звуковых данных, с помощью сверточной сети, подобной
созданной нами для MNIST. Задача состоит в классификации коротких речевых
сообщений примерно по 20 категориям слов. Эта задача проще, чем задачи распо
знавания речи, решаемые в таких устройствах, как Amazon Echo или Google Home.
В частности, упомянутые системы распознавания речи требуют намного большего
словарного запаса, чем в этом примере. Кроме того, они способны обрабатывать
связную речь, состоящую из длинных последовательностей слов, в то время как наш
пример обрабатывает произносимые по отдельности слова. Следовательно, наш при
мер нельзя считать «системой распознавания речи», правильнее будет описать его
как «средство распознавания слов» или «средство распознавания речевых команд».
Тем не менее он вполне применим на практике (например, для пользовательских
интерфейсов типа handsfree и специальных возможностей). Кроме того, реализо
ванные в примере методики глубокого обучения формируют фундамент для более
продвинутых систем распознавания речи
1
.
4.4.1. Спектрограммы: представление звуков
в виде изображений
Как и в любом приложении глубокого обучения, чтобы разобраться в работе модели,
необходимо сначала разобраться в данных. Чтобы понять, как работают сверточ
ные сети, обрабатывающие звуковые данные, нужно разобраться с представлением
звука в виде тензоров. Как вы помните из школьного курса физики, звуки речи
представляют собой паттерны колебаний давления воздуха. Микрофон улавливает
эти колебания и преобразует их в электрические сигналы, затем оцифровываемые
с помощью звуковой карты компьютера. Современные браузеры поддерживают
API
WebAudio
, способный взаимодействовать со звуковой картой и обеспечивать
доступ к оцифрованным аудиосигналам в режиме реального времени (с разрешения
пользователя). Таким образом, с точки зрения программиста на JavaScript, звуки —
это массивы вещественных чисел. В глубоком обучении подобные массивы чисел
обычно представляются в виде одномерных тензоров.
Вероятно, вы недоумеваете, как сверточные сети, подобные приведенным выше,
могут работать с одномерными тензорами. Разве они не предназначены для работы
с тензорами по крайней мере ранга 2? Ключевые слои сверточной сети, включая
1
Collobert R.,
Puhrsch C., Synnaeve G.
Wav2Letter: An EndtoEnd ConvNetbased Speech
Recognition System // submitted 13 Sept. 2016. https://arxiv.org/abs/1609.03193.
180
Do'stlaringiz bilan baham: |