我正在尝试在没有任何框架(例如PyTorch,Tensorflow,Keras等)的python上创建CNN。 差不多完成了,但是BatchNorm根本没有。我有一些疑问。 我应该将BatchNorm用于卷积层还是仅用于FC(密集)层? 并引用:https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/batch_norm_layer.html。在BatchNorm前进和后退时:
批处理规范层的输出具有参数。这些参数将被学习为最能代表您的激活。这些参数允许学习(缩放和移位)因子 现在总结一下操作:
https://i.stack.imgur.com/win2p.png 批处理规范层在线性层(即FC,conv)之后和非线性层(relu)之前使用。 实际上有2个批处理规范实现,一个用于FC层,另一个用于转换层(空间批处理规范)。好消息是,空间批处理规范在经过一些调整后才调用正常的批处理规范。
如前所述,我们需要知道如何在批处理规范层上反向传播,首先,就像我们与其他层一样,我们需要创建计算图。完成此步骤后,我们需要计算每个节点相对于其输入的导数。
https://i.stack.imgur.com/kqOtH.png
在这个模块中,我有一个问题,究竟dX和dOut(dA和dZ)到底是什么?
它阻止了我。 ;(