码迷,mamicode.com
首页 > 编程语言 > 详细

跟我学算法-人脸识别(Siamese network) 推导

时间:2018-10-15 14:28:59      阅读:845      评论:0      收藏:0      [点我收藏+]

标签:间隔   三元组   算法   过程   分享图片   两种   loss   oss   存在   

Siamese network 训练神经网络存在两种形式:

第一种:通过Siamese network 和 三元组损失函数 来训练图片之间的间隔

第二种: 通过Siamese network 和 sigmoid函数来实现二分类的训练

第一种情况:

      技术分享图片

 

在最后一层使用得是128, 1,

d(x(1), x(2)) = abs(f(x(1) - f(x(2)) 通过对每个维度相减求平方

三元组损失函数

技术分享图片

选取目标人物图片和相同人物图片,以及一张不同人物图片。构成两组距离

训练得过程中,使得abs(f(A)- f(P))^ 2+ α < abs(f(A) - f(N)) ^ 2 

loss(A, P, N) = max(abs(f(A)- f(P))^ 2 - abs(f(A) - f(N)) ^ 2  +  α , 0)

在训练时候,一个人至少需要10张图

为了使得训练得时候更加得有难度,我们在挑选图片得时候尽量使得d(A, P)约等于 d(A, N)

 

第二种方式:
       通过Siamese network + sigmoid函数来实现最终得判别

技术分享图片

通过两个图片128维得向量,相减,即求X^2, 进行一次全连接操作,输出结果,根据loss进行训练.

跟我学算法-人脸识别(Siamese network) 推导

标签:间隔   三元组   算法   过程   分享图片   两种   loss   oss   存在   

原文地址:https://www.cnblogs.com/my-love-is-python/p/9790136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!