第八章 深度学习
举例
网络特点:
1.基于3×3的小型滤波器的卷积层。
2.激活函数是ReLU。
3.全连接层的后面使用Dropout层。
4.基于Adam的最优化。
5.使用He初始值作为权重初始值。
提高识别精度方法
1.集成学习
2.学习率衰减
3.数据扩充(data augementation)
数据扩充:对于输入图像,通过施加旋转、垂直或水平方向上的移动等微小变化,增加图像的数量
还可以通过其他各种方法扩充图像,比如裁剪图像的“crop处理”、将图像左右翻转的“flip处理”等。
加深层的作用
1.减少网络参数数量
与没有加深层的网络相比,加深了层的网络可以用更少的参数达到同等水平(或者更强)的表现力
参数数量:5*5=25
参数数量:2*3*3=18
2.提高网络表现力
通过叠加多层非线性函数,可以表现更复杂的东西
3.可以使学习更加高效
通过加深层,可以将各层要学习的问题分解成容易解决的简单问题,从而可以进行高效的学习。
VGG
VGG是由卷积层和池化层构成的基础的CNN,它的特点在于将有权重的层(卷积层或者全连接层)叠加至16层(或者19层),具备了深度(根据层的深度,有时也称为“VGG16”或VGG19”)。
GoogLeNet
GoogLeNet也是基于CNN,它的特征是,网络不仅在纵向上有深度,在横向上也有广度,横向上的宽度以Inception结构为基础
Inception结构
Inception结构使用了多个大小不同的滤波器(和池化),最后再合并它们的结果。
其中1 × 1的卷积运算通过在通道方向上减小大小,有助于减少参数和实现高速化处理
ResNet
特征在于具有比以前的网络更深的结构,引入了“快捷结构”,通过以2个卷积层为间隔跳跃式地连接来加深层
通过引入这种快捷结构,即使加深层,也能高效地学习。这是因为,通过快捷结构,反向传播时信号可以无衰减地传递。
深度学习的高速化
1.GPU加速
2.分布式学习
3.运算精度的位数缩减
深度学习的应用
多模态处理
我们将组合图像和自然语言等多种信息进行的处理称为多模态处理
RNN
神经网络会受到之前生成的信息的影响,RNN以记忆过去的信息的方式运行
无监督学习
没有给出监督数据,只给了大量的图像(图像的集合)
DCGAN中使用了深度学习,其技术要点是使用了Generator(生成者)和Discriminator(识别者)这两个神经网络,两者互相切磋、共同成长。
强化学习
让计算机在摸索试验的过程中自主学习
强化学习的基本框架是,代理(Agent)根据环境选择行动,然后通过这个行动改变环境。根据环境的变化,代理获得某种报酬。
强化学习的目的是决定代理的行动方针,以获得更好的报酬。