吴恩达深度学习第四周第四课: 特殊应用:人脸识别和神经风格转换

1.One-Shot学习

人脸识别有一个问题就是我们实际上训练集很小,因为我们不可能让每一个人脸都进行训练,因此我们将问题转换成一个人脸匹配问题,即当前人脸与数据库中的人脸是否为一个人。

2.Siamese网络

我们使用一个卷积神经网络来获取人脸特征:

最后如果特征很靠近或者说一样,那么就说明是一个人,反之就不是一个人。

3.Triplet损失

因为我们需要训练网络检测是否是一个人,因此我们使用如下三元组来进行网络训练

我们定义损失如下:

其中alpha为超参。

我们应该尽可能地使正向代价小于负向和多一些,因此通常alpha都大于0.2。

4.人脸验证与二分类

介绍一种不同于Triplet loss的方法。

我们直接使用一个二分类神经网络来判断这两张图片是否是同一个人。

因此,这样我们也就不用存储每一张员工图片,只需要存储最后的特征向量,然后计算检测图片的向量进行神经网络最后一步即可。

测验

1. 面部验证只需要将新图片与1个人的面部进行比较,而面部识别则需要将新图片与K个人的面部进行比较。

正确。

2. 在人脸验证中函数d(img1,img2)起什么作用?

  1. 只需要给出一个人的图片就可以让网络认识这个人。
  2. 为了解决一次学习的问题。
  3. 这可以让我们使用softmax函数来学习预测一个人的身份,在这个单元中分类的数量等于数据库中的人的数量加1。

1,2。

3. 为了训练人脸识别系统的参数,使用包含了10万个不同的人的10万张图片的数据集进行训练是合理的。

错误。

4. 下面哪个是三元组损失的正确定义(请把 α也考虑进去)?

5. 在下图中的孪生卷积网络(Siamese network)结构图中,上下两个神经网络拥有不同的输入图像,但是其中的网络参数是完全相同的。

正确。

6.你在一个拥有100种不同的分类的数据集上训练一个卷积神经网络,你想要知道是否能够找到一个对猫的图片很敏感的隐藏节点(即在能够强烈激活该节点的图像大多数都是猫的图片的节点),你更有可能在第4层找到该节点而不是在第1层更有可能找到。

正确。

7. 神经风格转换被训练为有监督的学习任务,其中的目标是输入两个图像 (x),并训练一个能够输出一个新的合成图像(y)的网络。

错误。(不是有监督)

8.在一个卷积网络的深层,每个通道对应一个不同的特征检测器,风格矩阵G[l]度量了l层中不同的特征探测器的激活(或相关)程度。

正确。

9. 在神经风格转换中,在优化算法的每次迭代中更新的是什么?

  1. 神经网络的参数
  2. 生成图像G的像素值
  3. 正则化参数
  4. 内容图像C的像素值

2。

10. 你现在用拥有的是3D的数据,现在构建一个网络层,其输入的卷积是32×32×32×16(此卷积有16个通道),对其使用32个3×3×3的过滤器(无填充,步伐为1)进行卷积操作,请问输出的卷积是多少?

30*30*30*32

编程作业

施工中


0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注