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!

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