了解网络容量以及超参数的基本概念。知道通过增加神经元以及增加隐藏层的方式可以提高准确率,但是同时会导致训练难度大、过拟合等问题。

网络容量

可以认为与网络中的可训练参数成正比。网络中的神经单元数越多,层数越多,神经网络的拟合能力越强。但是训练速度、难度也就越大,越容易产生过拟合。

一般来说,神经网络的参数对应着一组函数:函数集。我们之所以能够使用一个神经网络来逼近(拟合)某个目标函数是因为这个函数集包含了我们想要拟合的目标函数。这里容量就是神经网络表示函数集要包含目标函数。 显然大的容量才让我们的搜索有保障。

理论上已经证明足够多层的神经网络是可以拟合任何函数的。但是,实践中,我们网络的层数不可能是那么的多,而且层数增多训练压力也变大,效果变差。后来出现了ResNet等技术等为深层网络的训练提供了支持。

增加网络容量主要有两个方法,第一种是增加神经元的数量,第二种是增加网络的层数。

超参数的概念

超参数的设置对最终网络的表现影响甚大,例如隐藏层与隐藏单元的数量,网络的深度与结构,激活函数,优化器,损失函数等重要配置等。所谓超参数,就是在搭建神经网络过程中,需要我们自己去选择的参数,并不是那些需要通过梯度下降算法去优化的参数。例如中间层的神经元个数、学习速率等都是超参数。

神经网络结构

如何提高网络的拟合能力?

一种很显然的想法就是增大网络容量:1、增加层;2、增加隐藏神经元个数

那么这两种方法哪种更好呢?

单纯增加神经元个数对于网络性能的提高并不是很明显,增加层会大大提高网络的拟合能力,这也是为什么深度学习的层越来越深的原因。但是单层的神经元个数不能太少,太少的话,会造成瓶颈使得模型欠拟合。

单层神经网络与深度学习

实例展示

一开始使用单层的神经网络进行训练的结果,准备率不到90%:

单层的神经网络进行训练的结果

现在尝试增加层的数量,再去查看正确率情况:

三个隐藏层的情况

显然正确率得到了提高。

但是正如前面所说,过多的隐藏层训练速度、难度大,越容易产生过拟合。具体什么是过拟合以及如何抑制过拟合,将在下一篇文章中进行讲解。


博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/increaseAcc.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 09 月 11 日
如果觉得我的文章对你有用,请随意赞赏