欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > ChebNetII

ChebNetII

2024/11/30 9:50:32 来源:https://blog.csdn.net/chairuilin/article/details/140450491  浏览:    关键词:ChebNetII

ChebNet1以及GCN的区别

谱相关详见:https://blog.csdn.net/chairuilin/article/details/140108216?spm=1001.2014.3001.5501
将图变到谱域
X ^ = U T X \widehat{X}=U^TX X =UTX
将谱域转换为原区域:
X = U X ^ X=U\widehat{X} X=UX

x ∗ y = U ( ( U T x ) ⊙ ( U T y ) ) x*y=U((U^Tx)\odot(U^Ty)) xy=U((UTx)(UTy))
可得:
g ∗ x = U ( ( U T g ) ⊙ ( U T x ) ) g*x=U((U^Tg)\odot(U^Tx)) gx=U((UTg)(UTx))
由于 L = U Λ U T L=U\Lambda U^T L=UΛUT
我们得到:
U T L = Λ U T U^TL=\Lambda U^T UTL=ΛUT
也就是卷积核对 U T U^{T} UT进行图域到谱域的转换,g是一个可以学习的参数.我们就可以得到:
U T g = g θ ( Λ ) U^Tg=g_\theta(\Lambda) UTg=gθ(Λ)
假如用切比雪夫多项式提供一个多项式逼近
g θ ( Λ ) = ∑ k = 0 K θ k ⋅ T k ( Λ ) g_\theta(\Lambda)=\sum_{k=0}^K\theta_k\cdot T_k(\Lambda) gθ(Λ)=k=0KθkTk(Λ)
g ∗ x = U ( ( U T g ) ∗ ( U T x ) ) 3 = U ( g θ ( Λ ) ∗ ( U T x ) ) = U ( ∑ k = 0 K θ k ⋅ T k ( Λ ) ∗ U T x ) = ∑ k = 0 K θ k ⋅ T k ( U Λ U T ) x \begin{aligned} &g*x=U((U^Tg)*(U^Tx)) \\3 &=U(g_\theta(\Lambda)*(U^Tx)) \\ &=U(\sum_{k=0}^K\theta_k\cdot T_k(\Lambda)*U^Tx) \\ &=\sum_{k=0}^K\theta_k\cdot T_k(U\Lambda U^T)x \end{aligned} 3gx=U((UTg)(UTx))=U(gθ(Λ)(UTx))=U(k=0KθkTk(Λ)UTx)=k=0KθkTk(UΛUT)x
g ∗ x = ∑ k = 0 K θ k ⋅ T k ( L ) x g*x=\sum_{k=0}^K\theta_k\cdot T_k(L)x gx=k=0KθkTk(L)x
由于切比雪夫多项式为:
x ˉ 0 = x , x ˉ 1 = L x , x ˉ k = 2 L x ˉ k − 1 − x ˉ k − 2 \bar{x}_{0} =x,\bar{x}_{1}=Lx,\bar{x}_{k}=2L\bar{x}_{k-1}-\bar{x}_{k-2} xˉ0=x,xˉ1=Lx,xˉk=2Lxˉk1xˉk2
我们令:k=1,那么,有:
g ∗ x = θ 0 x + θ 1 L x g*x=\theta_0x+\theta_1Lx gx=θ0x+θ1Lx
再令: θ 0 = 1 , θ 1 = − 1 \theta_{0}=1,\theta_{1}=-1 θ0=1,θ1=1,那么,就有:
g ∗ x = I − L = D − 1 / 2 A D − 1 / 2 g*x=I-L=D^{-1/2}AD^{-1/2} gx=IL=D1/2AD1/2
令  I N + D − 1 2 A D − 1 2 → D ~ − 1 2 A ~ D ~ − 1 2 , A ~ = A + I N \text{令 }I_N+D^{-\frac12}AD^{-\frac12}\to\tilde{D}^{-\frac12}\tilde{A}\tilde{D}^{-\frac12}, \tilde{A}=A+I_N  IN+D21AD21D~21A~D~21,A~=A+IN
最终,就可以得到GCN的推到:
Z = D ~ − 1 2 A ~ D ~ − 1 2 X Θ Z=\tilde{D}^{-\frac12}\tilde{A}\tilde{D}^{-\frac12}X\Theta Z=D~21A~D~21XΘ

