Neural Canonical Transformation with Symplectic Flows