backpropagation(delta, a) {
            this.dW = a.transposeView().mmul(delta);
            this.db = Utils.sumCol(delta);

            var aCopy = a.clone();
            return delta.mmul(this.W.transposeView()).mul(aCopy.apply(this.derivate));
        }
@private
apply backpropagation algorithm at the current layer
@param {Matrix} delta - delta values estimated at the following layer.
@param {Matrix} a - 'a' values from the following layer.
@return {Matrix} the new delta values for the next layer.