文章目录
一、深度学习介绍
1、概念
机器学习的一个分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。
2、机器学习与深度学习的区别
2.1 特征提取
- 机器学习需要有
人工
的特征提取过程;- 深度学习可以通过深度神经网络
自动完成
。
2.2 数据量
- 深度学习需要大量的训练数据,会有更高的效果;
- 深度学习训练深度神经网络需要大量的算力,因为其中有更多的参数。
3、应用场景
4、常见深度学习框架
TensorFlow
,Caffe2
,Keras
、Theano
、PyTorch
、Chainer
、DyNet
、MXNet
、CNTK
;
神经网络介绍
1、人工神经网络概念
人工神经网络(ANN):神经网络(NN)或类神经网络,是一种
模仿生物神经网络
(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型,用于对函数进行估计或近似
。
2、神经元概念
- 在生物神经网络中,每个神经元与其他神经元相连,当它
兴奋
时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个阈值
,那么它就会被激活,即“兴奋"起来,向其他神经元发送化学物质。- 1943年,McCulloch和Pitts将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的
M-P神经元模型
。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。
- a1,a2……an为各个输入的分量;
- w1,w2……wn各个输入分量对应的权重参数;
- b为偏置;
- f为激活函数【
tang
,sigmoid
,relu
】;- t为神经元的输出;
- 公式为:
t = f(W^T * A + B)
- 一个神经元的功能是求得
输入向量
与权向量
的内积后,经一个非线性
传递函数得到一个标量的结果。
3、单层神经网络
是
最基本
的神经元网络形式,由有限
个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数
等于神经元的数目
。单层作为了解,不常见。
4、感知机
感知机由
两层神经网络
组成,输入层接收外界输入信号后传递给输出层·(输出+1正例,-1反例)·,输出层是M-P神经元
。
w0……wn为权重。
作用:
- 把一个n维向呈空问用一个超平面分割成两部分,给定一个输入向量,超平面可以判断出这个向量位于超平面的哪一边,得到输入时
正类或者是反类
,对应到2维空间就是一条直线把一个平面分为两个部分。- 简单的二分类
5、多层神经网络
多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了层的概念,常见的多层神经网络有如下结构:
输入层(Input layer)
,众多神经元(Neuron)接受大呈非线形
输入消息。输入的消息称为输入向量。【特征值】输出层(Output layer)
,消息在神经元链接中传输、分析、权衡
,形成输出结果。输出的消息称为输出向量。【目标值】
-隐藏层(Hidden layer)
,简称隐层"”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层
。隐层的节点(神经元)数目不定,但数目越多
神经网络的非线性越显著,从而神经网络的强健性(robustness)更显著。
5.1 全连接层
当前
一层和前
一层每个
神经元互相链接。
6、激活函数
在对于分类问题,不能用过线性来准确分类是,我们可以通过感知机模型来更好的分类。即使用多层神经网络,在前面的感知机模型在增加一层。
增加后
但经过对公式进行化简后仍然为一个线性模型。因此,这个模型并没有得到改善。此时,提出了在感知机的基础上加上非线性的激活函数之后,输出的结果就不是线性模型。进而
6.1 作用
- 可见,激活函数是增加模型的
非线性分割能力
;- 此外,可以提高模型的
鲁棒性
【健壮和强壮】;- 缓解梯度消失问题;
- 加速模型收敛。
6.2 常见激活函数
sigmoid
:只会输出整数以及靠近0的输出变化率最大;tanh
:与sigmoid
类似,但是tanh
输出是可以为负数;Relu
:输入只能大于0。常用于对图片格式的处理