В одной из статей Google ( ИЗУЧЕНИЕ ТОРГОВЛИ В МОДЕЛЯХ ДЛЯ РАСШИРЕНИЯ РЕЧИ НИЗКОРОЧНОЙ ) используйте это
Функция потери, чтобы минимизировать ошибку, я кодировал эту функцию в Python с помощью Tensorflow,
def loss_cal(noise_source, mask, target):
landa = 0.113
masked_spec = noise_source*mask
cc = K.l2_normalize(tf.abs(tf.pow(tf.maximum(1e-4, target), 0.3))-tf.abs(tf.pow(tf.maximum(1e-4, masked_spec), 0.3)))
cm = K.l2_normalize(tf.math.pow(tf.maximum(1e-4, target), 0.3)-tf.math.pow(tf.maximum(1e-4, masked_spec), 0.3))
res = tf.math.square(cc)+landa*tf.math.square(cm)
return res
, но она возвращает матрицу, в то время как функции потери должны возвращать скаляр, пожалуйста, исправьте меня, это мой реализация неверна? или можно обучить модель с потерей в качестве матрицы?