如果神经网络不是连续函数,为什么它可以解决 XOR?

数据挖掘 机器学习 神经网络
2021-09-16 01:25:11

我的理解是,没有任何花哨的激活函数的典型神经网络只能解决可以建模为连续函数的问题。如果是这样,为什么标准的神经网络(1 个隐藏层)可以解决异或?我不是在这里寻找异或的解决方案,而是解释为什么使用非连续函数可以做到这一点。

对此问题的任何帮助将不胜感激。

1个回答

我想你需要的观察是神经网络通常是一个函数f:R2R或类似的东西,而 XOR 函数是来自的映射{0,1}2{0,1}.

构造一个函数很容易,当限制为{0,1}2, 是 XOR 函数,但在R2. 考虑

g:R2R,(x,y)x+y2xy.

当然g(0,0)=0,g(1,0)=1,g(0,1)=1g(1,1)=0, 所以g|{0,1}2=XOR. 但我们可以看到g是一个连续函数(在R2)。我们不在乎它在几乎整个R2; 它只需要在我们关心的四点上达成一致。

尝试明确地构建一个计算 XOR 函数的神经网络是一个有趣的练习。你应该可以通过 ReLU 激活相当容易地做到这一点;用几层来做可能会稍微简单一些。如果还不清楚,我可以进一步扩展。