孪生网络(Siamese Network)是一种具体的网络结构还是一种通用的框架结构?

孪生网络(Siamese Network)是一种具体的网络结构还是一种通用的框架结构?_第1张图片

孪生网络(Siamese Network)

  • 1. 介绍
  • 2. 用途
  • 总结

1. 介绍

孪生网络(Siamese Network)是一种网络的框架,而不是具体的某种网络。它基于两个人工神经网络建立的耦合构架,以两个样本为输入,输出其嵌入高维度空间的表征,以比较两个样本的相似程度。狭义的孪生神经网络由两个结构相同,且权重共享的神经网络拼接而成。广义的孪生神经网络,或“伪孪生神经网络(pseudo-siamese network)”,可由任意两个神经网拼接而成。

孪生神经网络通常具有深度结构,可由卷积神经网络、循环神经网络、LSTM等组成。在监督学习范式下,孪生神经网络会最大化不同标签的表征,并最小化相同标签的表征。在自监督或非监督学习范式下,孪生神经网络可以最小化原输入和干扰输入(例如原始图像和该图像的裁减)间的表征。

2. 用途

孪生神经网络可以进行小样本/单样本学习(one-shot learning),且不容易被错误样本干扰,因此可用于对容错率要求严格的模式识别问题,例如人像识别、指纹识别、目标追踪等。

总结

孪生网络是一种网络框架。具体来说,它包含两个相同结构的神经网络,一个用于学习,一个用于验证学习效果。两个网络在训练过程中同步更新参数,但验证网络的参数更新较慢。通过这个设计,可以在训练网络的同时监测其泛化能力,避免过拟合问题。所以孪生网络可以看作是一种网络结构,它通过加入验证网络来提升模型的泛化能力。

你可能感兴趣的:(机器学习算法,Python程序代码,python,深度学习)