CNN back propagation

Hi I am new to D.L . I know how back propagation works but in CNN how does back propagation works and how does the kernel values get initialized when we set only the filter size

# Here we are only giving the kernel_size =5
torch.nn.Conv2d(3, 16, 5, stride=1, padding=0)

Have a look at this paper - chapter 4.1 to see that transposed convolutions are used for backpropagation.
You can find the init method for conv modules here.