'Apply the backward pass transformation to the input data.
Arguments:
error (Tensor): deltas back propagated from the adjacent higher layer
alpha (float, optional): scale to apply to input for activation
gradient bprop.  Defaults to 1.0
beta (float, optional): scale to apply to output activation
gradient bprop.  Defaults to 0.0
Returns:
Tensor: deltas to propagate to the adjacent lower layer'

@Layer.accumulates
def bprop(self, error, alpha=1.0, beta=0.0):

    if self.deltas:
        self.be.compound_dot(A=self.W.T, B=error, C=self.deltas, alpha=alpha, beta=beta)
    self.be.compound_dot(A=error, B=self.inputs.T, C=self.dW)
    return self.deltas
