单隐层带tanh激活的MLP能否学习特定求和的sin函数?
这个单隐藏层MLP完全可以学到目标映射!
嘿,你的这个问题很典型,刚好可以结合万能逼近定理和激活函数的特性来解释:
目标函数的可学习性:你的标签是
sin(x₀ - x₁ + x₂ - x₃),本质是输入特征的线性组合后再经过一个光滑连续的非线性变换。而单隐藏层的MLP(只要隐藏层神经元数量足够),根据万能逼近定理,可以逼近任何定义在紧集上的连续函数——你的目标函数显然满足这个条件。tanh激活的适配性:tanh本身是和sin类似的光滑S型非线性函数,它的表达能力足够覆盖sin函数的形态。隐藏层的tanh神经元可以通过权重组合,先拟合出
x₀ - x₁ + x₂ - x₃这个线性组合,再通过输出层的tanh来近似sin的非线性变换;甚至不需要显式拆分这两步,MLP会自动学习到从输入到标签的直接映射。实践中的注意事项:
- 隐藏层神经元数量不用太多,一般5-10个就足够拟合这个简单的映射,太多反而可能过拟合;
- 训练时选择合适的优化器(比如Adam或者动量SGD),设置合理的学习率,给足够的迭代次数,模型就能收敛到不错的效果;
- 因为你的数据集是随机生成的,分布均匀,模型更容易学到通用的规律,不会出现数据分布偏斜导致的学习困难。
总结一下:只要训练参数设置合理,这个单隐藏层、全用tanh激活的MLP完全可以学习到符合要求的标签输出。
内容的提问来源于stack exchange,提问作者KOB
相关产品推荐
相关产品推荐

