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

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



