added more adagrad refinements, abs(gradient) required  when passed so as to be similar to normal learning rate adaptation, this is vastly superior to changing the sign as before