
Глубокое обучение — это технология, не требующая представления.
По мере того, как мы идем к прогрессу, у нас появляется все больше и больше препятствий для решения наших сегодняшних проблем.
Но благодаря многим исследователям, ученым и разработчикам у нас есть очень мощный инструмент. Который известен как глубокое обучение.
Глубокое обучение — это сложная, но простая в изучении структура различных библиотек, а также кода (Python).
Оглавление:
1. Введение
2-О наборах данных
3-Бизнес-проблема
4- Сопоставление с проблемой ML/DL
4.1- Тип проблемы наклона машины
4.2- Метрика(ы)
5- Исследовательский анализ данных (EDA)
6- Upsample Datapoint
7- Извлечение функций
8-Подход
9- Теория моделей
10- Архитектура модели (окончательная модель)
11-модель обучения
12- Выход
13- Конечная нота
14- Справочник
1- Введение
Аудиоклассификация с использованием глубокого обучения — это не полное решение всех ваших проблем. Но это своего рода модель или технология, которая поможет любому получить имя класса аудиозапроса.

А чтобы узнать больше о технологиях, о том, как решать повседневные проблемы в реальном мире, пожалуйста, обратитесь к другим моим рассказам Двигатель профориентации и Модель последовательности-2-последовательности с вниманием.
2-О наборе данных
Этот набор данных содержит 8732 помеченных звуковых отрывка (‹=4s) городских звуков из 10 классов: кондиционер_кондиционер, автомобильный гудок, детские_игры, собачий лай, бурение, двигатель_холостой ход, выстрел_выстрела, отбойный молоток, сирена и уличная_музыка. Классы взяты из таксономии городских звуков.
Все отрывки взяты из полевых записей, загруженных на www.freesound.org. Файлы предварительно сортируются по десяти папкам (папки с именами fold1-fold10), чтобы облегчить воспроизведение и сравнение с результатами автоматической классификации, описанными в статье выше.
АУДИОФАЙЛЫ ВКЛЮЧЕНЫ 8732 аудиофайла городских звуков (см. описание выше) в формате WAV. Частота дискретизации, битовая глубина и количество каналов такие же, как и у исходного файла, загруженного на Freesound (и, следовательно, могут варьироваться от файла к файлу).
Позже этот набор данных был изменен для целей нашего эксперимента и изменен на 69856 точек данных из 8732 исходных точек данных с использованием различных методов увеличения.
Точки данных в основном классифицируются как: -
‘0’: ‘кондиционер_кондиционера’
«1»: «car_horn»
«2»: «дети_играют»
«3»: «dog_bark»
«4»: «сверление»
«5»: «engine_idling»
«6»: «gun_shot»
«7»: «отбойный молоток»
«8»: «сирена»
'9': 'уличная_музыка'

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

4 – Сопоставление с проблемой ML/DL
4.1- Тип проблемы наклона машины
Это проблема многоклассовой классификации, здесь мы предсказываем класс звука, чтобы сообщить пользователю, какой тип звука у него есть в качестве запроса.
4.2- Показатели:
я] Точность
5 – Исследовательский анализ данных (EDA)
Начнем с самого набора данных.
Здесь мы можем видеть Slice_file_name, fsID, начало, конец и другие функции, предоставляемые организацией набора данных.

Здесь можно увидеть другой и замечательный сюжет с использованием морского волка. В котором также говорится, что car_horn, gun_shot принадлежит к лейблам класса меньшинства и правильно сбалансированному набору данных другого взгляда.
Давайте проверим и откроем фактические точки данных, чтобы увидеть, как выглядит их частота.

мы можем проверить фактическую точку данных звука, используя частоту в Гц. Частота дискретизации составляет 22050 для конкретной точки данных, которую мы рассмотрели.

Цветное представление этого конкретного набора данных, для которого у нас есть частота и частота дискретизации.
ВЫВОДЫ ЭДА
1). Согласно набору данных, они имеют одинаковую скорость выборки для всех точек данных.
2). Но этих данных недостаточно для построения надежной модели классификации звука.
3). Итак, мы повысим выборку Datapoint, чтобы получить правильную классификацию.
6 – Повышение выборки данных

Здесь мы будем использовать технику увеличения данных, чтобы увеличить нашу точку данных.
И будет использовать такую технику, как ускорение, добавление шума, изменение высоты тона.
Таким образом, мы добьемся большого разнообразия точек данных набора данных. А также мы получим абсолютный и ожидаемый набор данных, который необходим для нашего эксперимента.
Теперь число точек данных составляет 69856.
И, очевидно, для них также будут созданы метаданные.
7 – Извлечение функций

Здесь мы будем использовать кепстральные коэффициенты Mel-Frequency (MFCC) из аудиосэмплов. MFCC суммирует частотное распределение по размеру окна, поэтому можно анализировать как частотные, так и временные характеристики звука. Эти звуковые представления позволят нам идентифицировать признаки для классификации.
И все функции, которые были извлечены с помощью librosa mfcc, представлены в формате массива.
8 – Подход