我们可以定义多项式滤波器为:
y = U d i a g [ h ( λ 1 ) , . . . , h ( λ n ) ] U T x = U h ( Λ ) U T x ≈ ∑ k = 0 K w k L k x , \mathbf{y}=\mathbf{U}diag\left[h(\lambda_1),...,h(\lambda_n)\right]\mathbf{U}^T\mathbf{x}=\mathbf{U}h\left(\mathbf{\Lambda}\right)\mathbf{U}^T\mathbf{x}\approx\sum_{k=0}^Kw_k\mathbf{L}^k\mathbf{x}, y=Udiag[h(λ1),...,h(λn)]UTx=Uh(Λ)UTxk=0KwkLkx,
其中,h对应光谱滤波器, h ( λ ) = ∑ k = 0 K w k λ k , λ ∈ [ 0 , 2 ] h(\lambda)=\sum_{k=0}^Kw_k\lambda^k,\lambda\in[0,2] h(λ)=k=0Kwkλk,λ[0,2]
ChebNet使用切比雪夫多项式去近似过滤器操作:
y ≈ ∑ k = 0 K w k T k ( L ^ ) x \mathbf{y}\approx\sum_{k=0}^Kw_kT_k(\hat{\mathbf{L}})\mathbf{x} yk=0KwkTk(L^)x

在这里, L ^ = 2 L / λ m a x − I \hat{\mathbf{L}}=2\mathbf{L}/\lambda_{max}-\mathbf{I} L^=2L/λmaxI
表示拉普拉斯矩阵 λ m a x \lambda_{max} λmax是L的最大特征值, w k w_{k} wk表示切比雪夫系数.切比雪夫多项式可以被定义为:
T k ( x ) = 2 x T k − 1 ( x ) − T ˙ k − 2 ( x ) T_k(x)=2xT_{k-1}(x)-\dot{T}_{k-2}(x) Tk(x)=2xTk1(x)T˙k2(x)
T 0 ( x ) = 1 T_0(x)=1 T0(x)=1
T 1 ( x ˉ ) = x . T_{1}(\bar{x})=x. T1(xˉ)=x.

审视ChebNet的动机

