Python Keras余相似性-正或负

Python Keras余相似性-正或负,python,tensorflow,keras,deep-learning,cosine-similarity,Python,Tensorflow,Keras,Deep Learning,Cosine Similarity,我在训练一个模型,我的损失函数是余弦相似性: model.compile(optimizer='adam', loss=tf.keras.losses.cosine_similarity, metrics=[tf.keras.metrics.CosineSimilarity(axis=1)]) 在Keras中,“余弦相似性”应该收敛到-1 另一方面,“余弦相似性”应该朝着1的方向发展,以获得更好的准确性,对吗 提前谢谢 由于这是一个损

我在训练一个模型,我的损失函数是余弦相似性:

model.compile(optimizer='adam', 
              loss=tf.keras.losses.cosine_similarity, 
              metrics=[tf.keras.metrics.CosineSimilarity(axis=1)])
在Keras中,“余弦相似性”应该收敛到-1

另一方面,“余弦相似性”应该朝着1的方向发展,以获得更好的准确性,对吗


提前谢谢

由于这是一个损失,我们在训练过程中最小化损失,因此符号是反向的,因此当最小化损失(朝-1)时,实际的相似性朝1最大化。我还认为稳定版本中的文档有点混乱,请参见以下示例:

y_true = [[0., 1.], [1., 1.], [1., 1.]]
y_pred = [[1., 0.], [1., 1.], [-1., -1.]]
loss = tf.keras.losses.cosine_similarity(y_true, y_pred, axis=1)
loss.numpy()
array([-0., -0.999, 0.999], dtype=float32)

由于某种原因,度量也使用-(减号)来实现。

损失:-0.9608-余弦相似性:-0.9117-val\u损失:-0.8188-val\u余弦相似性:-0.9117
我的损失趋于-1,正如您所解释的那样。那么余弦相似度量呢,它也应该收敛到-1,对吗?嗨@isydmr-对不起。。。似乎
余弦相似性既可以是a也可以是a。如果将其作为一个度量来实现,那么根据文档,随着拟合度的提高,它实际上应该收敛到1。