深度学习
_知行
种一棵树最好的时间是十年前,其次是现在
展开
-
深度学习入门--标准化,归一化,零均值化
我们在训练模型之前,有一个可以加快训练速度的方法,那就是对训练数据集进行标准化处理。z-score标准化假设数据集的每一个训练样本只有两个特征x1、x2,那么训练集:X=[x1(1)x1(2)...x1(m)x2(1)x2(2)...x2(m)]X=\begin{bmatrix} x_{1}^{(1)} & x_{1}^{(2)} & ... &amp...原创 2019-01-14 11:10:56 · 4667 阅读 · 2 评论 -
DeepID2:Deep Learning Face Representation by Joint Identification-Verification
人脸识别最具挑战性的地方在于减少类内差异同时增大类间差异。The key challenge of face recognition is to develop effective feature repre-sentations for reducing intra-personal variations while enlarging inter-persona...原创 2019-04-29 14:30:14 · 287 阅读 · 0 评论 -
DeepID1-Deep Learning Face Representation from Predicting 10,000 Classes
特色:1.Multi-scale Convnets:网络的deepid层连接第三层卷积与第四层卷积,文章称之为Multi-scale Convnets,使用这种方式可以提取到第三层的低层特征以及第四层的高层特征。因此网络可以提取到更有效的特征向量DeepID。文中证明使用Multi-scale Convnets相比不使用可以降低验证集的错误率,即分类错误率。...原创 2019-04-29 14:30:50 · 279 阅读 · 0 评论 -
DeepID2+:Deeply learned face representations are sparse, selective, and robus
原创 2019-04-29 14:31:25 · 356 阅读 · 0 评论 -
Facenet:A Unified Embedding for Face Recognition and Clustering
论文提出一种新的loss函数,名叫Triplet Loss。假设有一张目标脸Anchor,我们的目的是要使得其与相同身份的另一张图片Positive之间的距离要小于其与不同身份的一张脸Negtive的距离。如上图所示,刚开始,Anchor和Positive之间的距离要大于Anchor和Negative的距离,经过学习之后使得Anchor和Positive之间的距离小于Anchor和Negati...原创 2019-04-29 14:32:18 · 360 阅读 · 1 评论 -
DeepFace: Closing the Gap to Human-Level Performance in Face Verification
Locally Connected Layer文中将Locally Connected Layer应用到神经网络,来提取特征。针对输入的d个特征图,做卷积运算,最终会学习到d个卷积核,即d个特征。在同一个特征图输入中卷积核(权重参数)是共享的,这就是卷积的权值共享。有了权值共享,网络学到的特征不管出现在图像的哪个位置,我们都可以找到它。既然有权值共享,那肯定也有不共享,这就引出了Locally...原创 2019-04-29 14:32:55 · 291 阅读 · 0 评论 -
DeepID3: Face Recognition with Very Deep Neural Networks
VGGnet和GoogLeNet这种很深的卷积神经网络在图像分类上取得成功,作者就尝试将深度卷积神经网络应用于人脸识别。实验方法跟DeepID2+相同,最终的准确率与DeepID2+差不多,并没有得出深度卷积神经网络比DeepID2+的浅卷积神经网络更好的结论。还需要后续进一步论证。识别错误分析:以上三个是整个deepid系列识别为不同人的同一个人,第一个是年龄差距太大没识别出。第二个是本...原创 2019-04-29 14:33:28 · 970 阅读 · 0 评论 -
VGGFace:Deep Face Recognition
Architecture结构与VGGnet类似。将全连接层比喻为其filter能看到整张图片的卷积层。loss给出了triplet loss的一种新的公式表达,实质同facenet中是一样的。训练方法先用softmax训练分类网络,再用triplet loss训练特征提取器。总结1.在训练triplet之前先用softmax训练,可以让训练更容易且更快。2.人脸对齐的影响:对测...原创 2019-04-29 14:34:02 · 1258 阅读 · 0 评论 -
Center Loss: A Discriminative Feature Learning Approachfor Deep Face Recognition
xi表示第i个实例(脸)的特征向量。yi表示第i个实例的类别。Cyi表示yi类别的中心。目的是使所有实例到中心的距离的和最小。Reference:[1] 论文阅读 - CenterLoss: A Discriminative Feature Learning Approach...原创 2019-04-29 14:34:40 · 376 阅读 · 0 评论 -
余弦相似度和欧几里得距离
1.余弦相似度同过两个向量的夹角的余弦值来判断两个向量的相似度。余弦值取值[-1,1],越接近1,两向量夹角越小,越相似。二维公式:n维公式:存在的问题[1]:余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感。比如用户对内容评分,5分制。A和B两个用户对两个商品的评分分别为A:(1,2)和B:(4,5)。我们分别用两种方法计算相似度。使用余弦相似度得出的结果是0.98,...原创 2019-04-29 14:29:27 · 2080 阅读 · 0 评论 -
python♡麻省理工MIT线性代数(2)
1.矩阵置换(permutation)2.逆矩阵(inverse)To-do listpython高斯消元法原创 2019-03-15 10:08:48 · 250 阅读 · 0 评论 -
人脸识别中的限制场景与非限制场景(unconstrained environment)
目前绝大多数的人脸识别数据集都是非限制场景下的,例如LFW。限制场景就是指基于某一特定环境下,比如一个证件照的数据集就是限制场景下,因为都是在同样的场景(差不多的背景,差不多的光照)下采集的。非限制场景则与之相反,例如LFW(Labeled Faces in the Wild)中的wild指的就是不限制某一特定场景下。...原创 2019-03-08 17:28:11 · 1683 阅读 · 0 评论 -
机器学习入门--正规方程(含推导过程)
一、含义[1]正规方程是通过求解代价函数的导数,导数为0来求得theta的值。二、推导上面第一个等式是线性回归的代价函数,写成向量化的形式即为第二个等式,向量的转置乘以该向量的含义是求向量中各元素的平方和,即XT * X = x12+x22+…+xn2对代价函数求导[3]:令导数为0时即为theta最小值三、表现[1]注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时...原创 2019-02-15 09:43:05 · 1481 阅读 · 0 评论 -
深度学习入门--label-preserving transformations(标签保留 转换)
在Alexnet论文当中,提到label-preserving transformations,这是一种减少过拟合的方式。也就是在不影响图像标签的前提下,对图片进行变换,以达到数据增强的目的。通过这种方式增大我们的数据集,来减少过拟合。论文中介绍了两种数据增强方式:1#第一种数据增强方式包括产生图像变换和水平翻转。我们从256×256图像上通过随机提取224 × 224的图像块实现了这种方式,...原创 2019-02-15 09:43:41 · 2685 阅读 · 0 评论 -
人脸识别中的embedding
MINST为例,假设一个batch是256,那么输入的维度是(256,28,28,1),经过神经网络后输出embedding的维度是(256,2),这里的2是由于神经网络最后一层全连接层的维度是2。这里就相当于把输入的256张图片嵌入到一个二维平面中,如下图所示:这里的维度也可以是3,意义为把图片嵌入到一个三维空间。如下图所示:...原创 2019-03-06 09:36:04 · 2475 阅读 · 1 评论 -
人脸识别中的probe face 和gallery
人脸识别中用train set训练好一个特征提取器以后,probe face 和gallery用于测试。我们先给训练好的特征提取器输入gallery里的人脸,这样我们就得到gallery中每个人脸对应的特征向量,这就是我们的特征向量库。我们现在要识别一张人脸,这个人脸就叫probe face,输入特征提取器,得到他的特征向量,然后跟特征向量库里的每一个特征向量来比较,就可以判断这个probe ...原创 2019-03-06 09:37:03 · 1440 阅读 · 0 评论 -
人脸识别中的open-set(开集)与close-set(闭集)
人脸识别可以分为face verification和face identification,前者是给定两张人脸,判断是否是同一个人;后者是给定一张人脸,判断他是人脸库中的哪个人。然后看看sphereface中的这张图:close-set就是我们用来测试的人脸全部都是train set 里的人,不会出现训练集之外的人。这种情况下,训练人脸识别模型就相当于训练分类模型,我们只需要能够很好的对训练...原创 2019-03-06 09:37:43 · 4445 阅读 · 3 评论 -
Facenet源码解读之compare.py
"""Performs face alignment and calculates L2 distance between the embeddings of images."""# MIT License# # Copyright (c) 2016 David Sandberg# # Permission is hereby granted, free of charge, to ...原创 2019-03-06 09:38:56 · 1421 阅读 · 1 评论 -
绘制MNIST二维特征分布
打算实现MNIST在各个loss下训练出来的二维特征分布,持续更新1.为何绘制出的特征分布只在第一象限在看center loss论文的时候,自己随便构建了一个网络绘制softmax二维特征,但是绘制出的特征分布一直如上图所示,跟论文当中完全不一样。直到我看到Sphereface论文Appendix A,当中说到之所以会出现这种第一象限分布的特征,是因为embedding层加了relu激活,因...原创 2019-04-29 14:35:15 · 1797 阅读 · 1 评论