Adaptive Negative Curvature Descent with Applications in Non-convex Optimization