Skip to content

Discrepancy between Manuscript Formula (2) and code for MGAE #25

@sunyinhe114

Description

@sunyinhe114

Hi team,

I am studying the implementation of scniche and noticed a significant inconsistency between the mathematical description in the manuscript and the source code in scnishe/trainer/_train.py, line 72.

In the manuscript "https://doi.org/10.1038/s41467-025-57029-9", Formula (2) suggests that the joint representation Z(2) is calculated by applying a graph convolution during the fusion step:
$$Z_{(2)} = \delta \left( \sum_{v=1}^{V} W_a^{(v)} \left( (\tilde{D}^{(v)})^{-\frac{1}{2}} \tilde{A}^{(v)} (\tilde{D}^{(v)})^{-\frac{1}{2}} Z_{(1)}^{(v)} W_{(2)}^{(v)} \right) \right)$$

However, in the FeatureFusion class, the implementation is a weighted sum followed by a Softmax and Activation:
"def forward(self, *features):
z = sum(F.dropout(f, self.dropout) @ w for f, w in zip(features, self.weights))
z = F.softmax(z, dim=1)
z = self.activation(z)
return z", the formula for this should be : $$Z_{\text{(2)}} = \delta \left( \text{Softmax} \left( \sum_{v=1}^{V} \text{Dropout}(Z_{(1)}^{(v)}) W_a^{(v)} \right) \right)$$

Question: Is the implementation in the code the intended "optimized" version of the model, and should the manuscript formulas be interpreted as simplified theoretical representations? Thank you for taking your time!

Best regards, Yinhe

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions