关于Pytorch中神经网络自定义的问题

现在想尝试在一个单个隐藏层的神经网络中。把传统的线性权重"WX+b"加上激活函数的复合函数, 替换成任意高次函数f(x)(例如"Ax^3+Bx^2+Cx+d"),然后进行前向传播与反向传播请问是否可行。求相关的理论参考与pytorch实现的相关资料?

替换成其他激活函数理论上是可以的,不过也有可能无法收敛,最好是高次的非线性函数,这样才好拟合

pytorch实现的话,参考李沐老师的系列教程应该就差不多了:

课程主页:https://courses.d2l.ai/zh-v2/

教材:https://zh-v2.d2l.ai/

多层的神经网络(Wx+b + 非线性激活)理论上是可以拟合任意函数的,包括你列的"Ax^3+Bx^2+Cx+d"。只要计算机算的动(尤其是当x矩阵特别大的时候),你在单层里面使用"Ax^3+Bx^2+Cx+d"应该也是可以,但效果好不好就得看实验了。但我感觉效果可能比较差,与其如此,不如直接用多层的MLP。