Как разработать нейронную сеть, которая может идентифицировать песню по композитору - PullRequest
0 голосов
/ 05 ноября 2018

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

Я пытаюсь создать нейронную сеть, которая может идентифицировать произведения классической музыки по композитору. Я буду тренировать его, используя набор классических клипов, каждый по 5 секунд и 5 разных композиторов. Всего будет 25 таких песен. Алгоритм, без какой-либо интеграции в приложение, должен быть в состоянии идентифицировать песни. У меня есть определенный набор требований для этого алгоритма.

1: он должен быть доступен для MacOS Mojave или High Sierra в виде приложения или библиотеки на языке программирования Python.

2: в нем должна быть какая-то документация о том, как создать нейронную сеть.

3: Он должен уметь обрабатывать слуховые раздражители. (Например, Xcode 10.1 не может обрабатывать слуховые раздражители, используя MLClassifier.)

4: пользователь должен иметь возможность легко изменять количество скрытых слоев в алгоритме.

Если все эти требования будут выполнены и если я смогу разрешить дополнительные проблемы в переписке, моя проблема будет решена. Я с нетерпением жду совместной работы с членами сообщества Stack Overflow, чтобы найти решение. Спасибо за любую помощь, которую вы можете оказать.

С уважением, Сурен Григорян

1 Ответ

0 голосов
/ 05 ноября 2018

Проблема:

The algorithm, without any integration into an application, has to be able to identify the songs.

Требования:

1: It must be available for MacOS Mojave or High Sierra as an application or library in the Python programming language.

2: It must have some sort of documentation online as to how to create a neural network in it.

3: It must be able to handle auditory stimuli. (For example, Xcode 10.1 cannot handle auditory stimuli using an MLClassifier.)

4: The user must be able to alter the number of hidden layers in the algorithm easily.

Это хлопотно. 1) противоречит постановке задачи - в ней указано требование интеграции MacOS или Python. 2) устанавливает требование интеграции (онлайн-документы). 4) ставит под угрозу требование эффективности (пользователь может изменять модель, пока она не станет бесполезной или слишком тяжелой для работы с доступными ресурсами.) Почему вы обязаны подготовить данные в 5-секундных фрагментах ? Проекты по науке о данных с запутанными требованиями могут принести больше вреда, чем пользы.

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

Если вы ранее не внедрили классификатор звука, у tf есть хороший стартовый проект в их документах: https://www.tensorflow.org/tutorials/sequences/audio_recognition

...