这个问题是关于神经网络的经验(现实生活)使用。在我现在正在上的一门 ML 课程中,讲师介绍了神经网络的基础知识,从基本的感知器到基本的前馈,有 1 层到 1 个隐藏层,等等。
对我来说突出的一件事是通用逼近定理。George Cybenko 在 1988 年表明,任何函数都可以通过具有 3 层的 NN 逼近到任意精度(2 个隐藏层,1 个输出层;参见通过 Sigmoidal 函数的叠加进行逼近,[Cybenko,1989])。当然,这篇论文并没有说每层有多少个单元,也没有说参数的可学习性。
我想到了 Gizmodo 上的帖子Google Street View Uses An Insane Neural Network To ID House Numbers谈论 Google 用于识别门牌号码的 11 个隐藏层网络。事实上,实际论文Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks [Goodfellow et al., 2013]说最深的网络具有最高的准确度,准确度随着网络深度的增加而增加。
为什么会这样?为什么“堆叠更多层”有效?定理不是已经说 2 个隐藏层就足够了吗?