Разочарование в нейросетях

Автор: | 11 марта, 2025

Скорее даже не в самих нейронках, а в принципах оценки их работы и явных манипуляциях цифрами. Я не буду в очередной раз писать про галлюцианции больших языковых моделей, а использую гораздо более простой пример. Поскольку моя работа связана с обработкой звука, то мне часто приходится определять темп и тональность музыкальной композиции. При определении темпа возникает хорошо известная ошибка октавы, когда софт возвращает кратное значение вместо правильного, например 60 BPM вместо 120. Решить эту проблему классическими алгоритмами не получилось, поэтому надежда была на нейросети.

Если смотреть со стороны, то проблема уже решена. Еще 5 лет назад были предложены эффективные модели на архитектуре TCN, которые обеспечивают точность на уровне 98.5%. Одна из последних публикаций на эту тему так и называлась «Music Tempo Estimation: Are We Done Yet?». И автор наглядно продемонстрировал что скрывается за впечатлающими цифрами. Если говорить коротко — то ни одна из предложенных моделей не имеет практической пользы. Точность 98.5 вовсе не означает, что вы получите искомое значение, этот параметр Acc2 означает что значение может быть кратным 2, 3,  1/2 или 1/3 от правильного. Та самая ошибка октавы. Но есть еще показатель Acc1, который находится в районе 85% для разных моделей. Увы и ах, этот показатель допускает отклонение в 4% от правильного, что при сведении треков неприемлемо. Ну, и в качестве вишенки на торте, все эти показатели достигнуты на наборах данных, которые использовались для тренировки модели. После обучения на разнородных треках точность падает ниже 70%.

Для сравнения, я прогнал те же тестовые датасеты через определитель темпа, использующий классические алгоритмы и он покзал более высокую точность, в районе 86%, причем отклонение не превышало 1% от правильного значения BPM.