我遇到了这个问题:
我必须构建一个必须近似未知函数f:R^2 -> R^2
的FFNN。我拥有的用于检查网络的数据是一维R向量。我知道函数g:R^2->R
会将网络的输出映射到我的数据空间。所以我会使用神经网络作为数据偏差的过滤器。但我面临两个问题:
首先,我如何以这种方式训练我的网络?
其次,我正在考虑添加一个额外的隐藏图层来映射R^2->R
并让网络自己找到正确的地图,然后移除额外的图层。这个算法是否正确?也就是说,输出是否与我想要的相同?
答案 0 :(得分:1)
您对附加图层的想法很好,但问题是,您必须修复此图层中的权重。因此在实践中,您必须计算R ^ 2-> R映射的偏导数,该映射可用作在训练期间通过网络传播的错误。不幸的是,这可能导致众所周知的“消失梯度问题”,这阻碍了NN的发展多年。
简而言之 - 您可以手动计算偏导数,并在R中给出预期输出,只需将计算出的“反向传播”误差提供给网络,寻找R ^ 2-> R ^ 2映射或正如您所说 - 创建额外的图层,并正常训练它,但你必须使上部权重恒定(这将需要在实现中进行一些更改)。