【发布时间】:2019-06-08 18:37:06
【问题描述】:
我正在尝试为两个 200 维的张量实现成对铰链损失。目标是使用这两个张量的余弦相似度作为评分函数,并使用成对铰链损失训练模型。
该模型接受两个文本输入,它们已被转换为两个 200 维向量。 (第二个文本输入是第一个文本输入的正确标签)。
谁能告诉我如何在 Keras 中实现它?
def cosine_distance(vests):
jd, jt = vests
jd = K.l2_normalize(jd, axis=-1)
jt = K.l2_normalize(jt, axis=-1)
return -K.mean(jd * jt, axis=-1, keepdims=True)
def cos_dist_output_shape(shapes):
shape1, shape2 = shapes
return (shape1[0],1)
上面是我为 lambda 层计算余弦相似度的代码,jd 是第一个文本输入,jt 是第二个。
谢谢
【问题讨论】:
标签: keras deep-learning nlp