Bases: MessagePassing
The simple spectral graph convolutional operator from the “Simple Spectral Graph Convolution” paper.
where \(\mathbf{\hat{A}} = \mathbf{A} + \mathbf{I}\) denotes the
adjacency matrix with inserted self-loops and
\(\hat{D}_{ii} = \sum_{j=0} \hat{A}_{ij}\) its diagonal degree matrix.
The adjacency matrix can include other values than 1 representing
edge weights via the optional edge_weight tensor.
SSGConv is an improved operator of
SGConv by introducing the alpha
parameter to address the oversmoothing issue.
in_channels (int) – Size of each input sample, or -1 to derive
the size from the first input(s) to the forward method.
out_channels (int) – Size of each output sample.
alpha (float) – Teleport probability \(\alpha \in [0, 1]\).
K (int, optional) – Number of hops \(K\). (default: 1)
cached (bool, optional) – If set to True, the layer will cache
the computation of \(\frac{1}{K} \sum_{k=1}^K\left((1-\alpha)
{\left(\mathbf{\hat{D}}^{-1/2} \mathbf{\hat{A}}
\mathbf{\hat{D}}^{-1/2} \right)}^k \mathbf{X}+
\alpha \mathbf{X}\right)\) on first execution, and will use the
cached version for further executions.
This parameter should only be set to True in transductive
learning scenarios. (default: False)
add_self_loops (bool, optional) – If set to False, will not add
self-loops to the input graph. (default: True)
bias (bool, optional) – If set to False, the layer will not learn
an additive bias. (default: True)
**kwargs (optional) – Additional arguments of
torch_geometric.nn.conv.MessagePassing.
input: node features \((|\mathcal{V}|, F_{in})\), edge indices \((2, |\mathcal{E}|)\), edge weights \((|\mathcal{E}|)\) (optional)
output: node features \((|\mathcal{V}|, F_{out})\)