深度学习的一些基础知识

参考知乎:AI 学习必知的十大深度学习方法!

上图展示了人工智能、机器学习和深度学习三者的关系

人工智能(AI)是计算机科学的一个分支;

机器学习(ML)是一种实现人工智能的方法;

深度学习(DL)是机器学习的一种方法,源于人工神经网络(ANN)。

深度学习网络与“典型”的前馈多层网络之间的区别:

1、深度学习网络具有更多的神经元;

2、连接层的方式更复杂;

3、需要更强大的计算能力来训练;

4、能进行自动特征提取

所以深度学习可以定义为四个基本网络框架中拥有大量参数和层的神经网络:

a. 无监督预训练网络(Unsurpervised Pre-trained Networks)

b. 卷积神经网络(Convolutional Neural Network)

c. 循环神经网络(Recurrent Neural Network)

d. 递归神经网络(Recursive Neural Network)

下面分开介绍一下

b.卷积神经网络:主要是针对图像识别问题

我们知道的网络结构大概是这样子的

一个卷积神经网络通常包含三部分,以ReLU为激活函数

  • 卷积层
  • 池化层(采样层)
  • 全连接层

上述三个层堆叠形成完整的卷积神经网络(ConvNet)架构

最常见的ConvNet架构遵循以下模式:

INPUT——>[[CONV——>RELU]*N——>POOL?]*M——>[FC——>RELU]*K——>FC

N>=0 (and usually N<=3),M>=0,K>=0(and usually k<3)

卷积层:卷积神经网络的核心(我想要自己的语言写下来,可能不专业,欢迎提出意见)

卷积的具体实现,就是拿卷积核去扫描图像。比如卷积核的大小是3*3,与原始图像左上角前三行三列对应位置相乘相加,得到的数作为最终矩阵的第一行第一列。

然后根据步长(假设步长为1),向右移动卷积核,对应原始图像的前三行第2,3,4列相乘相加,得到的数作为最终矩阵的第一行第二列。依次进行扫描得到一个新的矩阵。

一般彩色图像是RGB格式,那么卷积对应三个通道,最终得到三个矩阵。

设输入图像尺寸为w,卷积核尺寸为F,步幅为S,Padding为P,经过卷积之后输出的图像尺寸为(W−F+2P)/S+1。

在卷积层中使用参数共享,这样使得参数大大减少。

另外有几个概念

卷积层的深度:有多少个神经元,深度就是多少;或者说卷积层输出的深度=卷积核的个数

填充值:举个例子

对5*5的图片,卷积核大小是2*2,步长取2,剩下一个没法滑动,那么可以在原先的矩阵上加一层填充值0,变成6*6的矩阵,这样就可以把所有的像素遍历完成。

我的理解,卷积是为了提取特征,可以看成一个过滤器。比如识别汽车,那么卷积核可能是车轮,做卷积操作以后,符合卷积特征的部分会被放大,而不符合的部分会被缩小。

池化层:负责对空间维度进行下采样

一般夹在连续的卷积层中间,用于压缩数据和参数的量,在一定程度上可以减少过拟合。

池化的方法一般有:最大池化(max pooling)和平均池化(average pooling)。实际比较常用的是最大池化。

最大池化的思想很简单,选择2*2的过滤器,步长为2。

如图把4*4的图像分割成4个不同的区域,然后对应输出每个区域的最大值。

那么平均池化计算的是区域内的平均值,而不是最大值。

全连接层

通常全连接层在卷积神经网络的尾部,两层之间的所有神经元都有权重连接。

c&d. 循环神经网络和递归神经网络

两者其实都是RNN

recurrent指时间递归(常用),是时间维度的展开,代表信息在时间维度从先往后的传递和积累

recursive指结构递归,是空间维度的展开

RNN具有记忆能力,主要用来识别序列,例如语音信号或者文本

以Recurrent neural network为例,基本结构单元由一个输入层,一个输出层,一个隐层组成

展开

可见,隐层的输入值包括当前时刻的输入和上一次的输出值

RNN 有一个很大的问题就是梯度消失,所以提出了LSTM来解决,这里不做展开的详细介绍。

以下有十种方法可以应用于所有的体系结构

1、反向传播(BP)

很基础的东西,以误差为主导旨在得到最优的全局参数矩阵,是目前训练人工神经网络ANN比较常用和有效的方法。

算法的基本思想是:每个神经元的敏感值依赖于其后继神经元的敏感值及其相应的权值

算法步骤是

  • 正向传播,得到最终网络的输出值
  • 敏感性的反向传播。敏感值为代价函数相对于神经元A的激活函数f的净输入的导数。
  • 最速下降法更新权值和偏置值

(打公式好麻烦,先空着)

2、随机梯度下降

梯度下降的三种形式:

  • BGD    batch gradient descent    批量梯度下降法
  • SGD    stochasic gradient descent    随机梯度下降法
  • MBGD    mini-batch gradient descent    小批量梯度下降法

3、学习率衰减

4、dropout

在前向传导时,让某个神经元的激活值以一定的概率p停止工作

可以很好地解决容易过拟合的问题

5、池化(上面提到了)

6、批量标准化/批量归一化

使得梯度从分散到正常值,并在小批量范围内流向共同目标

7、LSTM(long-short term memory)

8、skip-gram(这个不了解)

9、连续词袋(不了解)

10、迁移学习(不太了解)


 

猜你喜欢

转载自blog.csdn.net/jesmine_gu/article/details/81037595
今日推荐