Deep Neural Network (DNN) Training Algorithm