  In this paper, we propose a generic and simple strategy for utilizing
stochastic gradient information in optimization. The technique essentially
contains two consecutive steps in each iteration: 1) computing and normalizing
each block (layer) of the mini-batch stochastic gradient; 2) selecting
appropriate step size to update the decision variable (parameter) towards the
negative of the block-normalized gradient. We conduct extensive empirical
studies on various non-convex neural network optimization problems, including
multi-layer perceptron, convolution neural networks and recurrent neural
networks. The results indicate the block-normalized gradient can help
accelerate the training of neural networks. In particular, we observe that the
normalized gradient methods having constant step size with occasionally decay,
such as SGD with momentum, have better performance in the deep convolution
neural networks, while those with adaptive step sizes, such as Adam, perform
better in recurrent neural networks. Besides, we also observe this line of
methods can lead to solutions with better generalization properties, which is
confirmed by the performance improvement over strong baselines.
