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

2.6 关于隐层和隐层神经元的实验

《Python深度学习实战:75个有关神经网络建模、强化学习与迁移学习的解决方案》第2章前馈神经网络,本章的重点是为FNN 和其他网络拓扑的常见实现问题提供解决方案。本章讨论的技术也适用于后续内容。本节为大家介绍关于隐层和隐层神经元的实验。

作者:程国建/周冠武 译来源:机械工业出版社|2018-08-30 18:55

2.6 关于隐层和隐层神经元的实验

一般神经网络中最常用的层是完全连接的层。在全连接层中,两个连续层中的神经元都是成对连接的。但是,同一隐层中的神经元之间不会共享任何连接。如前所述,层与层之间的连接权重也称为可训练参数。这些连接的权重由网络进行训练。连接越多,参数越多,建模越复杂。大部分最先进的模型都有超过1 亿个参数。但是,具有多个层次和神经元的深度神经网络需要更多的时间来训练。而且,对于非常深的模型,推断预测要花费更长的时间(这在实时环境中可能存在问题)。下面将介绍其他常用网络特有的层类型。

选择正确数量的隐层和隐层神经元可能很重要。当使用的节点太少时,模型将无法拾取所有的信号,这会导致精度降低和预测性能变差(欠拟合)。使用太多的节点,模型将倾向于过度训练数据(见正规化技术,防止过拟合),泛化能力差。因此,要看验证数据的性能,才能找到适当的平衡。在下一个方案中,将展示一个过拟合的例子,并输出可训练参数的数量。

如果有大量可用的高维训练数据,则深度FNN 表现良好。对于简单的分类或回归任务,通常单层神经网络效果最好。

如何去做…

1)导入函数库和数据集:

2)加载数据集:

3)将数据集分解为训练数据和测试数据:

4)标准化输入数据:

5)定义模型和优化器并进行编译:

6)设置超参数并训练模型:

7)对测试集进行测试:

8)绘制训练精度及验证精度图例:

获得图2.12 所示结果。

应该重点关注验证精度,并且在大约450 个周期之后使用早停法来停止训练。这将产生最高的验证精度。在用正则化提高泛化能力添加Dropout 措施以防止过拟合的内容中,介绍防止过拟合的技术。通过使用这些技术,可以创建更深的模型,而不会过拟合训练数据。

更多…

一般来说,对于FNN,使用的隐层神经元数量逐层减少。这意味着在第一个隐层使用的隐层神经元最多,并且减少每个附加隐层的隐层神经元数量。通常隐层神经元的数量在每个步骤中除以2。请记住,这是一个经验法则,隐层和隐层神经元的数量应根据验证结果,通过反复试验与减小误差来获得。

在第13 章 网络内部构造 和第14 章 预训练模型 中,将介绍隐层和隐层神经元数量的优化技巧。

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

51CTO读书频道二维码


51CTO读书会第9群:808517103

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

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

读 书 +更多

《网管员必读——网络管理》

本书在全面介绍微软2018送彩金白菜网大全网络操作系统Windows Server 2003的基础上,简要地介绍了UNIX和Linux两大操作系统的代表产品:Sun(太阳)公司的Sol...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
博聚网