_convolution_double_backward() parameters

(Tomguluson92) #1

Hi @albanD, thanks for your explanation about the definition of _convolution_double_backward(). When reading this code, I was confused about the parameter like ggI, ggW_r, ggb and gO_r and output_mask and the target of calculating ggW, gI and gW.

Under my superficial understanding of all these, ggW_r means the gradient of convolution kernel? xx_r means a requirement, ggb is the gradient of bias.

Really hope your advice on how to realize these parameters and the calculation of ggW, gI and gW.

Thank you very much!

(Alban D) #2

Hi,

I’m not sure about the *_r variables. Most likely some some cpp reasons.
The gg* variables contain the gradient of the gradient of something.
Since the forward is I, W, b -> O
the backward is gO, I, W -> gI, gW, gb
and the double backward ggI, ggW, ggb -> ggO, gI, gW

1 Like
(Tomguluson92) #3

very appreciate to your answer, thank you !