back propagation implementation begin