具体流程:ChebBase->发现ChebBase/k效果更好(比chebbase等更好),因此分析,得到理论2.1(即要对系数 w k w_{k} wk限制->利用切比雪夫差值限制 w k w_{k} wk,并提出了 w k = 2 K + 1 ∑ j = 0 K γ j T k ( x j ) w_k=\frac{2}{K+1}\sum_{j=0}^{K}\gamma_jT_k(x_j) wk=K+12j=0KγjTk(xj),其中, λ j \lambda_{j} λj可以被定义Chebyshev node x j x_{j} xj

切比雪夫基与其他基的区别:
h ( λ ^ ) ≈ ∑ k = 0 K w k T k ( λ ^ ) , λ ^ ∈ [ − 1 , 1 ] , h(\hat{\lambda})\approx\sum_{k=0}^Kw_kT_k(\hat{\lambda}),\hat{\lambda}\in[-1,1], h(λ^)k=0KwkTk(λ^),λ^[1,1],
其中, λ ^ \hat{\lambda} λ^是拉普拉斯矩阵 L ^ \hat{L} L^的特征值.
最近的工作有利用多项式和Bearbstein base去逼近过滤器
为了去逼近切比雪夫基的近似能力,我们用切比雪夫基简单替代了GPRGNN和BERNNET.
切比雪夫的表达为:
Y = ∑ k = 0 K w k T k ( L ^ ) f θ ( X ) \mathbf{Y}=\sum_{k=0}^Kw_kT_k(\hat{\mathbf{L}})f_\theta\left(\mathbf{X}\right) Y=k=0KwkTk(L^)fθ(X)
其中, f θ f_{\theta} fθ表示为MLP
很显然,chebnet获得了最差的性能.
我们认为是切比雪夫基学习到了非法系数导致的.
定义一个在 [ − 1 , 1 ] [-1,1] [1,1]之间的连续函数f,切比雪夫扩展被定义为: f ( x ) = ∑ k = 0 ∞ w k T k ( x ) \begin{aligned}f(x)=\sum_{k=0}^\infty w_kT_k(x)\end{aligned} f(x)=k=0wkTk(x)
其中, w k w_{k} wk被定义为切比雪夫系数.由于如上的经验,因此切比雪夫系数必须被限制
定理2.1:
如果f(x)在边界弱奇异且在 ( − 1 , 1 ) (-1,1) (1,1)内可解析,切比雪夫系数将会逐渐减少( k → ∞ k\to \infty k)至 1 k q \frac{1}{k^{q}} kq1,q是正常数.弱奇异指的是f的求导可能在边界处消失.
逼近解析函数的能力对于逼近光谱过滤器的任务至关重要,因为非解析过滤器器很难多项式逼近,并有可能导致过度逼近.而chebnet和chebbase的系数 w k w_{k} wk没有任何限制,只是通过梯度下井求得,这不满足如上定理2.1,会导致弱的性能.利用定理2.1,我们创造了ChebBase/k
Y = ∑ k = 0 K w k k T k ( L ^ ) f θ ( X ) (6) \mathbf{Y}=\sum_{k=0}^K\frac{w_k}kT_k(\hat{\mathbf{L}})f_\theta (\mathbf{X})\tag{6} Y=k=0KkwkTk(L^)fθ(X)(6)
经过实验,我们发现ChebBase/k效果最好.受此驱动,我们提出了ChebNetII
请添加图片描述

Chebnet II

尽管 C h e b n e t / k Chebnet / k Chebnet/k似乎得到了应有的性能,它仍然有很多的缺点:
1.对系数施加惩罚在数学上并不美观
2.很难对学到的光谱过滤器进行进一步的限制.例如,目前我们不知道如何去修改公式6来去获得一个非负的过滤器
为此,我们引入了切比雪夫差值:

切比雪夫差值:

考虑到一个现实中的过滤函数 h ( λ ^ ) h(\hat{\lambda}) h(λ^) [ − 1 , 1 ] [-1,1] [1,1]内连续,当这个过滤器在有限个点 λ k \lambda_{k} λk上已知,我们可以用如下多项式近似:
h ( λ ^ k ) = P K ( λ ^ k ) h(\hat{\lambda}_k)=P_K(\hat{\lambda}_k) h(λ^k)=PK(λ^k)
我们生成K+1个采样点 λ ^ 0 < λ ^ 1 < . . . < λ ^ K \hat{\lambda}_0<\hat{\lambda}_1<...<\hat{\lambda}_K λ^0<λ^1<...<λ^K [ − 1 , 1 ] [-1,1] [1,1]中,取构造 P K ( λ ^ ) P_K(\hat{\lambda}) PK(λ^).直观来说,提升K可以提高逼近的质量.然而,由于龙格现象,前者不经常成立.解决之的一个方法就是切比雪夫差值,它有优越的近似能力和更快的收敛速度.切比雪夫差值用切比雪夫节点作为差值点,这些点的本质是第k+1个切比雪夫方程的零点.

定义3.1切比雪夫点

切比雪夫多项式 T k ( x ) T_{k}(x) Tk(x)满足近似表达: T k ( x ) = cos ⁡ ( k arccos ⁡ ( x ) ) . T_{k}(x) = \operatorname{cos}\left(k\operatorname{arccos}(x)\right). Tk(x)=cos(karccos(x)).切比雪夫点 T k ( x ) T_{k}(x) Tk(x)被定义为: x j = cos ⁡ ( 2 j + 1 k π ) , j = 0 , 1 , … , k − 1 x_{j}=\cos\left( \frac{2j+1}{k}\pi \right),j=0,1,\dots,k-1 xj=cos(k2j+1π),j=0,1,,k1他们位于区间(-1,1)内,是 T k ( x ) T_{k}(x) Tk(x)的零点.
定理3.1表明切比雪夫多项式有k个零点.

定理3.2切比雪夫差值

给定一个连续的过滤函数 h ( λ ^ ) h(\hat{\lambda}) h(λ^), x j = cos ⁡ ( 2 j + 1 k π ) , j = 0 , 1 , … , k x_{j}=\operatorname{cos}\left(\frac{2j+1}{k}\pi\right),j=0,1,\ldots,k xj=cos(k2j+1π),j=0,1,,k表示切比雪夫点, h ( x j ) h(x_{j}) h(xj)表示节点 x j x_{j} xj,切比雪夫差值 h ( λ ^ ) h(\hat{\lambda}) h(λ^)可以被定义为:
P K ( λ ^ ) = ∑ k = 0 K c k ′ T k ( λ ^ ) , c k = 2 K + 1 ∑ j = 0 K h ( x j ) T k ( x j ) , P_K(\hat{\lambda})=\sum_{k=0}^Kc_k'T_k(\hat{\lambda}),c_k=\frac{2}{K+1}\sum_{j=0}^Kh(x_j)T_k(x_j), PK(λ^)=k=0KckTk(λ^),ck=K+12j=0Kh(xj)Tk(xj),
其中, c 0 ′ = c 0 / 2 , c 1 ′ = c 1 , … , c K ′ = c K . c_0'=c_0/2, c_1'=c_1,\ldots,c_K'=c_K. c0=c0/2,c1=c1,,cK=cK..

受到切比雪夫差值激励,它以最佳的收敛率逼近任意频谱的滤波器 h ( λ ^ ) h(\hat{\lambda}) h(λ^),ChebNetII重新参数过滤器 h ( x j ) h(x_{j}) h(xj),具体的是,ChebNetII 模型可以被定义为:
Y = 2 K + 1 ∑ k = 0 K ∑ j = 0 K γ j T k ( x j ) T k ( L ^ ) f θ ( X ) , \mathbf{Y}=\frac2{K+1}\sum_{k=0}^K\sum_{j=0}^K\gamma_jT_k(x_j)T_k(\hat{\mathbf{L}})f_\theta(\mathbf{X}), Y=K+12k=0Kj=0KγjTk(xj)Tk(L^)fθ(X),
在这里, x j = c o s ( ( j + 1 / 2 ) π / ( K + 1 ) ) \begin{aligned}x_j=cos\left(\left(j+1/2\right)\pi/(K+1)\right)\end{aligned} xj=cos((j+1/2)π/(K+1)) T K + 1 T_{K+1} TK+1切比雪夫节点. f θ f_{\theta} fθ表示在节点x上的MLP, γ j for  j = 0 , 1 , . . . , K \gamma_j\text{ for }j=0,1,...,K γj for j=0,1,...,K是可学习的参数.

ChebNetII --基于切比雪夫差值

具体的是,ChebNetII
y ≈ 2 K + 1 ∑ k = 0 K ∑ j = 0 K γ j T k ( x j ) T k ( L ^ ) x . \mathbf{y}\approx\frac2{K+1}\sum_{k=0}^K\sum_{j=0}^K\gamma_jT_k(x_j)T_k(\hat{\mathbf{L}})\mathbf{x}. yK+12k=0Kj=0KγjTk(xj)Tk(L^)x.
很容易看到,与原始的ChebNet相比,我们仅仅参数化系数 w k w_{k} wk通过
w k = 2 K + 1 ∑ j = 0 K γ j T k ( x ‾ j ) w_k=\frac2{K+1}\sum_{j=0}^K\gamma_jT_k(\underline{x}_j) wk=K+12j=0KγjTk(xj)
然而,这个小小的修改允许我们对最终过滤器的形状进行更多的控制,因为切比雪夫差值表明 γ j \gamma_{j} γj直接对应过滤器值 h ( x i ) h(x_{i}) h(xi)对于切比雪夫节点.相关系数 w k = 2 K + 1 ∑ j = 0 K h ( x j ) T k ( x j ) w_k = \frac{2}{K+1}\sum_{j=0}^{K}h(x_j)T_k(x_j) wk=K+12j=0Kh(xj)Tk(xj)从根本上满足定义2.1因为我们直接逼近过滤器 h h h.此外,切比雪夫多项式也提供了几个好的数学性质.

杂乱

ChebNet的结构是:
Y = ∑ k = 0 K T k ( L ^ ) X W k \mathbf{Y}=\sum_{k=0}^KT_k(\hat{\mathbf{L}})\mathbf{X}\mathbf{W}_k Y=k=0KTk(L^)XWk
ChebnNet作者指出了原始的频谱图卷积有两大缺点:
1.图卷积核是全局的且参数量大 (卷积核大小与输入信号相同,参数量与图节点数相同)
2. 图卷积运算的复杂度高 (运算过程涉及高计算复杂度的特征分解)
为了克服卷积核过大的缺点,ChebNet指出可以使用多项式展开近似计算图卷积,即对参数化的频率响应函数进行多项式近似:
g θ ( Λ ) ≈ ∑ k − 1 θ k Λ k g_\theta(\Lambda)\approx\sum^{k-1}\theta_k\Lambda^k gθ(Λ)k1θkΛk
y = U g θ ( Λ ) U T x = U ( ∑ k = 0 K θ k Λ k ) U T x y=Ug_{\theta}(\Lambda)U^{T}x=U(\sum_{k=0}^{K}\theta_{k}\Lambda^{k}) U^{T}x y=Ugθ(Λ)UTx=U(k=0KθkΛk)UTx
但是,整个图卷积的复杂度还是ON2,为了降低复杂度,作者使用迭代定义的切比雪夫多项式做近似.
1.切比雪夫的递归定义 [ T 0 ( x ) = 1 T 1 ( x ) = x T n + 1 ( x ) = 2 x T n ( x ) − T n − 1 ( x ) 2.切比雪夫卷积核 [ g θ ′ ( Λ ) ≈ ∑ k = 0 K θ k ′ T k ( Λ ~ ) Λ ~ = 2 λ max ⁡ Λ − I N ] 3.切比雪夫图卷积 [ g θ ′ ⋆ x ≈ ∑ k = 0 K θ k ′ T k ( L ~ ) x L ~ = 2 λ max ⁡ L − I N ] \begin{aligned}&\text{1.切比雪夫的递归定义}\left[\begin{array}{c}T_0(x)=1\\T_1(x)=x\\T_{n+1}(x)=2xT_n(x)-T_{n-1}(x)\end{array}\right.\\&\text{2.切比雪夫卷积核}\left[\begin{array}{c}g_{\theta^{\prime}}(\Lambda)\approx\sum_{k=0}^K\theta_k^{\prime}T_k(\tilde{\Lambda})\\\tilde{\Lambda}=\frac2{\lambda_{\max}}\Lambda-I_N\end{array}\right]\\&\text{3.切比雪夫图卷积}\left[\begin{array}{c}g_{\theta^{\prime}}\star x\approx\sum_{k=0}^K\theta_k^{\prime}T_k(\tilde{L})x\\\\\tilde{L}=\frac2{\lambda_{\max}}L-I_N\end{array}\right]\end{aligned} 1.切比雪夫的递归定义 T0(x)=1T1(x)=xTn+1(x)=2xTn(x)Tn1(x)2.切比雪夫卷积核[gθ(Λ)k=0KθkTk(Λ~)Λ~=λmax2ΛIN]3.切比雪夫图卷积 gθxk=0KθkTk(L~)xL~=λmax2LIN
y = g θ ′ ( L ) x = ∑ k = 0 K θ k ′ T k ( L ~ ) x = θ 0 ′ T 0 ( L ~ ) x + θ 1 ′ T 1 ( L ~ ) x + θ 2 ′ T 2 ( L ~ ) x + ⋯ + θ K ′ T K ( L ~ ) x = θ 0 ′ x ˉ 0 + θ 1 ′ x ˉ 1 + θ 2 ′ x ˉ 2 + ⋯ + θ K ′ x ˉ K = [ x ˉ 0 x ˉ 1 . . . x ˉ K ] [ θ 0 ′ θ 1 ′ . . . θ K ′ ] \begin{aligned}y=g_{\theta^{\prime}}(L)x&=\sum_{k=0}^{K}\theta_{k}^{\prime}T_{k}(\tilde{L})x\\&=\theta_{0}^{\prime}T_{0}(\tilde{L})x+\theta_{1}^{\prime}T_{1}(\tilde{L})x+\theta_{2}^{\prime}T_{2}(\tilde{L})x+\cdots+\theta_{K}^{\prime}T_{K}(\tilde{L})x\\&=\theta_{0}^{\prime}\bar{x}_{0}+\theta_{1}^{\prime}\bar{x}_{1}+\theta_{2}^{\prime}\bar{x}_{2}+\cdots+\theta_{K}^{\prime}\bar{x}_{K}\\&=[\bar{x}_{0}\:\bar{x}_{1}\:...\:\bar{x}_{K}][\theta_{0}^{\prime}\:\theta_{1}^{\prime}\:...\theta_{K}^{\prime}]\end{aligned} y=gθ(L)x=k=0KθkTk(L~)x=θ0T0(L~)x+θ1T1(L~)x+θ2T2(L~)x++θKTK(L~)x=θ0xˉ0+θ1xˉ1+θ2xˉ2++θKxˉK=[xˉ0xˉ1...xˉK][θ0θ1...θK]
Calculating  x ˉ k = 2 L ~ x ˉ k − 1 − x ˉ k − 2 cot ⁡ O ( E ) Total complexity:  O ( K E ) \begin{array}{l}{\text{Calculating }\bar{x}_{k}=2\tilde{L}\bar{x}_{k-1}-\bar{x}_{k-2}\cot O(E)}\\{\text{Total complexity: }O(KE)}\end{array} Calculating xˉk=2L~xˉk1xˉk2cotO(E)Total complexity: O(KE)
ChebNet结论:
要学一个filter,filter需要学一族参数 θ \theta θ,做filter的方式就是把信号用迭代的方式算到k次方,相乘得到filter完整的信号
受切比雪夫图卷积的启发,Thomas等人(GCN的作者)提出了一种更加简单的图卷积变种GCN。GCN相当于对一阶切比雪夫图卷积的再近似。在切比雪夫卷积核定义的基础上,我们令多项式的阶数K=1,再令矩阵L的大特征值为2(带来的缩放效应可以通过网络学习自动适应),则图卷积运算过程可以按如下过程进一步简化:
令 K = 1 , λ max ⁡ ≈ 2 g θ ′ ⋆ x ≈ θ 0 ′ x + θ 1 ′ ( L − I N ) x = θ 0 ′ x − θ 1 ′ D − 1 2 A D − 1 2 x 令 θ = θ 0 ′ = − θ 1 ′ g θ ⋆ x ≈ θ ( I N + D − 1 2 A D − 1 2 ) x 令 I N + D − 1 2 A D − 1 2 → D ~ − 1 2 A ~ D ~ − 1 2 , A ~ = A + I N 并将图信号 x 推广到多维数据R n × c , 可得 Z = D ~ − 1 2 A ~ D ~ − 1 2 X Θ \begin{aligned} & 令K=1,\lambda_{\max}\approx2\\ & g_{\theta^{\prime}}\star x\approx\theta_0^{\prime}x+\theta_1^{\prime}\left(L-I_{N}\right)x\\ & =\theta_0^{\prime}x-\theta_1^{\prime}D^{-\frac12}AD^{-\frac12}x\\ & \text{令}\theta=\theta_0^{\prime}=-\theta_1^{\prime}\\ & g_{\theta}\star x\approx\theta\left(I_{N}+D^{-\frac{1}{2}}AD^{-\frac{1}{2}}\right)x\\ & \text{令}I_{N}+D^{-\frac{1}{2}}AD^{-\frac{1}{2}}\to\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}},\tilde{A}=A+I_{N}\\ & \text{并将图信号}x\text{推广到多维数据R}^{n\times c},\text{ 可得}\\ & Z=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}X\Theta\end{aligned} K=1,λmax2gθxθ0x+θ1(LIN)x=θ0xθ1D21AD21xθ=θ0=θ1gθxθ(IN+D21AD21)xIN+D21AD21D~21A~D~21,A~=A+IN并将图信号x推广到多维数据Rn×c, 可得Z=D~21A~D~21XΘ GCN的卷积核更小,参数量也更少,计算复杂度也随之减小,可以说是将简化进行到了极致,它等价于最简的一阶切比雪夫卷积

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com