Модель машинного обучения для оценки звука генератора?
Привет, ребята,
Я думаю над следующей задачей и как-то не уверен в решениях. Мне интересно, как бы другие разработали эту систему и насколько мой подход верен.
Есть компания, которая занимается мониторингом своих электрогенераторов, с целью определить, когда генераторы нуждаются в ремонте, основываясь на звуках, которые они издают. Генераторы постоянно контролируются с помощью микрофонов, а аудиоданные сохраняются для обработки. Мне нужно разработать модель машинного обучения, которая будет определять нуждаеться ли генератор в ремонте. Три основных вопроса:
Контролируемое и неконтролируемое обучение? (supervised vs unsupervised)
Я думаю, что супервизорный подход лучше, потому что мы будем загружать в модель маркированные данные - в качестве маркированных данных я понимаю звуки генераторов, два набора (нуждается в обслуживании/не нуждается).
Какая архитектура ML?
Рекуррентные/рекурсивные нейронные сети (RNNs). Они используются для решения последовательных задач, таких как обработка речи и т.д.
Какие этапы предварительной обработки будет включать ваш конвейер и почему? Pre-processing pipeline
Я думал, что мне нужно создать списки данных, загрузить их, но в голову не приходит больше идей...
Интересная задача. В разных постановках - вообще-то решаемая. (Для меня - несколько личная - еще в конце 80-ых годах прошлого столетия писал писал систему в котором по звуку определялась наличие полостей-раковин, т.е. брака - в больших литых изделиях). Сегодня акустическая диагностика - одно из не очень модных, но реально очень полезных применений машинного обучения.
Вопрос про supervised vs unsupervised сформулирован не совсем корректно. Если вы уже накопили пару тысяч образцов записей, причем для каждой из них вам известно, соответствует она нормальному или предаварийному состоянию оборудования - тогда вопросов нет, применяем метод с обучением. Впрочем остается вопрос - а какой именно из них, но тут надо уже экспериментировать-анализировать исследовать. А вот если такой звукотеки размеченных образцов у вас нет - тогда думаем над использованием методов кластеризации (т.е. unsupervised- методов)
Про то, стоит-ли тут использовать нейросети - вопрос дискуссионный. Не забывайте, что современные методы классификации (или кластеризации с последующей классификации) с использованием тех-же деревьев на задачах подобных вашей часто показывают точность лучшую, чем методы на основе нейросетей.
Но в любом случае рекуррентные сети в данном случае - весьма сомнительное решение. Ведь у вас не задача предсказания, выявления аномалии во временном ряду и даже не задача динамического распознавания шаблонов (звуков) в сигнале. У вас задача простой классификации многомерных данных, представленных в виде ряда. А это как правило не предполагает глубокой корреляционной зависимости внутри данных. Более того, (на сколько могу припомнить) вашу задачу может оказаться более эффективно решать перейдя из временного в частотное представление звукового сигнала и тогда вообще данные есть ничто иное, как многомерный статичный набор значений признаков (в данном случае - частот).
Удачи в исследовании. Будут конкретные вопросы - задавайте. Чем можем - поможем.