人脸识别美颜算法实战-深度学习基础知识

深度学习与机器学习的区别:

机器学习:人类定义输入数据的特征

深度学习:机器自动找到输入数据的特征

在深度学习中,采用多层的神经网络架构来提取图像 信息,越靠近底层的神经网络提取出来的都是点、线等低维度特征, 而高维度的神经网络层则会更多地保留比如耳朵、眼睛等高维度特 征

深度学习通过低维度特征到高维度特征 一层层地构建,找到最终能够构成分类器的最佳组合。

深度学习入门概念

1.神经网络

在深度学习中,神经网络由很多“神经元”组合而成,神经元的 作用是传递数据,通过训练调整相关的权重,完成深度学习中的“学 习”功能。神经网络是一切深度学习网络的基石。

2 偏差

权重只改变输入比例的大小,添加另外一个线性变量——偏差 (bias),输入就变成了:

权重×输入+偏差

添加偏差的目的是为了扩展权重与输入相乘所得结果的范围。

3 激活函数

输入通过增加权重和偏差后,输入的形式为y=ΣW×X+b,将这个 线性分量应用于输入时需要将这个线性输入变成一个非线性输入,使 得神经网络可以解决更多复杂的问题

常见的激活函数有Sigmoid、ReLU、tanh和Softmax。

(1)Sigmoid定义如下:

Sigmoid(x)=1/(1+exp(-x))

优点:Sigmoid函数求导容易,其输出映射在(0,1)之 间,单调且连续,输出范围有限、稳定,可以用作输出层。缺点:由 于其具有软饱和性,容易产生梯度消失,从而导致训练出现问题。

(2)ReLU激活函数经常被用来处理隐藏层,其函数定义为:

    f(x)=max(x,0)

 ReLU激活函数的优点:对于大于0的所有输入而言,它都有一个不 变的导数值。在网络训练中,常数导数值有助于增加训练速度,所以 ReLU激活函数经常用于隐藏层。

(3)tanh激活函数被定义为:

        tanh(x)=(1-exp(-2x))/(1+exp(-2x))

 tanh激活函数的优点:比Sigmoid函数收敛速度更快。

 tanh激活函数的缺点:无法解决由于饱和性产生的梯度消失。

4 Softmax激活函数通常用于输出层,用于解决多分类问题。 它与Sigmoid函数很相似,但是后者通常应用于解决二分类问题。

4 批量归一化

神经网络在训练时,其权重在梯度下降的每个步骤之后都会改 变,这会改变数据的形状,因此需要在将数据发送到下一层之前明确 规范化数据,以确保数据的分布与下一层希望获得的数据分布相同。 这个批量规范化数据的过程就叫批量归一化

5 丢弃

丢弃(dropout)是一种正则化方法,作用是防止网络过度拟合。 具体思路:在训练期间,隐藏层中一定数量的神经元被随机地丢弃.

卷积神经网络

深度学习是一个框架,包含了很多重要的算法,主要有 Convolutional Neural Networks(CNN,卷积神经网络)、Auto Encoder(自动编码器)、Sparse Coding(稀疏编码)、Restricted Boltzmann Machine(RBM,限制波尔兹曼机)、Deep Belief Networks(DBN,深信度网络)、Recurrent Neural Network(RNN, 多层反馈循环神经网络)。

卷积的原理

 图像的卷积操作主要是为了提取图像特 征,从而对输入降低维度。在深度学习网络中,卷积层是最基础的网 络结构,不同尺寸的卷积核和不同卷积的核对图像的处理效果也不 同。

在实际应用中,卷积神经网络在训练过程中需要提前设置这些过 滤器的参数(过滤器的数目、大小和网络框架等)。理论上,设计的 过滤器数目越多,提取的图像特征就越多,所设计的网络在识别图像 时效果就会越好。但是大量的过滤器也会增加网络层数,给训练带来 负担,所以过滤器的数目和大小的设置是通过不同的实验经验得来 的。

池化层的原理

池化(Pooling)就是下采样,通常在卷积层之间定期引入池层, 主要是为了减少一些参数,并防止过度拟合。

全连接层的原理

全连接层(Fully Connected Layers)在网络中的作用是连接所 有的特征,将输出值送给分类器(如Softmax分类器)

深度学习基础知识扩展

数据增强 

通过图片的旋转、剪切、降噪、加噪声、尺度变换等提高原本输 入数据集数据质量的方法被称为数据增强。

循环神经网络

除了常见的CNN以外,循环神经网络(RNN)也很常见,特别用于 顺序数据。RNN主要是通过先前的输出预测下一个输出。循环神经元的 概念是理解RNN工作原理的基础。循环神经元是连接在 一起的t个不同的神经元。在T时间内将神经元的输出发送回原本的自 己。循环神经元的优点是它给出了更广义的输出。

梯度消失

梯度消失(Vanishing Gradient)主要出现在激活函数的梯度非 常小的情况下,因为反向传播过程中权重乘以这些梯度时,随着网络 进一步深入会导致梯度逐渐消失。梯度消失问题可以通过使用不具有 小梯度的ReLU激活函数来解决。

梯度激增

与梯度消失相反,当激活函数的梯度过大,在反向传播期间,特 定节点的权重相对于其他节点的权重非常高,这使得其他节点变得不重要而影响训练结果。梯度激增(Exploding Gradient)问题可以通 过限定梯度值的范围来解决。

基于深度学习的人脸识别

基于深度学习的人脸识别系统,包括人脸检测,人脸对齐,特征提取,人脸匹配四个过程。

人脸检测用的MTCNN,人脸识别用的Arcface。

数据的准备

人脸识别是指在输入的图像中找到人脸区域,将提取出的人脸区 域跟目标人脸进行匹配,如果判断是目标人脸,则显示标记输出为目 标人脸,否则不标记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一壶浊酒..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值