source_to_target / target_to_source message passing #9565
Unanswered
bryceForrest
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi there! I must be confused.
I am trying to emulate this model, and ran into some trouble with the user->item and item->user message passing layers. When I used target to source for my item->user message passing layer, none of the parameters were training. Always 0 gradient. However, when I created reverse edges using "ToUndirected", it solved the problem. My intuition tells me these two approaches should be the same, but that's not been my experience.
Minimal example (I'm not calculating the behavior weight or alpha from the paper here because I was trying to make things as barebones as possible for debugging):
The graph is HeteroData with user nodes and item nodes, different edge types representing different behaviors, all edge types going from user to item.
The gradient for ItemToUser's linear layer was always 0, but not UserToItem's. When I added the undirected edges, and put the regular edges through one instance of UserToItem (really sending messages from users to items), and the rev edges through another instance of UserToItem (really sending messages from items to users), the linear layers for both were training.
What am I missing?!
Beta Was this translation helpful? Give feedback.
All reactions