Fork me on GitHub

siamese网络&&tripletnet

siamese网络

- 之前记录过: https://www.cnblogs.com/ranjiewen/articles/7736089.html

- 原始的siamese network: 输入一个piar和与之对应的label,然后在输入一个batch进行训练;数据为mnist时,网络输出为2维特征,具有降维的作用!

- 损失函数,相似度距离的定义等。比如将损失函数的指数形式用hige loss代替等,即:

这里写图片描述

-> yi*||CNN(p1i)-CNN(p2i)||^2 + (1-yi)*max(0, C-||CNN(p1i)-CNN(p2i)||^2)

- tensflow实现:tensorflow实现siamese网络(附代码)

- Face recognition based on SiameseNet ;思路也是构建pair训练,loss改成了网络输出特征变换后进行sigmoid输出;

- 思考测试的时候,人脸验证怎么做的?

- 怎么引申到 use the pairwise ranking hinge loss?

 tripletnet

- Face Recognition for the Happy House

- https://github.com/andreasveit/triplet-network-pytorch

- tensorflow-triplet-loss


  • 如上图所示,triplet是一个三元组,这个三元组是这样构成的:从训练数据集中随机选一个样本,该样本称为Anchor,然后再随机选取一个和Anchor (记为x_a)属于同一类的样本和不同类的样本,这两个样本对应的称为Positive (记为x_p)和Negative (记为x_n),由此构成一个(Anchor,Positive,Negative)三元组。

  • triplet loss 原理以及梯度推导
  • 如何在caffe中增加layer以及caffe中triplet loss layer的实现
posted @ 2018-11-06 16:29  ranjiewen  阅读(2317)  评论(0编辑  收藏  举报