通用逼近定理的正式陈述指出,具有单隐藏层的neural nets可以逼近在m维单位超立方体上连续的任何函数。但是,对于不连续的函数,neural nets是否总能逼近它们,有没有已知的结论呢?
例如,考虑一个计算π的第n位数字的函数。如果我用一些单隐藏层的neural net在这个数据上进行训练:(n, π的第n位数字),它最终能否对未见过的n返回正确的值?多隐藏层的neural nets又如何呢?
回答:
通用逼近定理的正式陈述指出,具有单隐藏层的neural nets可以逼近在m维单位超立方体上连续的任何函数。但是,对于不连续的函数,neural nets是否总能逼近它们,有没有已知的结论呢?
是的,大多数不连续的函数都可以被neural nets逼近。实际上,函数只需要是可测的,因为根据卢辛定理,任何可测函数在其定义域的几乎所有地方都是连续的。这对于通用逼近定理来说已经足够了。
然而,请注意,该定理只说明一个函数可以被neural net表示。它并没有说明这种表示是否可以被学习,或者这种表示是否高效。实际上,对于单层网络逼近一个高度变化的函数,其大小会随着函数复杂性的增加而呈指数增长。
例如,考虑一个计算π的第n位数字的函数。如果我用一些单隐藏层的neural net在这个数据上进行训练:(n, π的第n位数字),它最终能否对未见过的n返回正确的值?多隐藏层的neural nets又如何呢?
不能。有无限多的函数可以返回π的任何子序列。网络永远不会知道你想要它学习哪一个。neural nets通过利用函数的平滑性来进行泛化,但你想要它学习的序列根本不平滑。
换句话说,你需要一个精确的表示。对于预测π的数字,逼近是没有用的。通用逼近定理只保证逼近的存在性。