Машинное обучение – это применение искусственного интеллекта, которое относится к моделированию человеческого интеллекта в машинах. Используя приложения искусственного интеллекта, можно запрограммировать компьютер, чтобы он думал как человек и выполнял задачи, которые иногда могут быть более сложными для человека.
Основная цель искусственного интеллекта – автоматизация с помощью алгоритмов. Благодаря машинному обучению компьютеры автоматически учатся и совершенствуются на основе опыта без явного программирования.
В нашем проекте мы пытались заставить машины изучать различные звуковые входы с помощью машинного обучения, анализировать их и прогнозировать звуковые входы в реальном времени. Мы использовали Edge Impulse в качестве платформы для тестирования.
Edge Impulse помогает разработчикам создавать решения для интеллектуальных устройств следующего поколения со встроенным машинным обучением.
Для начала,
Шаг 1. Создайте учетную запись в Edge Impulse.
Шаг II: Назначьте имя для проекта: (Наш проект — распознавание звука)
Шаг 3. Для сбора данных требуется устройство. Совместимые устройства на платформе Edge Impulse включают:
- STB-L475–IOT01A
- Arduino Nano 33 BLE Sense
- Датчик искусственного интеллекта Eta Compute ECM3532
- Мобильный телефон
В нашем проекте мобильный телефон является устройством ввода, используемым для сбора данных.
Шаг IV: При сборе данных. Среди различных датчиков, присутствующих в мобильном телефоне, Edge Импульс имеет доступ к 2 датчикам, а именно: микрофону и акселерометру. Акселерометр используется для обнаружения движения в трехмерном пространстве. -ось. Принимая во внимание, что микрофон используется для сбора входного аудиосигнала.
В нашем проекте микрофон используется как датчик для сбора данных через мобильный телефон.
Шаг V: На вкладке Сбор данных в данном столбце указано подключенное устройство. Ярлык, длина выборкимаксимум 60 000 миллисекунд, необходимо указать датчик. Указав данные, нажмите начать выборку.
Шесть входных звуковых сигналов были собраны с помощью микрофона в течение 5 минут (как 5 отдельных входных сигналов продолжительностью 60 000 миллисекунд каждый).
- Фоновый шум
- Щебетание птиц
- Петух кукарекает
- Собачий лай
- Эсвар — Мой голос
- Навина — голос моей сестры
Шаг VI: На вкладке Импульсный дизайн → выберите вложенную вкладку Импульс. В данных временных рядов выбираются размер окна и увеличенное окно.
Размер окна указывает конкретный период из необработанных данных в виде одной выборки.
Увеличение окна – это увеличение определенного временного интервала для каждой выборки.
В нашем проекте размер окна был выбран 1000 миллисекунд, а увеличение окна составило 500 миллисекунд.
Блок обработки – это место, где выполняется анализ входных данных. Импульс Edge обеспечивает 4 блока обработки при подключении мобильного устройства — Аудио (MFCC), Сглаживание, Спектральный анализ и Необработанные данные. Приложение также рекомендует лучший блок в соответствии с требованиями. входных данных.
Для проекта распознавания звука Audio (MFCC) выбирается на основе рекомендаций Edge Impulse.
Блок обучения получает обработанные данные (из блока обработки) и подвергается глубокому обучению, создавая нейронную сеть (которая скрыт от пользователя). Доступны два обучающих блока — нейронная сеть (Keras) и K означает обнаружение аномалий. Edge pulse рекомендует лучший блок обучения в соответствии с требованиями пользователя.
Для проекта распознавания звука использовалась нейронная сеть (Keras).
Импульс нужно сохранить.
Шаг VII: На вкладке Impulse Design → вложенная вкладка MFCC (аудиораспознавание) → Параметры.
Он отображает
- Необработанные данные, показывающие зависимость амплитуды от времени в миллисекундах,
- Необработанные данные, показывающие значения амплитуды.
- Результаты DSP с коэффициентами кепстра, отражающими кепстр и обнаружение голоса/высоты тона. Эти значения указываются в параметрах.
Затем сохраните параметры.
В импульсе вкладка «Дизайн» → вложенная вкладка MFCC (аудиораспознавание) → генерирует функции.
Он отображает
- Обучающий набор с входными данными, введенными в алгоритм.
Затем нажмите «Создать объекты».
Создается вкладка обозревателя функций, и дальнейшая информация о данных предоставляется в виде трехмерного графика с осями X, Y и Z.
Шаг VIII: в разделе Импульсный дизайн → Классификатор нейронных сетей.
Он отображает
- Количество циклов обучения → количество эпох для обучения нейронной сети.
- Скорость обучения
- Минимальный рейтинг доверия→ пороговое значение для доверия к нейронной сети.
- В архитектуре нейронной сети входные и выходные слои фиксируются на основе входных данных. Принимая во внимание, что скрытые слои (между входным и выходным слоями) могут быть изменены в соответствии с требованиями пользователя.
Затем нажмите «начать обучение».
Затем отображается последняя тренировочная производительность с оценкой точности вместе с матрицей путаницы.
Шаг IX. После завершения обучения нейронной сети перейдите в режим классификации на устройстве.
Модель распознает аудиовход.
Теперь вы можете проверить это в режиме реального времени.
Чтобы ознакомиться с моделью тестирования в реальном времени, посмотрите видео.
Вывод:
Распознавание аудио — это модельный проект по обучению машины распознаванию аудиоимпульсов с 5 различными аудиовходами.
Увеличивая количество аудиовходов и период обучения, машина может распознавать звук с большей точностью и достоверностью. Таким образом, это можно использовать во многих приложениях, таких как поиск преступников, доступ к мобильным телефонам и ноутбукам.