For each node X, over all time steps on a particular training example i, we will accumulate some function of the values node X outputs into a value . We will call the correct answer (the correct target value) for training instance i, .
Now we have two continuous variables in i: and . We can compute the correlation between them. We will call this the credit score for node X, notated as .
With , we already have a simple Credit-Blame map: a value associated with each node in the program that helps indicate its contribution to the program. A neural program such that every node X has a value of zero for is, by definition, a useless program. The reader should, however, be concerned with a situation in which nodes X and Y produce values and node Z computes an XOR of these two values. In this case, even if Z has a high credit score, X and Y will not. And yet it is clear that nodes X and Y are largely responsible for node Z's success. We can continue to refine the Credit-Blame map to attend to this type of indebtedness relationships.