zoukankan      html  css  js  c++  java
  • 深度学习——特殊应用:人脸识别和神经风格转换[13]

    目录

    • 人脸验证和人脸识别
    • one-shot learning problem
    • Siamese网络
    • 深度学习可视化
    • 神经风格转移
    • 一维到三维的推广

    一、人脸验证和人脸识别

    verification: 输入图像,姓名/ID  输出输入的图像就是给定的人

    recognition: 包含K个人的数据库,输入一张图  输出一个ID(如果输入的图像存在于数据库中)

    二、one-shot learning problem

    • 什么是one-shot(一次学习

    比如人脸识别,数据库中每个人只有一张图.对于一个输入,需要只根据一个example来判断输入是否在数据库中

    • 学习方案:学习相似函数d

    不可行:把人脸放到一个CNN网络中,然后输出softmax结果(5个人,6个结果,一个表示都不是),但是因为数据集太小

    可行的方法:学习相似函数

    输入两个图,然后d函数(similarity function)输出它们之间的差异(d(img1,img2)=degree of difference between images),如果差值小于一定值,则表示相同,否则表示不同(人脸验证)

    三、Siamese网络

    [Taigman et. al., 2014. DeepFace closing the gap to human level performance]

    • Siamese网络结构:如何学习d函数

    把两张图img1和img2输入相同结构相同参数的网络,分别得到编码后的结果(一个128维的向量)

    d函数:$d(x^{(i)},x^{(j)})=||f(x^{(i)})-f(x^{(j)})||_2^2$

    • Siamese网络学习

    学习网络中的参数使得

      • 若$x^{(i)}$和$x^{(j)}$是同一个人,则$d(x^{(i)},x^{(j)})=||f(x^{(i)})-f(x^{(j)})||_2^2$较小
      • 若$x^{(i)}$和$x^{(j)}$不是同一个人,则$d(x^{(i)},x^{(j)})=||f(x^{(i)})-f(x^{(j)})||_2^2$较大
    • 如何训练Siamese网络:Triplet loss

    [Schroff et al., 2015, FaceNet: A unified embedding for face recognition and clustering]

    定义Triplet loss,利用梯度下降来优化

      • 输入

    anchor是目标(A),positive(P)和anchor一样,而negative(N)是不同的

      • 基本目标

    anchor和positive的差值比anchor与negative的小

    也就是:$||f(A)-f(P)||^2+alpha leq ||f(A)-f(N)||^2 \ ||f(A)-f(P)||^2+alpha - ||f(A)-f(N)||^2leq 0$

    为什么要加$alpha$:$a-b leq 0$,若$a=b=0$,并不能说明问题,所以加一个超参数

      • 损失函数

    $L(A,P,N)=max(||f(A)-f(P)||^2+alpha - ||f(A)-f(N)||^2, 0)\J=sum_{i=1}^mL(A^{(i)},P^{(i)},N^{(i)})$

    训练集:对于1k个人的10k张照片,从10k里面产生的三元对(A,P,N),并计算loss

      • 如何选择A,N,P对

    不要随机选,因为可能很容易满足条件。应该选择不容易训练的三元组,也就是$d(A,P)approx d(A,N)$

    • 面部验证与二分类

    把验证问题转换成二分类问题,相同为1,不同为0

    将Siamese网络对输入图像的编码结果作为逻辑回归的输入,输出为$widehat{y}=sigma (sum_{k=1}^128w_{i}|f(x^{(i)}_k)-f(x^{(j)})_k|+b$

    四、深度学习可视化

     方式:遍历layer i层的隐藏单元,找出最大地激活每个隐藏单元激活函数的输入图片块

    每一层找出了3x3个隐藏单元,对应每个隐藏单元罗列了9个最大激活函数的图片块

    越靠后的层能看到的图片内容越多,所识别的特征也越复杂

     [Zeiler and Fergus., 2013, Visualizing and understanding convolutional networks]

     五、神经风格转移

     [Gatys et al., 2015, A neural algorithm of artistic style]

    把两张图进行融合,一张提供内容,另一个提供风格

     

      [Images generated by Justin Johnson]

    • 代价函数

    包含两个部分,一个用于评估生成的图片与内容图片的差异,一个评估生成图片与风格图片的差异

    $J(G)=alpha J_{content}(C,G)+eta J_{style}(S,G)$

    一般步骤:随机生成一张图,然后用梯度下降法来最小化代价$J(G)$

    • 内容代价函数
      • 找一个预训练好的ConvNet(如VGG)
      • 用隐藏层$l$来计算内容代价
      • $a^{[l](C)}$和$a^{[l](G)}$分别表示图像在$l$层的激活值
      • 代价为两个图像激活值的范数$J_{content}(C,G)=frac{1}{2}||a^{[l](C)}-a^{[l](G)}||^2$
    • 风格代价函数

    什么是风格:不同通道激活值间的关联程度

    怎么评估通道的关联度:各个通道激活值的相关系数。不同的通道会识别出不同的特征结果,相关系数表示当一个位置出现某特征时同时出现另一特征的可能性。比如出现条纹的时候也是橙色

    代价函数计算

      • (i,j,k)位置的激活值,对应(H,W,c)。$a^{[l]}_{i,j,k}=activation at(i,j,k)$
      • 风格矩阵$G^{[l]}$是任意两通道间的相关系数,是$n_{c}^{[l]}xn_{c}^{[l]}$的矩阵。这里采用的是非标准形式,没有减去均值。$k$和$k'$表示第几通道
        • 风格图的风格矩阵$G_{kk'}^{[l](S)}=sum_{i=1}^{n_H^{[l]}}sum_{k=1}^{n_W^{[l]}}a_{ijk}^{[l](S)}a_{ijk'}^{[l](S)}$
        • 生成图的风格矩阵$G_{kk'}^{[l](G)}=sum_{i=1}^{n_H^{[l]}}sum_{k=1}^{n_W^{[l]}}a_{ijk}^{[l](G)}a_{ijk'}^{[l](G)}$
      • 用$l$层的激活值来计算风格代价$J_{style}^{[l]}=frac{1}{(2n_H^{[l]}n_W^{[l]}n_c^{[l]})^2}||G^{[l](S)}-G^{[l](G)}||_F^2=frac{1}{(2n_H^{[l]}n_W^{[l]}n_c^{[l]})^2}sum_ksum_k'(G^{[l](S)}_{kk'}-G^{[l](G)}_{kk'})^2$
      • 考虑所有层的结果,并设置权重超参数$lambda$$J_{style}(S,G)=sum_llambda^{[l]}J_{style}^{[l]}(S,G)$

    六、一维到三维的推广

    一维应用:电子信号

    14x1($n_c$)

    *

    5x1

    =10x16(个filter)

    三维应用:CT检查,切片数据是三维的。相当于是1通道

    14x14x14x1($n_c$)

    *

    5x5x5x1

    =10x10x10x10x16(个filter)

  • 相关阅读:
    Discuz X 2.5 点点(伪静态)
    jq 、xml 省市级联动
    php memcache 初级使用(2)
    关于windows虚拟内存管理的页目录自映射
    SharePoint 2010 网络上的开发经验和资源
    SharePoint 2010 Reporting Services 报表服务器正在内置 NT AUTHORITY\SYSTEM 账户下运行 解决方法
    SharePoint 2010 Reporting Services 报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥 解决方法
    Active Directory Rights Management Services (AD RMS)无法检索证书层次结构。 解决方法
    SharePoint 2010 Reporting Services 报表服务器实例没有正确配置 解决方法
    SharePoint 2010 页面引用 Reporting Services 展现 List 报表
  • 原文地址:https://www.cnblogs.com/coolqiyu/p/8849847.html
Copyright © 2011-2022 走看看