Decentralized Non-convex Optimization and Learning over Heterogeneous Networks