На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Rust
  
> Заказ: Python: построить и обучить нейронную сеть до данным
    Предлагаю за вознаграждение (сумма обсуждается) выполнить следующее задание. Необходимо построить feedforward нейронную сеть и обучить ее методом backpropagation предсказывать с точностью +-5% мел-частотные кепстральные коэффициенты (MFCC) суммы 5-ти сигналов по MFCC этих сигналов. Данные прилагаются. Формат данных: каждая строка - это 40 MFCC одного звукового фрейма. Итого получаем 200 нейронов входного слоя и 40 в output layer.

    Данные лежат здесь:
    https://drive.google.com/file/d/0B3XxCLgPDV...iew?usp=sharing (результат - сумма)
    https://drive.google.com/file/d/0B3XxCLgPDV...iew?usp=sharing (сигнал 1)
    https://drive.google.com/file/d/0B3XxCLgPDV...iew?usp=sharing (сигнал 2)
    https://drive.google.com/file/d/0B3XxCLgPDV...iew?usp=sharing (сигнал 3)
    https://drive.google.com/file/d/0B3XxCLgPDV...iew?usp=sharing (сигнал 4)
    https://drive.google.com/file/d/0B3XxCLgPDV...iew?usp=sharing (сигнал 5)

    Задание будет считаться выполненным, если на произвольных данных, которые я предоставлю, нейронная сеть предскажет MFCC суммы сигналов в пределах 5%.

    Примечание. Данные получены с помощью Wolfram Mathematica (http://mathematica.wolframcloud.com/app/) запросом
    a = Audio["<URL звукового файла Wav>"];
    mfcc=AudioLocalMeasurements[a,{"MFCC",40,40,Quantity[80, "Hertz"] ,Quantity[7999, "Hertz"] },PartitionGranularity->{0.0125,0.00625}];
    Export[NotebookDirectory[]<>"FILENAME.xlsx",(Prepend[#[[2]],#[[1]]]&)/@Normal[mfcc]]
    При этом первый столбец с точками времени я удалил в исходных данных.
    Учитывая алгоритм вычисления MFCC, нейронная сеть должна смоделировать:
    1. обратное дискретное косинусное преобразование (IDCT, 40*5 чисел на входе и выходе, результат каждой группы из 40 чисел зависит только от 40 соответствующих входов)
    2. показательная функция / экспонента (судя по моим данным корреляций на больших выборках данных, Wolfram использует натуральный логарифм для MFCC)
    3. обратное преобразование из Log FilterBank Energies (LFBEs) - восстановление с потерями спектра сигнала
    4. простое суммирование спектров всех 5 сигналов
    5. вычисление LFBE по спектру суммы
    6. логарифмирование с основанием e или 10
    7. DCT (дискретное косинусное преобразование).
    В связи с большим количеством операций предлагается использовать несколько скрытых слоев.
    Также сигналы 1-5 обладают специфическими свойствами, и желательно, чтобы нейронная сеть была устойчива к замене одного сигнала другим (то есть при обучении надо менять 5 раз местами исходные данные, и ещё, возможно, следует часть весов приравнивать друг другу из-за идентичности преобразований на первых этапах).
    Сообщение отредактировано: BobNik -
      Другая задача:
      Реализация расчета MFCC Wolfram Mathematica на Python. Известные реализации не дают тех же результатов.
      Код Wolfram Mathematica (запустить можно локально или здесь http://mathematica.wolframcloud.com/app/):
      a = Audio["<URL звукового файла Wav>"];
      mfcc=AudioLocalMeasurements[a,{"MFCC",40,40,Quantity[80, "Hertz"] ,Quantity[7999, "Hertz"] },PartitionGranularity->{0.0125,0.00625}];
      Export[NotebookDirectory[]<>"FILENAME.xlsx",(Prepend[#[[2]],#[[1]]]&)/@Normal[mfcc]]
        Актуальна только задача в посте #2.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0149 ]   [ 17 queries used ]   [ Generated: 28.03.24, 18:04 GMT ]