Lossy Compression With Machine Learning: Techniques And Fundamental Limits