训练卷积神经网络

机器算法验证 机器学习 神经网络 计算机视觉 反向传播 卷积神经网络
2022-03-06 20:20:59

我目前正在开发一个使用卷积神经网络来识别人脸的人脸识别软件。根据我的阅读,我收集到卷积神经网络具有共享权重,以便在训练期间节省时间。但是,如何调整反向传播使其可以用于卷积神经网络。在反向传播中,使用与此类似的公式来训练权重。

New Weight  = Old Weight +  LEARNING_RATE * 1 * Output Of InputNeuron * Delta

但是,由于在卷积神经网络中,权重是共享的,每个权重都与多个神经元一起使用,那么我如何决定Output of InputNeuron使用哪个呢?

换句话说,由于权重是共享的,我如何决定将权重更改多少?

1个回答

您需要首先计算所有更新,就好像没有共享 wieghts,而只是存储它们,实际上还没有进行任何更新。

wk是一些出现在位置上的重量Ik={(i,j):wi,j=wk}在您的网络和Δwi,j=ηJwi,j在哪里η是学习率和J是你的目标函数。请注意,此时如果您没有权重共享,您只需更新wi,j作为

wi,j=wi,j+Δwi,j.
要处理共享权重,您需要总结所有单独的更新。所以设置
Δwk=(i,j)IkΔwi,j
然后更新
wk=wk+Δwk.