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

3.2 开始使用滤波器和参数共享

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

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

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

3.2 开始使用滤波器和参数共享

下面介绍卷积网络中最重要的部分:卷积层。在卷积层中,有对输入数据进行卷积的块(如滑动窗口)。该技术为每个块共享参数,以便可以在整个输入数据中检测块内的特征。块的大小称为内核大小或滤波器大小。综上所述,卷积层提取了整个特征集合内的局部特征。在图3.1 中用图像作为输入数据来对此加以说明。

输入数据可以包含多个不同的特征,所以这个技巧可以应用多次。这被称为滤波器数量或滤波器深度。简单地说,如果在图像数据上使用具有五个滤波器的卷积层,则卷积块尝试学习图像中的五个不同特征,例如鼻子、眼睛、嘴巴、耳朵和睫毛等的面部特征。虽然这些特征从来没有明确规定,但是网络本身试图学习有价值的特征。

对于CNN,建议使用越来越多的滤波器,例如每个卷积层的滤波器数量的逐层翻倍:32、64 和128。

在下面的方案中,将实现一个CNN 来对第2 章中使用的MNIST 图像进行分类。

如何去做…

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

2)加载MNIST 数据集:

3)重整训练数据来表示单通道图像输入:

4)标准化输入数据:

5)对标签进行独热编码(one-hot encode)一 :

6)定义CNN 体系结构:

7)设置网络超参数和回调函数:

8)训练模型:

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

输出如图3.2 所示。

10)绘制错误分类的图像及其标签:

正如在输出中看到的那样,一些错误分类的例子其实很难预测。例如,实际标签为8,而预测为9 的第七个示例,如图3.3 所示。

这个模型的结果已经相当不错了。在深度有限的情况下(三个卷积层和一个全连接层),大约经过11 个周期,在测试集上获得了99.30%的精度。该模型拥有16 230 794 个可训练参数,并在NVIDIA Tesla K80 GPU 上以45s 左右的时间运行一个周期。据报道,一份***的研究论文已经获得了0.23 的错误率(其对应99.77%的精度)。此模型使用了35 个深度神经网络的集合,包括图像增强。通过稍后讨论的一些附加技术,可以进一步提高模型测试得分。


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

51CTO读书频道二维码


51CTO读书会第9群:808517103

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

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

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

XML案例解析教程

本书对开发XML应用程序给予了详细指导,其中一些应用程序甚至对于您来说是完全陌生的。这些应用程序包括XML 1.0,以及与XSLT、XQuery和XPat...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客