title: Backpropagation in convolution
body: <p>I am having some trouble understanding how the backpropagation is working in the convolution layers. Indeed, after calculating the error in hidden layers, we can represent it in an error image. But after that, how do I update the kernel? </p>
  
  <p>I give an example in the Figure below : we have an image error (l+1) (with the backpropagation calculated) connected to the parent's output (l) with the associated kernel K.</p>
  
  <p>At the position (x, y),the error will be : err = e1.k'1+e2.k'2+...+e9.k'9 (k' the coefficients of the kernel in (l+1)). So, if we have no moment, no activation function and no learning rate, then the correction of K will be : </p>
  
  <p>K1 = K1 + err * e1</p>
  
  <p>K2 = K2 + err * e2</p>
  
  <p>...</p>
  
  <p>Is this first explanation correct ?
  After that, how propage error ? Do we propagate error only at the (x, y) position or at (x+kx, y+ky) position with (kx, ky) the filter K position? </p>
  
  <p><a href="http://i.stack.imgur.com/vBJyZ.png" rel="nofollow">http://i.stack.imgur.com/vBJyZ.png</a></p>