神经网络基础学习笔记(七)深度学习

目录

深度学习

8.1 加深网络

8.1.2 进一步提高识别精度

8.1.3 加深层的动机

8.2 深度学习的小历史

8.2.1 ImageNet

8.2.2 VGG

8.2.3 GoogLeNet

8.2.4 ResNet

8.3 深度学习的高速化

8.3.1 需要努力解决的问题

8.3.2 基于GPU的高速化

8.3.3 分布式学习

8.3.4 运算精度的位数缩减

8.4 深度学习的应用案例

8.4.1 物体检测

8.4.2 图像分割

8.4.3 图像标题的生成

8.5.1 图像风格变换

8.5.2 图像的生成

8.5.3 自动驾驶​

8.5.4 Deep Q-Network(强化学习)


深度学习

在CNN的基础上,只需通过 叠加层,就可以创建深度网络

8.1 加深网络

这个网络使用He初始值作为权重的初始值,使用Adam更新权重参数

把上述内容总结起来,这个网络有如下特点

  • 基于3×3的小型滤波器的卷积层。
  • 激活函数是ReLU。
  • 全连接层的后面使用Dropout层
  • 基于Adam的最优化。
  • 使用He初始值作为权重初始值

识别进度高达了为99.38%

出错的图

8.1.2 进一步提高识别精度

我们可以采用集成学习、学习率衰减、Data Augmentation(数据扩充)等都有 助于提高识别精度。

Data Augmentation基于算法“人为地”扩充输入图像(训练图像)。具 体地说

Data Augmentation还可以通过其他各 种方法扩充图像,比如裁剪图像的“crop处理”、将图像左右翻转的“fl ip处 理”A 等

8.1.3 加深层的动机

到层越深,识别性能也越高

接下来我们思考一下图8-6中重复两次3 × 3的卷积 运算的情形

一次5 × 5的卷积运算的区域可以由两次3 × 3的卷积运算抵充。

通过叠加卷积层,参数数量减少了。而且,这个参数数量之差会随着层的加深而变大

具体的说:

重复三次3 × 3的卷积运算时,参数的数量总共是27。而为了用一次 卷积运算“观察”与之相同的区域,需要一个7 × 7的滤波器,此时的参数数 量是49。

叠加小型滤波器来加深网络的好处是可以减少参数的数量,扩大感受野(receptive field),给神经元施加变化的某个局部空间区域)并且, 通过叠加层,将 ReLU等激活函数夹在卷积层的中间,进一步提高 了网络的表现力。这是因为向网络添加了基于激活函数的“非线性” 表现力,通过非线性函数的叠加,可以表现更加复杂的东西。

8.2 深度学习的小历史

8.2.1 ImageNet

ImageNet是拥有超过100万张图像的数据集。

8.2.2 VGG

VGG是由卷积层池化层构成的基础的CNN

它的特点在于将有权重的层(卷积层或者全连接层)叠加至16层(或者19层), 具备了深度(根据层的深度,有时也称为“VGG16”或“VGG19”)。

8.2.3 GoogLeNet

GoogLeNet的网络结构如图8-10所示。图中的矩形表示卷积层、池化层

8.2.4 ResNet

它的特征在于具有比以前的网络更深的结构。

实践中经常会灵活应用使用ImageNet这个巨大的数据集学习到的权重数据,这称为迁移学习,将学习完的权重(的一部分)复制到其他神经网络,进行再学习(fine tuning)

比如,准备一个和 VGG相同 结构的网络,把学习完的权重作为初始值,以新数据集为对象,进 行再学习。

迁移学习在手头数据集较少时非常有效

8.3 深度学习的高速化

大多数深度学习的框架都支持 GPU(Graphics Processing Unit)

8.3.1 需要努力解决的问题

AlexNex中,大多数时间都被耗费在卷积层上

卷积层的处理时间加起来占GPU整体的95%,占CPU整体的89%

8.3.2 基于GPU的高速化

GPU计算的目标就是将这种压倒性的计算能力用于各种用途。

深度学习中需要进行大量的乘积累加运算(或者大型矩阵的乘积运算)。 这种大量的并行运算正是GPU所擅长的(反过来说,CPU比较擅长连续的、 复杂的计算)。

GPU主要由NVIDIA和AMD两家公司提供,虽然两家的GPU都可以 用于通用的数值计算,但与深度学习比较“亲近”的是NVIDIA的GPU。

基于im2col以大型矩阵的乘积的方式汇总计算, 更容易发挥出 GPU的能力。

8.3.3 分布式学习

8.3.4 运算精度的位数缩减

8.4 深度学习的应用案例

8.4.1 物体检测

在使用CNN进行物体检测的方法中,有一个叫作R-CNN的有名的方 法。

8.4.2 图像分割

如图8-19所示,使用以像 素为单位对各个对象分别着色的监督数据进行学习

卷积运算中会发生重复计算很多区域的无意义的计算)

有人提出了一个名为FCN(Fully Convolutional Network)FCN的字面意思是“全部由卷积层构成的网络”

8.4.3 图像标题的生成

有一项融合了计算机视觉和自然语言的有趣的研究,该研究如图8-21所 示,给出一个图像后,会自动生成介绍这个图像的文字(图像的标题)。

一个基于深度学习生成图像标题的代表性方法是被称为NIC(Neural Image Caption)的模型。我们将组合图像和自 然语言等多种信息进行的处理称为多模态处理。多模态处理是近年来备受关 注的一个领域。

8.5.1 图像风格变换

有一项研究是使用深度学习来“绘制”带有艺术气息的画。如图8-23所示, 输入两个图像后,会生成一个新的图像。两个输入图像中,一个称为“内容 图像”,另一个称为“风格图像”。

8.5.2 图像的生成

现从零生成“卧室”的图像

DCGAN生成的图像是谁都没有见过的 图像(学习数据中没有的图像),是从零生成的新图像

8.5.3 自动驾驶

8.5.4 Deep Q-Network(强化学习)

就像人类通过摸索试验来学习一样(比如骑自行车),让计算机也在摸索 试验的过程中自主学习,这称为强化学习(reinforcement learning)

强化学习的基本框架是,代理(Agent)根据环境选择行动,然后通过这 个行动改变环境。根据环境的变化,代理获得某种报酬。

在使用了深度学习的强化学习方法中,有一个叫作Deep Q-Network(通 称DQN)的方法。

在游戏上 的应用:

8.6 小结

  • 这一章的主要是开开眼
  • 对于大多数的问题,都可以期待通过加深网络来提高性能
  • 在最近的图像识别大赛ILSVRC中,基于深度学习的方法独占鳌头, 使用的网络也在深化。
  • VGG、GoogLeNet、ResNet等是几个著名的网络
  • 基于GPU、分布式学习、位数精度的缩减,可以实现深度学习的高速化
  • 深度学习(神经网络)不仅可以用于物体识别,还可以用于物体检测、 图像分割。
  • 深度学习的应用包括图像标题的生成、图像的生成、强化学习等。
  • 最近, 深度学习在自动驾驶上的应用也备受期待。

猜你喜欢

转载自blog.csdn.net/qq_37457202/article/details/107696189
今日推荐