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

3.6 试验不同类型的初始化

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

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

3.6 试验不同类型的初始化

对CNN 来说,权重和偏置的初始化可能是非常重要的。对于非常深的神经网络,一些初始化技术可能导致由最终层中梯度值的大小引起的梯度下降。在下面的方案中,将向读者展示如何针对一些知名网络使用不同的初始化,并显示性能的差异。通过选择正确的初始化,可以加速网络的收敛。在下面的方案中,首先用流行的高斯噪声初始化网络的权重和偏置,平均值等于零,标准偏置为0.01。之后,使用Xavier 初始化,还有常态和均匀分布方法,以及一些其他流行的初始化分布。

如何去做…

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

2)开始加载文件名并输出训练集大小:

3)接下来,将数据集划分成一个训练集和测试集:

4)训练集比较大,使用批生成器,这样就不必在内存中加载所有图像:

5)接下来,定义一个函数来创建一个模型,给定步长和填充参数值:

6)现在,为每个初始化类型定义一个模型:

7)尽早停止训练,以防止出现对训练数据的过拟合:

8)下一步,训练模型并保存结果:

9)可视化结果(见图3.8):

正如读者所看到的,权重的初始化类型会对结果产生影响。测试所有不同的初始化方法可能需要大量的计算,所以往往不理想。对于CNN 来说,每个框架的默认设置往往做得很好。对于二维卷积层,Glorot 均匀分布权重(也称为Xavier 均匀初始化)通常用作默认值。


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

51CTO读书频道二维码


51CTO读书会第9群:808517103

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

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

读 书 +更多

网络工程师考试考前冲刺预测卷及考点解析

本书依据最新版《网络工程师考试大纲》的考核要求,深入研究了历年网络工程师考试试题的命题风格和试题结构,对考查的知识点进行了提炼,并...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