|
|
51CTO旗下网站
|
|
移动端

3.3 应用层合并技术

《Python深度学习实战:75个有关神经网络建模、强化学习与迁移学习的解决方案》第3章卷积神经网络,本章重点介绍CNN 及其构建模块。在本章中,将提供有关CNN 中使用的技术和优化方案。本节为大家介绍应用层合并技术。

作者:程国建/周冠武 译来源:机械工业出版社|2018-09-01 10:24

3.3 应用层合并技术

一种流行的CNN 优化技术是层合并。层合并是一种用智能方式来减少可训练参数的方法。两个最常用的层合并技术是平均池化和最大池化。首先,对于指定的块大小,对输入进行平均并提取。对于后者,提取块中的最大值。这些层合并提供了平移不变性。换句话说,一个特征的确切位置是不太相关的。而且,通过减少可训练参数的数量,限制了网络的复杂性,以防止过拟合出现。另一个好处是它将大大减少训练和推理时间。

在下一个方案中,将在上一个方案中实现的CNN 中添加最大层合并,同时增加卷积层中的滤波器数量。

如何去做…

1)导入所有必要的函数库:

2)加载MNIST 数据集:

3)重整训练数据来表示灰度图像输入:

4)标准化输入数据:

5)对标签进行独热编码:

6)定义CNN 体系结构并输出网络体系结构:

7)设置网络超参数并定义回调函数:

8)训练模型:

9)在测试集上显示结果:

在每个卷积层之后通过应用最大合并层,能够将错误率降低到0.45(与之前的0.70 的错误率相比,下降了36%)。而且,通过应用最大层技术,可训练参数的数量明显减少到665 994。可以得知,一个周期只需要大约11s。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

WebWork in Action中文版

本书是一本从头至尾都使用现实世界例子讲述有关编写Web应用程序的书籍。WebWork所强调的内容是:利用框架实现你的项目,而不是被框架所阻碍...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