Variational graph auto-encoders (VGAE)

本文介绍了变分图自编码器(VGAE),它是基于图结构数据的无监督学习框架,结合了GAE的编码器(GCN)和VAE的正则化思想。VGAE假设节点特征服从正态分布,并通过GCN估计后验分布,利用KL散度优化嵌入空间。理解了VGAE的损失函数后,我们发现其在稀疏图上的应用策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Variational graph auto-encoders (VGAE)

Graph Auto-Encoders (GAE)

Definitions

  • 给定一个无向无权图 G = ( V , E ) \mathcal G=(\mathcal V,\mathcal E) G=(V,E) N = ∣ V ∣ N=|\mathcal V| N=V 为顶点数, A ∈ R N × N \boldsymbol A\in\R^{N\times N} ARN×N 为邻接矩阵 (对角线元素为 1), X ∈ R N × D \boldsymbol X\in\R^{N\times D} XRN×D 为结点的特征向量

Graph Auto-Encoders

在这里插入图片描述

  • GAE 中的 EncoderGCN,它负责由邻接矩阵和结点特征编码得到每个结点的 embedding 向量 z i z_i zi ( i = 1 , . . . , N i=1,...,N i=1,...,N),它们构成了结点 embedding 矩阵 Z ∈ R N × F \boldsymbol Z\in\R^{N\times F} ZRN×F
  • GAE 中的 Decoder 为一个简单的 inner product decoder,它负责由结点的 embedding 向量 Z \boldsymbol Z Z 来重构归一化的邻接矩阵 A ^ \hat \boldsymbol A A^。它通过计算 σ ( z i T z j ) \sigma(z_i^Tz_j) σ(ziTzj) 来决定 A ^ i j \hat \boldsymbol A_{ij} A^ij
    在这里插入图片描述

A framework for unsupervised learning on graph-structured data

  • GAE 引入自编码器来处理图数据,可以基于图数据进行无监督学习

Variational graph auto-encoders (VGAE)

  • VGAE 在 GAE 的基础上进一步引入了 变分自编码器 (VAE) 的思想,对 latent space 施加正则化来保证一个 regular latent space
    在这里插入图片描述

VGAE

  • VGAE 假设先验概率服从标准正态分布
    p ( Z ) = ∏ i = 1 N p ( z i ) = ∏ i = 1 N N ( z i ∣ 0 , I ) p(\boldsymbol Z)=\prod_{i=1}^N p(z_i)=\prod_{i=1}^N \mathcal N(z_i|0,\boldsymbol I) p(Z)=i=1Np(zi)=i=1NN(zi0,I)但论文中也提到,“A Gaussian prior is potentially a poor choice in combination with an inner product decoder, as the latter tries to push embeddings away from the zero-center (see Figure 1).”
  • 似然点积模型得到
    在这里插入图片描述
  • 后验概率变分推理近似得到,概率分布族为协方差矩阵为对角矩阵的正态分布
    在这里插入图片描述其中, μ = GCN μ ( X , A ) \mu=\text{GCN}_\mu(\boldsymbol X,\boldsymbol A) μ=GCNμ(X,A) 为 GCN 输出的后验概率分布均值向量, log ⁡ σ = GCN σ ( X , A ) \log\sigma=\text{GCN}_\sigma(\boldsymbol X,\boldsymbol A) logσ=GCNσ(X,A) 为 GCN 输出的后验概率分布标准差的对数。 GCN \text{GCN} GCN 为一个简单的 2 层 GCN,可以被表示为 GCN ( X , A ) = A ~ RELU ( A ~ X W 0 ) W 1 \text{GCN}(\boldsymbol X,\boldsymbol A)=\tilde \boldsymbol A\text{RELU}(\tilde \boldsymbol A\boldsymbol X\boldsymbol W_0)\boldsymbol W_1 GCN(X,A)=A~RELU(A~XW0)W1,其中 W i \boldsymbol W_i Wi 为 MLP 权重矩阵, A ~ = D − 1 2 A D − 1 2 \tilde \boldsymbol A=\boldsymbol D^{-\frac{1}{2}}\boldsymbol A\boldsymbol D^{-\frac{1}{2}} A~=D21AD21 为归一化的邻接矩阵, D \boldsymbol D D 为度矩阵 (一个对角矩阵,对角元素为各个顶点的度数),左乘 D − 1 2 \boldsymbol D^{-\frac{1}{2}} D21 会使得 A \boldsymbol A A 的第 i i i 行除以结点 i i i 度数的根号,右乘 D − 1 2 \boldsymbol D^{-\frac{1}{2}} D21 会使得 A \boldsymbol A A 的第 i i i 列除以结点 i i i 度数的根号,因此 A ~ i j = A i j / ( D i i D j j ) \tilde\boldsymbol A_{ij}=\boldsymbol A_{ij}/(\sqrt{\boldsymbol D_{ii}\boldsymbol D_{jj}}) A~ij=Aij/(DiiDjj ),相当于是给邻接矩阵根据度数做了一个归一化。 A ~ X = [ a ~ 1 T X . . . a ~ N T X ] \tilde \boldsymbol A\boldsymbol X=\begin{bmatrix} \tilde a_1^T\boldsymbol X\\...\\\tilde a_N^T\boldsymbol X\end{bmatrix} A~X=a~1TX...a~NTX 是在进行结点的信息聚合。 GCN μ ( X , A ) \text{GCN}_\mu(\boldsymbol X,\boldsymbol A) GCNμ(X,A) GCN σ ( X , A ) \text{GCN}_\sigma(\boldsymbol X,\boldsymbol A) GCNσ(X,A) 共享第一层的权重 W 0 \boldsymbol W_0 W0
  • 由变分推理得到的优化问题为最大化下式:
    在这里插入图片描述