Поскольку цель состоит в том, чтобы предсказать класс звука из данного файла, класса, сгиба, который позже преобразуется в функцию, класс, путем передачи данных в модуль librosa mfcc.
Мой первый подход заключался в использовании техники трансферного обучения, такой как ResNet 50.
Которые работают с набором данных изображений, поэтому преобразовали эти аудиофайлы wav в изображения с помощью спектрограммы.
А также создал метаданные для данных изображения с
Который будет выглядеть так
Созданы данные в формате imagenet для использования трансферного обучения resnet50.
WARNING:tensorflow:From /usr/local/lib/python3.7/dist-packages/keras/layers/normalization/batch_normalization.py:520: _colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version. Instructions for updating: Colocations handled automatically by placer. Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5 94773248/94765736 [==============================] - 1s 0us/step 94781440/94765736 [==============================] - 1s 0us/step
Но здесь точность обучения увеличивалась, а точность проверки не увеличивалась, которая застряла на уровне 0,1595, т.е. 15% точности.
Итак, мой второй подход заключался в использовании последовательной модели.
Для каких данных извлекаются как
Итак, наша «Y» (зависимая переменная), то есть «класс», была преобразована с использованием библиотеки LabelEncoder, то есть библиотеки sklearn, а «X» (независимая переменная) была «функцией».
Примечание. Эти зависимые (x) и независимые (y) функции извлекаются методом librosa mfcc, который упоминается выше в разделе Извлечение функций.
Здесь мы получили
Точность обучения → 0,79775
Точность теста — — →0,65998
Что было нехорошо, так как мы увеличили исходные данные. Тогда этого не должно быть.
Итак, мой третий подход заключался в использовании Dense CNN.
Для которого используется метод ниже
Здесь x и y такие же, как в модели Sequtail.
Моделирующая часть
Здесь мы получили точность как
Точность обучения: 0,895068347454071
Точность тестирования: 0,9158557653427124
А то ждал выхода. Итак, доработал эту модель с хорошей точностью до сих пор.
9- Теория моделей
Для этой проблемы, как вы можете видеть выше, используются различные техники или метод глубокого обучения. Но здесь мы подробно расскажем об окончательной модели, то есть Dense CNN.
Плотная CNN — это тип Deep CNN, в котором каждый слой связан с другим слоем, более глубоким, чем он сам.
В обычной CNN каждый уровень связан только со своими братьями и сестрами. Рассмотрим 4 слоя, выход из L1 подключен только к L2, выход из L2 подключен только к L3, выход из L3 подключен только к L4.
В плотной CNN рассмотрим 4 слоя, выход из L1 подключен к L2, L3, L4, выход из L2 подключен к L3, L4, выход из L3 подключен к L4.
Пожалуйста, обратитесь к этой статье ссылка.

Зачем нам это нужно?

Потому что сегодня у нас есть нейронные сети со 100 слоями или даже больше. Нейронные сети обучаются с помощью обратного распространения ошибки. В этом алгоритме градиент (производная) функции стоимости используется для обновления весов каждого слоя. С каждым новым слоем значение градиента уменьшается, особенно если вы используете сигмоид. Это приводит к увеличению времени обучения, а иногда оно вообще не тренируется. Эта проблема также известна как исчезающий градиент. Прямое соединение в Dense CNN решает эту проблему.
Плотные CNN также менее склонны к переоснащению по сравнению с обычными CNN.
Подробнее читайте в этой статье, за ней довольно легко следить.
10- Архитектура модели (окончательная модель)
Это последняя успешная модель, которую мы имеем в нашем развернутом приложении на Heroku App».
Здесь мы имеем всего 69856 точек данных.

12- Выход
Модель была протестирована на разных тестовых точках данных, и результаты довольно хорошие и точные. пожалуйста, посмотрите на ссылку ниже
Конец примечания:- Прочитав приведенные выше утверждения, можно получить знания о том, как работать с задачами в реальном времени. Как использовать методы машинного обучения и глубокого обучения в соответствии с различными сценариями. Построив такую полезную модель . Настоящим сообщаю, что мы закончили с этим заявлением о реальной проблеме бизнеса в мире.
Будущая работа: - Для дальнейшего улучшения вышеуказанной работы можно добавить больше эпох в завершенную модель. Можно использовать механизм внимания (чтобы узнать о механизме внимания, см. Модель последовательности-2-последовательности с вниманием), попробуйте использовать какой-либо другой размер партии. , попробуйте больше слоев в модели.
Большое спасибо !!! для чтения этого контента.
LinkeIn профиль и GitHub профиль
Использованная литература:
https://www.appliedaicourse.com
UrbanSound8K — наборы данных городского звука
Я благодарен моему наставнику «Сэр Брахма» и «Всем другим членам команды AppliedAI».
Пожалуйста, обратитесь к этому обзорному документу за помощью в конкретной постановке проблемы.
ESSENTIA: библиотека с открытым исходным кодом для анализа звука и музыки
https://hal.archives-ouvertes.fr › hal-01123764
(PDF) На пути к стандартизации оценки предпочтений звукового ландшафта (researchgate.net)