Product Manifold Learning