【发布时间】:2019-10-15 00:46:38
【问题描述】:
我正在使用tf.losses.cosine_distance(Y, outputs, axis=2, reduction=tf.losses.Reduction.MEAN) 来衡量我的标签和预测之间的差异。张量形状为[batch_size, sequence_length, embedding]。在我的例子中,预测的形状是[16311, 20, 100]。
我的结果如下。
----------------------epoch1----------------------
train 1 loss 1.1429076
----------------------epoch2----------------------
train 2 loss 0.51511204
----------------------epoch3----------------------
train 3 loss -2.5750072
----------------------epoch4----------------------
train 4 loss -6.685198
----------------------epoch5----------------------
train 5 loss -10.863398
余弦相似度的边界是[0,1]。但在我的情况下,它在一开始就大于 1,并且在几个 epoch 后变为负数。我想知道为什么会发生这些。
我的嵌入包含负数。我应该在计算余弦距离之前对其进行归一化吗?
【问题讨论】:
标签: python tensorflow cosine-similarity