I have a question about learning filters in Convolution Neural Networks, CNNs.

Apparently, using fixed filters, like Gabor, is not common anymore and filters in CNN can be learned in each depth. it has been mentioned in some papers that Backpropagation is used for this purpose (as in the attached image).

I have two questions:

1- Is Backpropagation the only algorithm used for this learning task?

2- for learning using Backpropagation, should we consider all next layers (including pooling and FC layer)? Actually Forward and Backward phases and calculating classification error in backpropagation for learning filters is not clear for me. it would be very kind if someone describe it to me or introduce me some material to read.

Thanks

Similar questions and discussions