Подтвердить что ты не робот

Сверточная нейронная сеть (CNN) для аудио

Я слежу за учебниками на DeepLearning.net, чтобы узнать, как реализовать сверточную нейронную сеть, которая извлекает функции из изображений. Учебное пособие хорошо объяснено, легко понять и следовать.

Я хочу расширить тот же CNN, чтобы извлекать мультимодальные функции из видео (изображений + аудио) одновременно.

Я понимаю, что видеовход - это не что иное, как последовательность изображений (интенсивности пикселей), отображаемых за определенный промежуток времени (например, 30 FPS), связанных с аудио. Тем не менее, я не совсем понимаю, что такое аудио, как оно работает или как оно разбито для подачи в сеть.

Я прочитал несколько работ по этой теме (извлечение/представление мультимодальных функций), но никто не объяснил, как аудио вводится в сеть.

Кроме того, я понимаю из своих исследований, что мультимодальное представление - это способ, которым наши мозги действительно работают, поскольку мы не намеренно отфильтровываем наши чувства для достижения понимания. Все это происходит одновременно, если мы не знаем об этом (совместное представление). Простым примером было бы, если бы мы услышали рев льва, мы мгновенно сочиним мысленный образ льва, почувствуем опасность и наоборот. Множество нейронных узоров устремлены в наши мозги, чтобы достичь полного понимания того, как выглядит лев, звучит, чувствует себя, пахнет и т.д.

Вышеупомянутая моя конечная цель, но пока я нарушаю свою проблему ради простоты.

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

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

enter image description here

Можно ли использовать ту же технику с изображениями на этих спектрограммах? Другими словами, могу ли я просто использовать эти спектрограммы в качестве входных изображений для моей сверточной нейронной сети?

4b9b3361

Ответ 1

Мы использовали глубокие сверточные сети на спектрограммах для задачи идентификации разговорного языка. У нас было около 95% точности в наборе данных, представленном в этом конкурсе TopCoder. Подробности здесь.

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

Ответ 2

Существует множество методов для извлечения векторов объектов из аудиоданных для обучения классификаторов. Наиболее часто используется MFCC (Mel-frequency cepstrum), который вы можете рассматривать как "улучшенную" спектрограмму, сохраняя более важную информацию для различения классов. Другим широко используемым методом является PLP (Perceptual Linear Predictive), который также дает хорошие результаты. Это еще многие другие менее известные.

В последнее время глубокие сети использовались для извлечения объектов-векторов сами по себе, что более похоже на то, как мы это делаем при распознавании изображений. Это активная область исследований. Недавно мы также использовали экстракторы признаков для обучения классификаторов изображений (SIFT, HOG и т.д.), Но они были заменены методами глубокого обучения, которые имеют исходные изображения в качестве исходных данных и извлекают функциональные векторы сами по себе (действительно, что такое глубокое обучение действительно все о).

Также очень важно заметить, что аудиоданные являются последовательными. После обучения классификатора вам необходимо обучить последовательную модель как HMM или CRF, которая выбирает наиболее вероятные последовательности речевых единиц, используя в качестве входных вероятности вероятности, данные вашим классификатором.

Хорошей отправной точкой для изучения распознавания речи является Jursky and Martins: Речевая и языковая обработка. Это очень хорошо объясняет все эти понятия.

[ EDIT: добавление потенциально полезной информации]

Существует множество инструментов для распознавания речи с модулями для извлечения векторов объектов MFCC из аудиофайлов, но использование, чем для этой цели, не всегда является простым. В настоящее время я использую CMU Sphinx4. Он имеет класс с именем FeatureFileDumper, который может использоваться автономно для генерации векторов MFCC из аудиофайлов.