孪生神经网络介绍及优化思路

孪生神经网络介绍及优化思路

孪生神经网络由两个完全相同并且权值共享的神经网络组成,这两个神经网络分别将各自的输入映射到新的空间,形成输入在新的空间的表示,接着通过 Loss 的计算来评价两个输入的相似度。因此,孪生神经网络的用途也很明显:衡量两个输入的相似程度。

上面这张图很直观地描述了孪生神经网络的基本结构。对于孪生神经网络,影响其性能主要有两个因素: 1. 神经网络的选取 2. Loss 函数的优化

导师的建议是让我尝试着对 Loss 函数进行改进,去构建一个性能更好的相似度函数(similarity function),并且分享了一篇论文,希望我能够有所启发。

现在问题来了,Loss 函数应该怎么选? 1. Softmax 是一种比较好的选择,但不一定是最优选择; 2. 在分类问题中,传统的 siamese network 使用 contrasive loss 3. 还有一些其他的思路,如左右两个神经网络分别将输入转化为一个向量,然后通过判断他们的 consine 距离、exp function 或者欧氏距离等来判断它们的相似度。

SiamFC

说完了孪生神经网络,再让我们看看 SiamFC,SiamFC 的全称是 Fully-Convolutional Siamese Networks for Object Tracking,即全卷积的孪生神经网络。

参考资料

  1. Siamese network 孪生神经网络--一个简单神奇的结构
  2. SiamFC代码解读
  3. 论文 | SiamFC 深度学习方法在目标跟踪领域的破冰之作
  4. SiamFC:Fully-Convolutional Siamese Networks for Object Tracking
  5. 论文笔记(二) fully-convolutional siamese networks for object tracking