前言:
{
之前深度学习不流行的时候,一般像指纹鉴别这种任务都需要很复杂的特征工程(比如寻找角点[1])来完成。我在谷歌搜索了深度学习的指纹识别解决方案,之后搜到了[2],便因此了解到了孪生网络(Siamese network)
}
正文:
{
由于[2]的内容很少,我就继续搜索,之后搜索到了[3]。
图3是一个简单的孪生网络。
其中输入层(input layer)和隐含层(hidden layer)部分有两条路线,这两条路线上的权值共享和偏置[4](或者也可以说这两个分支是同一部分,只不过被复用了),之后的距离层表示这两个分支得出的特征(或者说其输入)的距离向量,再之后的节点则表示这两个特征的相似度(距离,相似概率等)。
权值共享部分可以被很多结构替换(inception?),其实际上是特征提取部分,起到特征提取的作用。
另外,如果上述两条分支不共享权值,这此网络被称为伪孪生网络(pseudo-Siamese network)[5]。