Non-Smooth Non-Convex Optimization