为什么神经网络具有很强的拟合能力?

自己用简单的单层神经网络,拟合正弦函数sin(x)在各种区间,各种神经网络函数作用在中间隐藏层,然后线性加权输出
输入:1维
隐藏层:1000个
非线性函数:tanh, sigmoid, relu
输出:加权

发现的几个现象:
1, tanh和relu的拟合能力吊打sigmoid的。
疑问:relu按理也是一个非零均值的函数,他为啥能很好地拟合目标函数?可能是非线性区很长,而且梯度一直很大吧。sigmoid是真的弱,训练次数很大,但是很慢。
2,在train set的取值范围,大家表现得都还不错,但是一旦到了train范围之外的区域,比如train选择[0, 2pi],那么在这个区间范围之外的地方,拟合的结果很辣眼睛,跟sin(x)本身差距非常大。
3,与这篇参考文章描述的理论差别比较大。本来实验的目的,是想看看是不是单层神经网络的参数,真的像这篇文章说的,
1)输入层到隐藏层之间的w1很大,
2)而隐藏层到输出层之间的w2和目标函数有关。
但是1)显然不成立,w1的范围差不多在(-1, 1),而w2比w1略小。
也就是说实际训练中,隐藏层输出并非那种竖直的长条状函数,而是各种均匀分布的w1和w2。
另外一个有趣的现象。
在用tanh拟合的时候,sin(x)训练集的取值范围对w1w2的符号影响很大:
当训练集的最后一部分取值,sin(x)处于递增阶段时,拟合结果将会使w1
w2的符号一直为+。反之则为-。

+++++++++++++美妙的分割线==++++++++++++++
对Relu的类型仔细分析,发现使用单隐藏层Relu拟合正弦函数,Relu的输出最后对应的w2为正的所有项的和,拟合了正弦函数中开口向上的部分(凸的部分);而w2为负的所有项的和则拟合了开口向下(凹的部分)。