Siamese networks

        Siamese Network 是一种神经网络的架构,而不是具体的某种网络,就像Seq2Seq一样,具体实现上可以使用RNN也可以使用CNN。Siamese Network 就像“连体的神经网络”,神经网络的“连体”是通过共享权值来实现的(共享权值即左右两个神经网络的权重一模一样)。

        Siamese Network的作用就是衡量两个输入的相似程度。孪生神经网络有两个输入(input1 and input2),将两个输入 feed 进入两个神经网络(Network1 andNetwork2),这两个神经网络分别将映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。

        Siamese Network和其他网络的不同之处就在于,首先他是两个输入,他输入的不是标签,而是是否是同一类别,如果是同一类别就是0,否则就是1。

Siamese networks_第1张图片

1.Siamese Network的特点:

        1. Siamese 网络采用两个不同的输入,通过两个具有相同架构参数权重的相似子网络。如上图。

        2. 这两个子网互为镜像,就像连体双胞胎一样。

        3. 两个子网络输出一个编码来计算两个输入之间的差异。

        4. Siamese 网络的目标是使用相似度分数对两个输入是相同还是不同进行分类。可以使用二元交叉熵、对比函数或三元组损失来计算相似度分数,这些都是用于一般距离度量学习方法的技术。 

        5. Siamese 网络是一种one-shot分类器,它使用判别特征从未知分布中概括不熟悉的类别。

2.Siamese Network的用途:

        孪生神经网络有两个输入(Input1 and  input2),将两个输入 feed 进入两个神经网络(Network1 and Network2),这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。通过Loss的计算,评价两个输入的相似度。Siamese Network可以衡量两个输入的相似度。

3.Siamese Network的优缺点

        优点:Siamese 网络是一种one-shot分类模型,只需一个训练样本即可进行预测;可以用于某些类的样本很少的数据集;Siamese 网络的one-shot学习特性不依赖于特定领域的知识,而是利用了深度学习技术。

        缺点:仅输出相似性分数而不输出概率。

4.Siamese Network 的应用

        签名验证、面部识别、比较指纹、根据临床分级评估疾病严重程度、工作资料的文本相似度以恢复匹配、用于配对相似问题的文本相似度等

你可能感兴趣的:(网络)