Channel-Directed Gradients for Optimization of Convolutional Neural Networks