'Arguments:
hidden_error_list: Decoder container bprop output. List of errors
associated with decoder recurrent layers.'

def bprop(self, hidden_error_list, inference=False, alpha=1.0, beta=0.0):

    i_enc = (len(self._recurrent) - 1)
    error = self.error_buf
    error.fill(0)
    for l in reversed(self._layers):
        altered_tensor = l.be.distribute_data(error, l.parallelism)
        if altered_tensor:
            l.revert_list.append(altered_tensor)
        if isinstance(l, Recurrent):
            for i_dec in self.connections[i_enc]:
                self.error_slices[(-1)][:] = (self.error_slices[(-1)] + hidden_error_list[i_dec])
            i_enc -= 1
        if ((type(l.prev_layer) is BranchNode) or (l is self._layers[0])):
            error = l.bprop(error, alpha, beta)
        else:
            error = l.bprop(error)
        for tensor in l.revert_list:
            self.be.revert_tensor(tensor)
