Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contrastive learner matching/updates are slightly non-deterministic #1140

Open
spigo900 opened this issue Jun 3, 2022 · 1 comment
Open
Labels
enhancement New feature or request out-of-scope

Comments

@spigo900
Copy link
Collaborator

spigo900 commented Jun 3, 2022

The contrastive learner's graph matching logic, thus its updates, are slightly non-deterministic in that they arbitrarily take the first available match. That means the exact updates to be applied in some edge cases could be nondeterministic. In practice I think this isn't a problem.

Here's an example of the issue.. Suppose pattern P_A has a feature alpha that could match to either of two things in graph A, say observed features x and y. If x is in the difference of graph A against graph B, and y is not, then whether we update the node weight for alpha depends entirely on whether the graph matching algorithm "decides" to match it to x or y which in turn probably depends on an arbitrary relative ordering of those nodes.

In practice this scenario isn't a problem for two reasons. First, we only have one object in each scene. Second, so far an object won't have multiple of the same feature type.

This could become more of a problem however if we were to try and generalize using "super-nodes" (#1136), e.g. "red OR green," "table OR chair" etc.

@spigo900 spigo900 added enhancement New feature or request out-of-scope labels Jun 3, 2022
@spigo900
Copy link
Collaborator Author

spigo900 commented Jun 3, 2022

Wrote this up because I noticed this TODO. That should get linked here eventually.

sidharth-sundar pushed a commit that referenced this issue Jun 14, 2022
sidharth-sundar pushed a commit that referenced this issue Jun 14, 2022
sidharth-sundar pushed a commit that referenced this issue Jun 15, 2022
sidharth-sundar pushed a commit that referenced this issue Jun 15, 2022
sidharth-sundar pushed a commit that referenced this issue Jun 15, 2022
sidharth-sundar pushed a commit that referenced this issue Jun 16, 2022
sidharth-sundar pushed a commit that referenced this issue Jun 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request out-of-scope
Projects
None yet
Development

No branches or pull requests

1 participant