c++ - CNN - 卷积层的反向传播

标签 c++ c++11 neural-network artificial-intelligence backpropagation

我正在构建一个只有卷积层的 CNN(到目前为止)。

我使用了与 ANN 相同的算法。因为 Conv 层没有完全连接并且具有共享权重,所以我不确定如何为此计算梯度和适当的统计数据。我尝试对 &Delta 权重进行平均,并使用平均值进行反向传播。经过几次测试后,我认为这行不通,它使迭代计算非常慢(每秒 1 次迭代而不是 80 次)。

如何正确反向传播 Conv 层?

如果有人有关于其他层(如池化)的反向传播的任何信息或链接,那也很好。

最佳答案

SGD(Stochastic Gradient Descent)有很多算法可以选择反向传播。你可以试着看看其中的一些,比如 - 势头 -AdaGrad -AdaDelta - 亚当 ...

关于c++ - CNN - 卷积层的反向传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321392/

相关文章:

c++ - 循环包括由于 C++ 类中的枚举

c++ - 跳转到案例标签跨越 'std::unique_lock<std::mutex>' 的初始化

c++11 - 识别 Eigen 中的临时对象创建

c++ - 使用 Stack 类实现 List 类

javascript - JavaScript 中的神经网络

r - 在 R 中使用 PSO 进行神经网络训练

c++ - 具有未使用的引用参数的 constexpr 函数——gcc vs clang

c++ - main() 中的无名参数是否严格符合要求?

c++ - 这是 Visual Studio 2013 update 4 C++ 优化器错误还是我的代码有误?

C# 开发一个简单的销售预测系统?