Skip to content

RotatE: this implementation vs GraphVite #14

Open

Description

@AndRossi

Hi, thanks for developing RotatE!
I was wondering, why are your results a bit different from the ones obtained by your other project https://graphvite.io/?

Activity

  1. Edward-Sun commented on Oct 24, 2019

    @Edward-Sun
    Collaborator

    Hi,
    Thank you for your interest in both projects. The essential differences between this implementation and GraphVite implementation are listed as following:

    1. GraphVite uses ASGD rather than mini-batch SGD,the gradient information in GraphVite is relatively noisier.
    2. Considering the numeric stability in ASGD, GraphVite reduces the number of negative samples from 256 to 64.
    3. For a fair comparison with other large-scale KGE systems, the reported benchmark performance of GraphVite is undertrained. GraphVite can achieve better performance when using a single GPU and train for a longer time.
  2. KiddoZhu commented on Oct 25, 2019

    @KiddoZhu
    Member

    @AndRossi All the technical reasons have been pointed out in the author's comment above.

    GraphVite is targeted at speed and scalability so there is slight difference in performance. Actually such gap could be easily covered by some hyperparameter hacking (e.g. double the dimension of embedding or training length), but we keep the original setting to make it a clean system work.

    If you want to use KGE as an off-the-shelf tool, it is recommended to use GraphVite. If you want to develop new SOTA methods for KGE, it is recommended to use this repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions