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

3.4 使用批量标准化进行优化

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

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

3.4 使用批量标准化进行优化

CNN 的另一个众所周知的优化技术是批量归一化。该技术在将其馈送到下一层之前对当前批次的输入进行标准化。因此,每个批次应在均值为0、标准差为1 附近激活,并且可以避免内部协变量的漂移。这使得每批数据的输入分布对网络的影响较小,因此该模型能够更好地泛化和更快地训练。

在下面的方案中,将向您展示如何将批量标准化应用于具有十个类的图像数据集(CIFAR-10)。首先,训练没有批量标准化的网络体系结构来演示性能的差异。

如何去做…

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

2)加载CIFAR10 数据集:

3)标准化输入数据:

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

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

6)定义一个回调函数来防止过度配合:

7)设置网络超参数:

8)接下来,训练第一个模型:

9)现在,把批量标准化添加到网络体系结构中:

10)现在准备对批量归一化的模型进行训练:

11)绘制两个模型的验证精度来比较性能:

两个模型的结果如图3.4 所示。

正如所看到的,具有批量标准化的模型在多个周期之后在验证精度上领先,并且领先于没有批量标准化的模型,最高验证精度为84.16%,而没有批量标准化的模型的验证精度为83.19%。批量归一化的模型也收敛得很快(26 个周期对比40 个周期)。然而,每个周期25s,批量标准化的模型比没有批量标准化的模型(17s)要少一个周期。


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

51CTO读书频道二维码


51CTO读书会第9群:808517103

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

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

读 书 +更多

PHP5与MySQL5 Web2018送彩金的娱乐网站技术详解

本书是目前中文版本第一个真正介绍PHP 5及MySQL 5新增语法与功能的权威宝典! 本书本着精、全、要三宗旨,从理论中延伸,从实践中深入,详...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
博聚网