1. 知识点
- 人脸验证:
输入:图片和ID
输出:图片和ID是否相符
- 人脸识别:
输入:图片
输出:对应的ID或不能识别
- one shot learning:通过对一个样本的学习,实现识别
- SimilarIty函数:
输入:两幅图片
计算:两幅图片的差异度d(imag1,imag2)
输出:如果d(imag1,image2)<=阈值,则输出"same",否则输出"different"。
- Siamese网络:输入图片,输出N维向量(图片中为128维)
- Similarity函数实现: 表示两幅图片编码之差的范数
- Triplet损失学习目标:
图片A:目标图片。图片P:与目标图片属于同一个人的图片。图片N:与目标图片不属于同一个人的图片。
图片A与图片P的差异小于等于图片A与图片N的差异。<=-
(为了避免差异相同,增加超参数,正数
)
- Triplet损失函数:L(A,P,N)=max(
+
,0)。最max()的意义是,当A和P的差异明显小于A和N的差异时,没有产生损失。整个网络所有输入图片的代价为 J=
。
- 三元组的选择 :
为了更好的训练网络,需要选择那些训练难度的图片,即d(A,P)d(A,N)
训练使得d(A,N)变大,d(A,P)变小,使两者之间至少相差一个
- 将人脸识别转化为二分类:
对两张图片应用Siamese网络计算得到的N维编码,输入逻辑回归单元中进行预测,如果是同一人输出1,是不同的人输出0。
,其中f(x(i))是图片x(i) 的编码,K是编码的每K个元素。
- 卷积神经网络从浅层到深层所获取的图片信息:
浅层只能获取一些简单的特征,如边缘和颜色等。随着层数的增加,逐渐获取更加复杂的特征。
- 神经网络迁移:由内容图片C和风格图片S,生成风格迁移图片G
- 神经风格迁移代价函数:
- 神经风格迁移内容代价函数:
,其中
和
表示内容图片C和生成图片G的l层激活值。
- 神经风络迁移风格代价函数:
通道相关性的含义:假如红色通道表示图片中含有垂直纹理特征,黄色通道表示图片颜色为橙色,那两个通道相关性的含义是,图片出现垂直纹理的区域颜色为橙色的可能性:
定义Style表示l层的各个通道激活项之间的相关性:
Style矩阵:表示风格图片S的l层激活项的Style矩阵,维度为通道数(nc,nc),第k行k’列元素
表示通道k和通道k'之间的相关性。
代价函数:,即风格图片S和生成图片G通道相关性矩阵之差。
求解过程:随机生成初始化图片,维度为(100,100,3)。对代价函数使用梯度下降法。
- 1D和3D卷积:
除了比较常用的2D卷积,还有1D卷积,即过滤器维度为(1xN):
3D卷积:
2. 应用实例:人脸识别和神经风格迁移(需要import包没有安装好,代码没能跑起来。。。)