Representation learning with CGAN for casual inference