HazyResearch / hgcn

Hyperbolic Graph Convolutional Networks in PyTorch.
602 stars 109 forks source link

what does the projection do? #7

Closed ShinKyuY closed 4 years ago

ShinKyuY commented 4 years ago

Hi. I appreciate this wonderful repository.

What role does the projection in hyperboloid.py? I understand that exp and log act as projections, but I wonder why projections are used separately. Interestingly, even if I don't use projection in hyperboloid.py of exp and log maps, I get the same performance as using projection.

Could you please tell me what the role of projection is?

ines-chami commented 4 years ago

Due to limited machine precision, the exp and log map might sometimes return points that are not exactly located on the manifold. Using proj and proj_tan ensures that points remain on the manifold and tangent vectors remain on the right tangent space.

ShinKyuY commented 4 years ago

Thank you for your reply. It really helps me