Я пытаюсь предсказать ключи музыки c, используя Keras NN, и пытаюсь найти подходящую функцию потерь, чтобы правильно показать расстояние между 24 общими клавишами диатони c.
Сейчас довольно просто найти расстояние между мажорной и минорной клавишами соответственно, но при добавлении штрафа за неправильную тональность (мажорная / минорная) это становится трудным.
Пятый круг
Идея состоит в том, что любой шаг вокруг внешнего или внутреннего круга является относительным штрафом 2, тогда как шаг от внешнего круга к штраф по внутреннему кругу равен единице.
т.е.:
хотя для оценки потерь в сети это выглядит как действительный показатель c, я не уверен, что его можно реализовать как показатель потерь c в Керасе.
при рассмотрении только основных ключи пронумерованы 1-12 в порядке круга пятых
def MSE_COF(y_true, y_pred):
delta = K.minimum(K.abs(y_pred - y_true), 12 - K.abs(y_pred - y_true)
return K.mean(K.square(delta), axis=-1)
как бы расширить это, чтобы включить второстепенные ключи?