**Algorithm 1** Full Training Algorithm

### **Inputs:** Graph data: *G* = {*<sup>V</sup>*, *A*, *X*, *L*, *B*}

	- 1: Initialize the node generator, edge generator, and node classifier
	- 2: Compute the node LSP and USP scores based on Equation (5)

 Pre-train the node generator

	- 6: Update *Gl* by descending along its gradient based on L*node*
	- 7: Update *Du* by ascending along its gradient based on L*node*
	- 8: Update *Gu* by descending along its gradient based on L*node*

10: - **while** Not Converged **do** Pre-train the edge generator
