斋藤康毅chp8-深度学习

8.1加深网络


 这里创建了一个深层的网络用于手写数字识别。

 加深层的好处有哪些呢?

1.可以减少网络的参数数量
与没有加深层的网络相比,加深了层的网络可以用更少的参数达到同等水平(或者更强)的表现力


 一个由5 × 5的滤波器构成的卷积层,每个输出节点都是从输入数据的某个5 × 5的区域算出来的。
 接下来我们思考一下图8-6中重复两次3 × 3的卷积运算的情形,每个输出节点将由中间数据的某个3 × 3的区域计算出来,中间数据的3 × 3的区域又是观察”了输入数据的某个5 × 5的区域后计算出来的。

 一次5 × 5的卷积运算的区域可以由两次3 × 3的卷积运算抵充。 并且,相对于前者的参数数量25(
5 × 5),后者一共是18(2 × 3 × 3),通过叠加卷积层,参数数量减少了。

2.使学习更加高效。
 与没有加深层的网络相比,通过加深层,可以减少学习数据,从而高效地进行学习。
 通过加深网络,就可以分层次地分解需要学习的问题。以狗的照片为例子,最开始的层只要专注于学习边缘就好,这样一来,只需用较少的学习数据就可以高效地进行学习。这是为什么呢?因为和印有“狗”的照片相比,包含边缘的图像数量众多,并且边缘的模式比“狗”的模式结构更简单
 通过加深层,可以分层次地传递信息,从而可以进行高效的学习

2.深度学习的3个著名网络

vgg  

 VGG是由卷积层和池化层构成的基础的CNN,它的特点在于将有权重的层(卷积层或者全连接层)叠加至16层,具备了深度


 他的方式是重复进行“卷积层重叠2次到4次,再通过池化层将大小减半”的处理,最后经由全连接层输出结果

GoogleNet  


 矩形表示卷积层、池化层等,特征是,网络不仅在纵向上有深度,在横向上也有深度(广度)
 在横向上有“宽度”,这称为“Inception结构,Inception结构使用了多个大小不同的滤波器(和池化),最后再合并它们的结果.GoogLeNet的特征就是将这个Inception结构用作一个构件(构成元素),1 × 1的卷积运算通过在通道方向上减小大小,有助于减少参数和实现高速化处理

ResNet  

 它的特征在于具有比以前的网络更深的结构
 但是,在深度学习中,过度加深层的话,很多情况下学习将不能顺利进行,导致最终性能不佳
ResNet中导入了“快捷结构”,快捷结构横跨(跳过)了输入数据的卷积层,将输入x合计到输出


在连续2层的卷积层中,将输入x跳着连接至2层后的输出,原来的2层卷积层的输出F(x)变成了F(x) + x,所以反向传播时会将来自上游的梯度原封不动地传向下游,,之前因为加深层而导致的梯度变小的
梯度消失问题就有望得到缓解.

1 个赞

完结撒花