人工神经网络架构与超参数调优及深度网络训练问题解析
1. 神经网络架构设计
在设计神经网络时,输入和输出神经元的数量是根据具体任务确定的。例如,对于MNIST数据集,需要28×28 = 784个输入神经元和10个输出神经元。
对于隐藏层,过去常见的做法是将其设计成金字塔形状,即每一层的神经元数量逐渐减少。其原理是许多低级特征可以合并成更少的高级特征。一个典型的MNIST神经网络可能有3个隐藏层,第一层有300个神经元,第二层有200个,第三层有100个。然而,这种做法现在大多已被摒弃,因为在大多数情况下,所有隐藏层使用相同数量的神经元效果同样好,甚至更好,而且只需调整一个超参数,而不是每层都要调整。不过,根据数据集的不同,有时将第一个隐藏层设置得比其他层大可能会有帮助。
就像增加层数一样,你可以逐渐增加神经元的数量,直到网络开始过拟合。但在实践中,选择一个比实际需要更多层和神经元的模型,然后使用早停和其他正则化技术来防止过拟合,通常更简单、更高效。谷歌科学家Vincent Vanhoucke将这种方法称为“弹性裤”方法:与其浪费时间寻找完全合身的裤子,不如使用大的弹性裤,它会收缩到合适的尺寸。采用这种方法可以避免可能破坏模型的瓶颈层。相反,如果某一层的神经元太少,它将没有足够的表示能力来保留输入中的所有有用信息。
一般来说,增加层数比增加每层的神经元数量更划算。
2. 多层感知机(MLP)的超参数
多层感知机中可调整的超参数不止隐藏层和神经元的数量,以下是一些最重要的超参数及其设置技巧:
- 学习率 :学习率可以说是最重要的超参数。一般来说,最优学习率约为最大学习率的一
超级会员免费看
订阅专栏 解锁全文
4765

被折叠的 条评论
为什么被折叠?



