如何引入损失以使两个矩阵相似

斯帕德尔

我正在训练一个神经网络,我希望两个矩阵相似(协方差矩阵)。我幼稚的方法是基于差异使用损失,例如L1损失。但这也迫使矩阵变小,这不是我想要的。

有人在这里有个主意吗?

非常感谢!

伊万

您可以使用许多指标(欧几里得距离,余弦相似度,非负特征的Bhattacharyya相似度,Jensen-Shannon散度)。

余弦相似度似乎是一个不错的起点。您可以通过考虑维空间中的两个n x m矩阵来实现n*m并且,将这两个向量与余弦相似度进行比较。

实际上,可以使用torch.flatten来完成torch.nn.functionnal.cosine_similarity或等效地带有nn.Flatten层和nn.CosineSimilarity

在这里,我采取了功能路线:

>>> x = torch.rand(1, 10, 10)
>>> y = torch.rand(1, 10, 10)

>>> F.cosine_similarity(torch.flatten(x, 1), torch.flatten(y, 1))
tensor([0.6220])

请注意,批次将需要额外的尺寸:axis=0


编辑-如果您不使用批处理,则可以将两个张量都广播到一维张量:

>>> F.cosine_similarity(x.reshape(1, -1), y.reshape(1, -1))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算两个矩阵的余弦相似度

来自分类Dev

Python:计算两个矩阵的相似元素

来自分类Dev

如何比较两个矩阵?

来自分类Dev

如何对两个矩阵求和?

来自分类Dev

如何相交两个或多个矩阵?

来自分类Dev

如何测试两个javascript对象是否相似?

来自分类Dev

您如何测试两个哈希(密码)是否相似?

来自分类Dev

如何合并两个相似的JavaScript代码块?

来自分类Dev

如何比较两个值并检查它们是否相似

来自分类Dev

如何计算JavaScript中两个列表的相似度

来自分类Dev

如何结合两个几乎相似的RxJava方法?

来自分类Dev

如何比较两个相似代码位的性能?

来自分类Dev

pytorch nn中的两个数据集如何使用两个损失?

来自分类Dev

两个矩阵的乘积

来自分类Dev

如何在[r]中引入两个逆累积概率分布之间的相关性?

来自分类Dev

Python如何在numpy中合并两个矩阵

来自分类Dev

如何合并两个矩阵的输入值?

来自分类Dev

如何在两个栅格(矩阵)之间替换值?

来自分类Dev

R如何将这两个矩阵相除?

来自分类Dev

如何创建比较两个矩阵的误差函数?

来自分类Dev

如何获得两个矩阵之间的标量乘法?

来自分类Dev

如何计算R中两个骰子总和的矩阵?

来自分类Dev

如何在numpy中合并两个矩阵?

来自分类Dev

如何在两个栅格(矩阵)之间替换值?

来自分类Dev

如何获得两个稀疏矩阵的集合差异?

来自分类Dev

如何在两个矩阵之间进行过滤?

来自分类Dev

如何用Pyspark的SVM拟合两个Numpy矩阵?

来自分类Dev

如何使两个矩阵的差的R Venn图不同?

来自分类Dev

如何从文件中提取两个单独的矩阵?