We will discuss a general methodology for developing reliable and interpretable coarse-grained models for multi-scale problems. This methodology involves two interactive components: Adaptive generation of data and extracting multi-scale models based on the data. Of particular interest are the treatment of physical constraints and
the reliability of the machine learning-based models. Applications to kinetic theory and coarse-grained molecular dynamics will be discussed.