美文网首页
Siamese network

Siamese network

作者: 三方斜阳 | 来源:发表于2021-05-24 21:07 被阅读0次

关于孪生网络的简单学习记录

1. Siamese network(孪生网络)概念:

孪生神经网络
  • 如图所示是一个孪生网络的一般架构,Siamese network就是“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的,共享权值就是左右两个神经网络的权重一模一样,在代码实现的时候,甚至可以是同一个网络,不用实现另外一个,因为权值都一样。对于siamese network,两边可以是lstm或者cnn,都可以。
  • 如果左右两边不共享权值,而是两个不同的神经网络,则叫做pseudo-siamese network,叫做伪孪生神经网络

2. 孪生网络用途:

  • 孪生神经网络有两个输入(Input1 and Input2),将两个输入feed进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。
  • 孪生神经网络用于处理两个输入"比较类似"的情况。伪孪生神经网络适用于处理两个输入"有一定差别"的情况。比如,我们要计算两个句子或者词汇的语义相似度,使用siamese network比较适合;如果验证标题与正文的描述是否一致(标题和正文长度差别很大),或者文字是否描述了一幅图片(一个是图片,一个是文字),就应该使用pseudo-siamese network。也就是说,要根据具体的应用,判断应该使用哪一种结构,哪一种Loss。
  • 具体使用实例有:
    1)词汇语义相似度分析,QA 中 question 和 answer 的匹配
    2)手写体识别也可以用 Siamese Network

3. Triplet Network(三胞胎网络)

  • Triplet Network 叫三胞胎网络,输入是三个,一个正例+两个负例,或者一个负例+两个正例,训练的目标是让相同类别间的距离尽可能的小,让不同类别间的距离尽可能的大。Triplet在cifar, mnist的数据集上,效果都是很不错的,超过了siamese network,论文是《Deep metric learning using Triplet network》。


相关文章

网友评论

      本文标题:Siamese network

      本文链接:https://www.haomeiwen.com/subject/trhfsltx.html