Выбор функции потерь для обработки звукового сигнала с применением нейронных сетей
в данный момент работаю над нейронной сетью которая сжимает аудиоданные, если вы имеет хорошие статьи в этой области или работы (ссылки на githab) не могли ли бы вы поделиться. А теперь к проблеме. Построил нейронную сеть, вроде бы обучил, она показала хорошие результаты по функции потерь.
10646/16384 [==================>...........] - ETA: 1:19 - loss: 0.0261 - reconstruction_loss: 0.0119.
Функцию потерь использовал tf.keras.losses.MeanSquaredError() среднеквадратичную ошибку во время обучения. После чего начал тестировать сеть, подавал на выход сети тестовые данные, после сжатия их восстанавливал и сравнивал. Для сравнения использовал несколько функций ошибки:
Среднеквадратичная ошибка: 0.007688329071532628 Абсолютная ошибка: 0.06874919453193457 Средняя абсолютная процентная ошибка: 13.701648363186077 Косинусное сходство: -0.98648834
По данным цифрам видно, что результаты как бы отличные, но если посмотреть на график и оценить его визуально, сразу становится понятно, что что то не то.
Оранжевый график реальный сигнал, синий - восстановленный
Также решил посмотреть спектр данных сигналов (извините за качество, было лень убирать постоянную составляющую и размечать частоты):
1 график восстановленный сигнал.
2 график реальный сигнал