吴恩达深度学习L4W4人脸识别

1、One-shot learning

        人脸识别往往每个人只有一张照片,因此不应该用卷积神经网络配合softmax训练。

         应该选择学习 Similarity 函数。详细地说,你想要神经网络学习这样一个用𝑑表示的函数,𝑑(𝑖𝑚𝑔1,𝑖𝑚𝑔2) = 𝑑𝑒𝑔𝑟𝑒𝑒 𝑜𝑓 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒 𝑏𝑒𝑡𝑤𝑒𝑒𝑛 𝑖𝑚𝑎𝑔𝑒𝑠,它以两张图片作为输入,然后输出这两张图片的差异值。所以在识别过程中,如果这两张图片的差异值小于某个阈值𝜏(它是一个超参数),那么这时就能预测这两张图片是同一个人,如果差异值大于𝜏,就能预测这是不同的两个人。

2、Siamese网络

Siamese网络:如果你要比较两个图片的话,例如这里的第一张(编 号 1)和第二张图片(编号 2),你要做的就是把第二张图片喂给有同样参数的同样的神经网络,然后得到一个不同的 128 维的向量(编号 3),这个向量代表或者编码第二个图片, 我要把第二张图片的编码叫做𝑓(𝑥 (2) )。这里我用𝑥 (1)和𝑥 (2)仅仅代表两个输入图片,他们没 必要非是第一个和第二个训练样本,可以是任意两个图片。 

 3、Triplet 损失(三元组损失函数)

用三元组损失的术语来说,你要做的通常是看一个 Anchor 图片,你想让 Anchor 图片 和 Positive 图片(Positive 意味着是同一个人)的距离很接近。然而,当 Anchor 图片与 Negative 图片(Negative 意味着是非同一个人)对比时,你会想让他们的距离离得更远一点。

这就是为什么叫做三元组损失,它代表你通常会同时看三张图片,你需要看 Anchor 图 片、Postive 图片,还有 Negative 图片,我要把 Anchor 图片、Positive 图片和 Negative 图片 简写成𝐴、𝑃、𝑁。

为了不让输出一直为0,我们加入一个间隔a

那么损失函数就是: 这个𝑚𝑎𝑥函数的作用就是,只要这个||𝑓(𝐴) − 𝑓(𝑃)|| 2 − ||𝑓(𝐴) − 𝑓(𝑁)|| 2 + 𝑎 ≤ 0,那么 损失函数就是 0。只要你能使画绿色下划线部分小于等于 0,只要你能达到这个目标,那么 这个例子的损失就是 0。

注意,为了定义三元组的数据集你需要成对的𝐴和𝑃,即同一个人的成对的图片,为了 训练你的系统你确实需要一个数据集,里面有同一个人的多个照片。 

        另外,在数据集中你要做的就是尽可能选择难训练的三元组𝐴、𝑃和𝑁。难训练的三元组就是, 你的𝐴、𝑃和𝑁的选择使得𝑑(𝐴, 𝑃)很接近𝑑(𝐴, 𝑁),即𝑑(𝐴, 𝑃) ≈ 𝑑(𝐴, 𝑁),这样 你的学习算法 会竭尽全力使右边这个式子变大(𝑑(𝐴, 𝑁)),或者使左边这个式子(𝑑(𝐴, 𝑃))变小,这样左 右两边至少有一个𝑎的间隔。并且选择这样的三元组还可以增加你的学习算法的计算效率, 如果随机的选择这些三元组,其中有太多会很简单,梯度算法不会有什么效果,因为网络总 是很轻松就能得到正确的结果,只有选择难的三元组梯度下降法才能发挥作用,使得这两边 离得尽可能远。

 4、人脸验证与二分类

        除了用Triplet loss训练参数,还可以用二分类方法。

        

还可以像下图所示用绿色所示的公式代替绿色大括号里的内容

 

        当然,与之前类似,你正在训练一个 Siamese 网络,意味着上面这个神经网络拥有的参数和下面神经网络的相同(编号 3 和 4 所 示的网络),两组参数是绑定的,这样的系统效果很好。 

        当出现新员工来的时候,不需要每次都计算别人的图片的这些特征(编号 6),你可以提前计算好,那么 当一个新员工走近时,你可以使用上方的卷积网络来计算新员工的这些编码(编号 5),然后使用它, 和预先计算好的编码(编号 6)进行比较,然后输出预测值𝑦^。

5、神经风格迁移(neural style transfer)

神经风格迁移不是有监督的学习,因为它没有标签

为了描述如何实现神经网络迁移,我将使用𝐶来表示内容图像,𝑆表示风格图像,𝐺表示 生成的图像

为了实现神经风格迁移,你要做的是定义一个关于𝐺的代价函数𝐽用来评判某个生成 图像的好坏,我们将使用梯度下降法去最小化𝐽(𝐺),以便于生成这个图像。

第一部分被称作内容代价,这是一个关于内容图片和生成图片的函数,它是用来度量生成图片𝐺的内容与内容图片𝐶的内容有多相似 

第二部分是风格代价函数,也就是关于𝑆和𝐺的函数,用来度量生成图片𝐺的风格和图片𝑆的风格的相似度。 

 α和β是超参数代表权重。

具体怎么计算J呢?

内容代价函数:

 即俩图片的每一层的每个单元的激活值对应求差值的平方和(上图少了个求和)

风格代价函数:

将图片的风格定义为𝑙层中各个通道之间激活项的相关系数。

 之后用梯度下降法,或者更复杂的优化算法来找到一个合适的图像𝐺,并计算𝐽(𝐺)的最 小值,这样的话,你将能够得到非常好看的结果,即每次优化后生成图像在更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值