Learning robust but discriminative representations is a key ingredient to successfully apply deep learning models in real-world problems. Our goal is to let our models learn abstract representations that can carry good semantic and structural meanings. We are working to apply these representation learning methods to a variety of real-world tasks, including reinforcement learning, computer vision.