昨天和一个朋友讨论神经网络如何能够实现表达f = x1*x2这样一个简单的函数,把思路整理如下:
假设有m个节点、两个输入x1、x2的单隐层神经网络,激励函数为tanh。输出值表达为:
y = Wo1* tanh(Wi1 * x1 + Wi2* x2 + Wi3)
+ Wo2 * tanh(Wi4 * x1 + Wi5* x2 + Wi6)
……
+ Wom * tanh(Wi(3m-2) * x1 + W i(3m-1) * x2 + W i(3m-0))
做泰勒展开,并忽略五次(包括五次)以上项,则:
y = Wo1* (Wi1 * x1 + Wi2* x2 + Wi3) + Wo1 * (Wi1 * x1 + Wi2 * x2 + Wi3)3/3
+ Wo2 * (Wi4 * x1 + Wi5 * x2 + Wi6) + Wo2* (Wi4 * x1 + Wi5*x2 + Wi6) 3/3
……
+ Wom</