VGAE 的损失函数

  • L \mathcal L L 中,期望似然可以通过蒙特卡洛法采样来近似得到
    ∑ i = 1 N ∑ j = 1 N [ δ A i , j = 1 log ⁡ σ ( z i T z j ) + δ A i , j = 0 log ⁡ [ 1 − σ ( z i T z j ) ] ] \sum_{i=1}^N\sum_{j=1}^N\left[\delta_{\boldsymbol A_{i,j}=1}\log\sigma(z_i^Tz_j)+\delta_{\boldsymbol A_{i,j}=0}\log\left[1-\sigma(z_i^Tz_j)\right]\right] i=1Nj=1N[δAi,j=1logσ(ziTzj)+δAi,j=0log[1σ(ziTzj)]]
  • 正则项
    KL [ q ( Z ∣ X , A ) ∣ ∣ p ( Z ) ] = E q ( Z ∣ X , A ) [ log ⁡ q ( Z ∣ X , A ) − log ⁡ p ( Z ) ] = ∑ i = 1 N E q ( Z ∣ X , A ) [ log ⁡ q ( z i ∣ X , A ) − log ⁡ p ( z i ) ] = ∑ i = 1 N E q ( z i ∣ X , A ) [ log ⁡ q ( z i ∣ X , A ) − log ⁡ p ( z i ) ] = ∑ i = 1 N KL [ q ( z i ∣ X , A ) ∣ ∣ p ( z i ) ] = ∑ i = 1 N KL [ N ( z i ∣ μ i , diag ( σ i 2 ) ) ∣ ∣ N ( z i ∣ 0 , I ) ] \begin{aligned} \text{KL}[q(\boldsymbol Z|\boldsymbol X,\boldsymbol A)||p(\boldsymbol Z)] &=\mathbb E_{q(\boldsymbol Z|\boldsymbol X,\boldsymbol A)}[\log q(\boldsymbol Z|\boldsymbol X,\boldsymbol A)-\log p(\boldsymbol Z)] \\&=\sum_{i=1}^N\mathbb E_{q(\boldsymbol Z|\boldsymbol X,\boldsymbol A)}\left[\log q(z_i|\boldsymbol X,\boldsymbol A)-\log p(z_i)\right] \\&=\sum_{i=1}^N\mathbb E_{q(z_i|\boldsymbol X,\boldsymbol A)}\left[\log q(z_i|\boldsymbol X,\boldsymbol A)-\log p(z_i)\right] \\&=\sum_{i=1}^N \text{KL}[q(z_i|\boldsymbol X,\boldsymbol A)||p(z_i)] \\&=\sum_{i=1}^N \text{KL}[\mathcal N(z_i|\mu_i,\text{diag}(\sigma_i^2))||\mathcal N(z_i|0,\boldsymbol I)] \end{aligned} KL[q(ZX,A)p(Z)]=Eq(ZX,A)[logq(ZX,A)logp(Z)]=i=1NEq(ZX,A)[logq(ziX,A)logp(zi)]=i=1NEq(ziX,A)[logq(ziX,A)logp(zi)]=i=1NKL[q(ziX,A)p(zi)]=i=1NKL[N(ziμi,diag(σi2))N(zi0,I)]
  • 两个多维高斯分布之间的 KL 散度:设
    p ( x ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 exp ⁡ ( − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) q ( x ) = 1 ( 2 π ) n 2 ∣ L ∣ 1 2 exp ⁡ ( − 1 2 ( x − m ) ⊤ L − 1 ( x − m ) ) p(x)=\frac{1}{(2 \pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}(x-\mu)^{\top} \Sigma^{-1}(x-\mu)\right)\\ q(x)=\frac{1}{(2 \pi)^{\frac{n}{2}}|L|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}(x-m)^{\top} L^{-1}(x-m)\right) p(x)=(2π)2nΣ211exp(21(xμ)Σ1(xμ))q(x)=(2π)2nL211exp(21(xm)L1(xm))下面推导它们之间的 KL 散度:
    K L ( p ∥ q ) = E p [ log ⁡ p ( x ) q ( x ) ] K L(p \| q)=\mathbb E_{p}\left[\log \frac{p(x)}{q(x)}\right] KL(pq)=Ep[logq(x)p(x)] p ( x ) q ( x ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 exp ⁡ ( − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) 1 ( 2 π ) n 2 ∣ L ∣ 1 2 exp ⁡ ( − 1 2 ( x − m ) ⊤ L − 1 ( x − m ) ) = ( ∣ L ∣ ∣ Σ ∣ ) 1 2 exp ⁡ ( 1 2 ( x − m ) ⊤ L − 1 ( x − m ) − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) \begin{aligned} \frac{p(x)}{q(x)} &=\frac{\frac{1}{(2 \pi)^{\frac{n}{2}}|\Sigma|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}(x-\mu)^{\top} \Sigma^{-1}(x-\mu)\right)}{\frac{1}{(2 \pi)^{\frac{n}{2}}|L|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}(x-m)^{\top} L^{-1}(x-m)\right)} \\ &=\left(\frac{|L|}{|\Sigma|}\right)^{\frac{1}{2}} \exp \left(\frac{1}{2}(x-m)^{\top} L^{-1}(x-m)-\frac{1}{2}(x-\mu)^{\top} \Sigma^{-1}(x-\mu)\right) \end{aligned} q(x)p(x)=(2π)2nL211exp(21(xm)L1(xm))(2π)2nΣ211exp(21(xμ)Σ1(xμ))=(ΣL)21exp(21(xm)L1(xm)21(xμ)Σ1(xμ)) log ⁡ p ( x ) q ( x ) = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 ( x − m ) ⊤ L − 1 ( x − m ) − 1 2 ( x − μ ) ⊤ Σ − 1 ( x − μ ) \begin{aligned} \log \frac{p(x)}{q(x)}=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}(x-m)^{\top} L^{-1}(x-m)-\frac{1}{2}(x-\mu)^{\top} \Sigma^{-1}(x-\mu) \end{aligned} logq(x)p(x)=21logΣL+21(xm)L1(xm)21(xμ)Σ1(xμ) E p [ log ⁡ p ( x ) q ( x ) ] = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 E p [ ( x − m ) ⊤ L − 1 ( x − m ) − ( x − μ ) ⊤ Σ − 1 ( x − μ ) ] = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 E p [ t r ( ( x − m ) ⊤ L − 1 ( x − m ) ) ] − 1 2 E p [ t r ( ( x − μ ) ⊤ Σ − 1 ( x − μ ) ) ] = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 E p [ t r ( L − 1 ( x − m ) ( x − m ) ⊤ ) ] − 1 2 E p [ t r ( Σ − 1 ( x − μ ) ( x − μ ) ⊤ ) ]      ( t r ( A B ) = t r ( B A ) ) = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 t r [ E p ( L − 1 ( x − m ) ( x − m ) ⊤ ) ] − 1 2 t r [ E p ( Σ − 1 ( x − μ ) ( x − μ ) ⊤ ) ]      ( t r [ E x ( f ( x ) ) ] = E x [ t r ( f ( x ) ) ] ) = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 t r [ L − 1 E p ( x x ⊤ − m x ⊤ − x m ⊤ + m m ⊤ ) ] − 1 2 t r [ Σ − 1 E p ( ( x − μ ) ( x − μ ) ⊤ ) ] = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 t r [ L − 1 E p ( x x ⊤ − m x ⊤ − x m ⊤ + m m ⊤ ) ] − 1 2 t r [ Σ − 1 Σ ] = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 t r [ L − 1 E p ( Σ + μ μ ⊤ − m x ⊤ − x m ⊤ + m m ⊤ ) ] − n 2      ( E p ( x x ⊤ ) = Σ + μ μ ⊤ ;   证 明 : Σ = E p [ ( x − μ ) ( x − μ ) ⊤ ] ) = 1 2 log ⁡ ∣ L ∣ ∣ Σ ∣ + 1 2 t r [ L − 1 ( Σ + μ μ ⊤ − m μ ⊤ − μ m ⊤ + m m ⊤ ) ] − n 2 = 1 2 { log ⁡ ∣ L ∣ ∣ Σ ∣ − n + t r ( L − 1 Σ ) + t r [ L − 1 ( μ μ ⊤ − m μ ⊤ − μ m ⊤ + m m ⊤ ) ] } = 1 2 { log ⁡ ∣ L ∣ ∣ Σ ∣ − n + t r ( L − 1 Σ ) + t r [ μ ⊤ L − 1 μ − m ⊤ L − 1 μ − μ ⊤ L − 1 m + m ⊤ L − 1 m ] } = 1 2 { log ⁡ ∣ L ∣ ∣ Σ ∣ − n + t r ( L − 1 Σ ) + ( μ ⊤ L − 1 μ − m ⊤ L − 1 μ − μ ⊤ L − 1 m + m ⊤ L − 1 m ) } = 1 2 { log ⁡ ∣ L ∣ ∣ Σ ∣ − n + t r ( L − 1 Σ ) + ( μ − m ) ⊤ L − 1 ( μ − m ) } \begin{aligned} \mathbb E_{p}\left[\log \frac{p(x)}{q(x)}\right]&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}\mathbb E_{p}\left[(x-m)^{\top} L^{-1}(x-m)-(x-\mu)^{\top} \Sigma^{-1}(x-\mu)\right] \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}\mathbb E_{p}\left[tr((x-m)^{\top} L^{-1}(x-m))\right]-\frac{1}{2}\mathbb E_{p}\left[tr((x-\mu)^{\top} \Sigma^{-1}(x-\mu))\right] \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}\mathbb E_{p}\left[tr(L^{-1}(x-m) (x-m)^{\top})\right]-\frac{1}{2}\mathbb E_{p}\left[tr(\Sigma^{-1}(x-\mu) (x-\mu)^{\top})\right] \\&\ \ \ \ (tr(AB)=tr(BA)) \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}tr\left[\mathbb E_{p}(L^{-1}(x-m) (x-m)^{\top})\right]-\frac{1}{2}tr\left[\mathbb E_{p}(\Sigma^{-1}(x-\mu) (x-\mu)^{\top})\right] \\&\ \ \ \ (tr[\mathbb E_{x}(f(x))]=\mathbb E_{x}[tr(f(x))]) \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}tr\left[L^{-1}\mathbb E_{p}(xx^{\top}-mx^{\top}-xm^{\top}+mm^{\top})\right]-\frac{1}{2}tr\left[\Sigma^{-1}\mathbb E_{p}((x-\mu) (x-\mu)^{\top})\right] \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}tr\left[L^{-1}\mathbb E_{p}(xx^{\top}-mx^{\top}-xm^{\top}+mm^{\top})\right]-\frac{1}{2}tr\left[\Sigma^{-1}\Sigma\right] \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}tr\left[L^{-1}\mathbb E_{p}(\Sigma+\mu\mu^\top-mx^{\top}-xm^{\top}+mm^{\top})\right]-\frac{n}{2} \\&\ \ \ \ (\mathbb E_{p}(xx^{\top})=\Sigma+\mu\mu^\top;\ 证明:\Sigma=\mathbb E_{p}[(x-\mu)(x-\mu)^\top]) \\&=\frac{1}{2} \log \frac{|L|}{|\Sigma|}+\frac{1}{2}tr\left[L^{-1}(\Sigma+\mu\mu^\top-m\mu^{\top}-\mu m^{\top}+mm^{\top})\right]-\frac{n}{2} \\&=\frac{1}{2}\left\{ \log \frac{|L|}{|\Sigma|}-n+tr(L^{-1}\Sigma)+tr\left[L^{-1}(\mu\mu^\top-m\mu^{\top}-\mu m^{\top}+mm^{\top})\right]\right\} \\&=\frac{1}{2}\left\{ \log \frac{|L|}{|\Sigma|}-n+tr(L^{-1}\Sigma)+tr\left[\mu^\top L^{-1}\mu-m^{\top} L^{-1}\mu-\mu^{\top}L^{-1} m+m^{\top}L^{-1} m\right]\right\} \\&=\frac{1}{2}\left\{ \log \frac{|L|}{|\Sigma|}-n+tr(L^{-1}\Sigma)+(\mu^\top L^{-1}\mu-m^{\top} L^{-1}\mu-\mu^{\top}L^{-1} m+m^{\top}L^{-1} m)\right\} \\&=\frac{1}{2}\left\{ \log \frac{|L|}{|\Sigma|}-n+tr(L^{-1}\Sigma)+(\mu-m)^\top L^{-1}(\mu-m)\right\} \end{aligned} Ep[logq(x)p(x)]=21logΣL+21Ep[(xm)L1(xm)(xμ)Σ1(xμ)]=21logΣL+21Ep[tr((xm)L1(xm))]21Ep[tr((xμ)Σ1(xμ))]=21logΣL+21Ep[tr(L1(xm)(xm))]21Ep[tr(Σ1(xμ)(xμ))]    (tr(AB)=tr(BA))=21logΣL+21tr[Ep(L1(xm)(xm))]21tr[Ep(Σ1(xμ)(xμ))]    (tr[Ex(f(x))]=Ex[tr(f(x))])=21logΣL+21tr[L1Ep(xxmxxm+mm)]21tr[Σ1Ep((xμ)(xμ))]=21logΣL+21tr[L1Ep(xxmxxm+mm)]21tr[Σ1Σ]=21logΣL+21tr[L1Ep(Σ+μμmxxm+mm)]2n    (Ep(xx)=Σ+μμ; :Σ=Ep[(xμ)(xμ)])=21logΣL+21tr[L1(Σ+μμmμμm+mm)]2n=21{logΣLn+tr(L1Σ)+tr[L1(μμmμμm+mm)]}=21{logΣLn+tr(L1Σ)+tr[μL1μmL1μμL1m+mL1m]}=21{logΣLn+tr(L1Σ)+(μL1μmL1μμL1m+mL1m)}=21{logΣLn+tr(L1Σ)+(μm)L1(μm)}
  • 将上述结论代入正则项可得
    KL [ q ( Z ∣ X , A ) ∣ ∣ p ( Z ) ] = ∑ i = 1 N KL [ N ( z i ∣ μ i , diag ( σ i 2 ) ) ∣ ∣ N ( z i ∣ 0 , I ) ] = ∑ i = 1 N 1 2 ( − ∑ j = 1 F log ⁡ σ i 2 − F + ∑ j = 1 F σ i j 2 + μ i ⊤ μ i )      ( n = F ,    μ = μ i ,    Σ = diag ( σ i 2 ) ,    m = 0 ,    L = I ) \begin{aligned} \text{KL}[q(\boldsymbol Z|\boldsymbol X,\boldsymbol A)||p(\boldsymbol Z)] &=\sum_{i=1}^N \text{KL}[\mathcal N(z_i|\mu_i,\text{diag}(\sigma_i^2))||\mathcal N(z_i|0,\boldsymbol I)] \\&=\sum_{i=1}^N \frac{1}{2}\left(-\sum_{j=1}^F\log\sigma_i^2 -F+\sum_{j=1}^F\sigma_{ij}^2+\mu_i^\top\mu_i\right) \\&\ \ \ \ (n=F,\ \ \mu=\mu_i,\ \ \Sigma=\text{diag}(\sigma_i^2),\ \ m=0,\ \ L=\boldsymbol I) \end{aligned} KL[q(ZX,A)p(Z)]=i=1NKL[N(ziμi,diag(σi2))N(zi0,I)]=i=1N21(j=1Flogσi2F+j=1Fσij2+μiμi)    (n=F,  μ=μi,  Σ=diag(σi2),  m=0,  L=I)
  • 综上所述,VGAE 的损失函数
    L = − ∑ i = 1 N ∑ j = 1 N [ δ A i , j = 1 log ⁡ σ ( z i T z j ) + δ A i , j = 0 log ⁡ [ 1 − σ ( z i T z j ) ] ] + ∑ i = 1 N 1 2 ( − ∑ j = 1 F log ⁡ σ i 2 − F + ∑ j = 1 F σ i j 2 + μ i ⊤ μ i ) L=-\sum_{i=1}^N\sum_{j=1}^N\left[\delta_{\boldsymbol A_{i,j}=1}\log\sigma(z_i^Tz_j)+\delta_{\boldsymbol A_{i,j}=0}\log\left[1-\sigma(z_i^Tz_j)\right]\right]+\sum_{i=1}^N \frac{1}{2}\left(-\sum_{j=1}^F\log\sigma_i^2 -F+\sum_{j=1}^F\sigma_{ij}^2+\mu_i^\top\mu_i\right) L=i=1Nj=1N[δAi,j=1logσ(ziTzj)+δAi,j=0log[1σ(ziTzj)]]+i=1N21(j=1Flogσi2F+j=1Fσij2+μiμi) (当 A \boldsymbol A A 非常稀疏的时候,VGAE 对 A i , j = 1 \boldsymbol A_{i,j}=1 Ai,j=1 的项进行了重加权)

References

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值