Skip to content

Clarification on loss in code vs paper (LO vs LC) #44

Description

@atesnrllh

Hi! Thanks for releasing UltraGCN.

I’m trying to match the paper objective with the implementation. In the paper, the user–item objective is written as (L = L_O + \lambda L_C), where (L_O) is the unweighted BCE (Eq.13) and (L_C) is the (\beta)-weighted constraint loss (Eq.12).

In the code, cal_loss_L appears to use a single BCE-with-logits where each (u,i)/(u,j) term is weighted by omega_weight (built from beta_uD and beta_iD, with w1,w2,w3,w4). I don’t see an explicit separate (L_O) term—so it seems the user–item objective may be implemented as a single weighted BCE.

Could you confirm the intended correspondence? Specifically: is (L_O) intentionally omitted (i.e., using only the weighted form), or is (L_O) implicitly represented (e.g., via the w1/w3 offsets) or elsewhere in the training code?

Thanks a lot for the clarification!

Activity

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