怎么设置大数据神经网络中神经元和网络层的数量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
导语
对于机器学习初学者而言,对这样两个问题会比较困惑:1) 给定神经网络,如何确定中间层数数?2)如何确定每个中间层的神经元数量?
神经网络模型有个重要的定理,就是万能逼近原理,它指的是存在一个足够大的网络能够达到我们所希望的任意精度。不过这个定理没有给出具体计算网络层数和神经元个数的方法。
真正了解哪种架构最有效以及最暴力的唯一方法是尝试所有架构,然后选择最佳架构。然而对于神经网络而言,这非常困难,因为每种模型都需要花费很多时间来训练。有种做法是先训练一个过大的模型,然后通过消除对网络没有太大贡献的权重来修剪模型。
实际上,没有通用的确定网络层数和神经元个数的方法。不过我们可以从下面两个略抽象的方面来间接探讨这个问题。
01
更深的网络模型
更深的网络模型意味着模型拥有更多的中间层(隐藏层)。它的作用是允许模型计算更复杂的特征。例如,在卷积神经网络中,模型前几层代表“低级”特征,例如边缘;最后几层代表“高级”特征,例如面部,身体部位等。对于非结构化数据而言(例如图像),较深的模型会充分挖掘数据的高层次复杂特征。
02
更宽的网络模型
模型层数多(更深)意味着可以创建更复杂的特征,模型更宽(单层神经元数量多)则意味着可以创建更多的特征。某些问题只需要提取数据简单的特征,不过会需要很多这样简单的特征,这样更宽的模型就会派上用场。通常,到网络末端的维度越来越窄,由于复杂的特征比简单的特征承载更多的信息,因此网络偏末端更需要体现模型的深度而不是宽度。
看完上述内容,你们掌握怎么设置大数据神经网络中神经元和网络层的数量的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。