finally online gradient descent works with backpropagation gradient calculation