I was watching a very interesting video with Yoshua Bengio where he is brainstorming with his students. In this video they seem to make a distinction between “credit assignment” vs gradient descent vs backpropagation. From the conversation it seems that the credit assignment problem is associated with “backprop” rather than gradient descent. I was trying to understand why that happened. Perhaps what would be helpful was if there was a very clear definition of “credit assignment” (specially in the context of Deep Learning and Neural Networks).
What is "the credit assignment problem:?
and how is it related to training/learning and optimization in Machine Learning (specially in Deep Learning).
From the discussion I would have defined as:
The function that computes the value(s) used to update the weights. How this value is used is the training algorithm but the credit assignment is the function that processes the weights (and perhaps something else) to that will later be used to update the weights.
That is how I currently understand it but to my surprise I couldn’t really find a clear definition on the internet. This more precise definition might be possible to be extracted from the various sources I found online:

https://www.youtube.com/watch?v=g9VMHxSCcsWhat is the “credit assignment” problem in Machine Learning and Deep Learning?

How AutoEncoders Could Provide Credit
Assignment in Deep Networks via Target Propagation https://arxiv.org/pdf/1407.7906.pdf 
Yoshua Bengio – Credit assignment: beyond backpropagation (https://www.youtube.com/watch?v=z1GkvjCP7XA)

Learning to solve the credit assignment problem (https://arxiv.org/pdf/1906.00889.pdf)
Crossposted: