计算矩阵之间的损失

时间:2020-04-07 09:51:33

标签: python-3.x machine-learning deep-learning tensorflow2.0 loss-function

在Google的一篇文章(EXPLORING TRADEOFFS IN MODELS FOR LOW-LATENCY SPEECH ENHANCEMENT)中使用

enter image description here

损失函数以最大程度地减少错误,我已经使用Tensorflow在Python中对该函数进行了编码,

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

但是它返回一个矩阵,而损失函数必须重新缩放,请纠正我,我的实现错误吗?还是有可能训练损失为矩阵的模型?

1 个答案:

答案 0 :(得分:0)

您不应该只使用norm而不是l2_normalize吗?

l2_normalize返回一个用范数标准化的矩阵。