Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js
본문 바로가기

Gaussian Process

[Graph Gaussian Process(GGP)]: Bayesian Semi-supervised Learning with Graph Gaussian Process(GGP)

본 글은 논문 [Bayesian Semi-supervised Learning with Graph Gaussian Process(GGP)]를 바탕으로 작성하였으며 Gaussian Process(GP)를 기반으로 Graph(G) 상에서 어떻게 적용하는지를 중점으로 다룬 내용입니다.

 

0. Background

[Graph]

Graph(G)에 대한 정의 및 구성은 다음 글을 참고하시면 좋을거 같습니다.

 

Graph Structure

1. Graph Structure Graph란 방향성이 있거나(directed) 없는(undirected) 엣지(edge)로 연결된 노드(node=vertices)들의 집합이다. [그림1]에서 볼 수 있듯이 Grpah는 Edge와 Vertices로 이루어져 있다. Edge는 Link, Vertices

iy322.tistory.com

Graph G 혹은 network는 데이터 점들(node)간의 관계(relationship)을 묘사합니다.

  • G=(V,E),V:node,vertices ,E:edge
  • X: node feature matrix, 각 node들의 feature를 나타낸 행렬
  • A={1if (vi,vj)E0if (vi,vj)E: Adjacency matrix(인접행렬)
    • 두 node가 연결되어 있으면 1, 아니면 0

<< "Graph Laplacian" >>

Self-loop가 존재하지 않은 undirected binary graph G=(V,E)의 adjacecny matrix A가 주어진 경우, graph laplacian(그래프 라플라시안) L은 다음과 같습니다. 

L=DA

  • DRN×N: diagonal node degree matrix

라플라시안 행렬 L은 symmetric하고 diagonalizable하기 때문에 eigen-decomposition이 가능합니다.

L=UΛUT

  • the columns of URN×N: the eigenfunctions of L
  • diagonal of ΛRN×N: eigenvalues

그래프 라플라시안 행렬 L은 graph filter 혹은 kernel로 유용하게 사용됩니다. 논문 [Matern Gassuian Process on Graphs]에서 자세하게 다룹니다.

 

[Gaussian Process(GP)]

Gaussian Process에 대한 정의는 다음 2개의 글을 참고하시면 좋을거 같습니다.

 

Gaussian Process(1): Mathematical Basics

본 글에서는 Gaussian Process Regression(GPR)에 대해 알기 전에 필요한 사전적인 개념에 대해 설명하고자 합니다. 목차는 다음과 같습니다. 일변량 정규분포 / 다변량 정규분포 결합 분포 / 조건부 분포

iy322.tistory.com

 

 

[Gaussian Process (2)]: Gaussian Process Regression(GPR)

Gaussian Process Regression(GPR)에 대해 알기 전에 필요한 기본적인 개념은 [Gaussian Process (1): Mathematical Basics]에서 다루었습니다. 본 글에서는 본격적으로 Gaussian Process Regression(GPR)에 대해 다루어 보고자

iy322.tistory.com

<< "Prior distirbution of GP" >>

fGP(m(x),k(x,x))

GP는 함수에 대한 분포로 랜덤 프로세스 X에서 임의의 샘플 k개를 뽑았을 때(X1,X2,,Xk) 결합 정규 분포(Joint Gaussian Distribution)을 따른다면 랜덤 프로세스 X는 GP라고 정의합니다.

  • 평균 함수(mean function): m(x)=E[f(x)] (보통 0으로 설정합니다.)
  • 공분산 함수(covariance function) k(x,x)=cov(x,x)(공분산 함수는 GP의 핵심이자 함수의 형태(shape)을 결정하는 부분입니다.)

<< "Posterior distirbution of GP" >>

f|x,X,fN(μ,σ2)

  • μ=K(x,X)K(X,X)1f
  • σ=k(x,x)K(X,X)1K(X,x)
  • XRD: training dataset
  • xR: new data point

<< "Scalable Variational Inference for GP" >>

GP의 경우 계산 비용이 O(N3)(N: the number of training data points)으로 대규모의 데이터에 대해서는 계산 비용이 크다는 단점이 존재합니다. 이에 대한 해결방안으로 variational inference 방법을 이용합니다. M개의 inducing points Z=[z1,z2,,zM]T,zjRD가 존재하는 경우, GP 함수 f(x)에서 랜덤하게 M개의 샘플을 뽑은 random variable(variational parameter) u=[f(z1),f(z2),,f(zM)]T를 통해 conditional GP를 제안합니다. 

f(x)|uGP(K(Z,X)TK(Z,Z)1u,Kθ(X,X)K(Z,X)TK(Z,Z)1K(Z,X))

  • K(Z,X)=[kθ(z1,X),kθ(z2,X),,kθ(zm,X)]
  • [K(Z,Z)]ij=kθ(zi,zj)
  • p(u)=N(0,K(Z,Z)): Variational prior distribution

u의 variational posterior q(u)는 평균이 m이고 공분산이 S인 다변량 정규 분포를 따릅니다.

Evidence Lower Bound(ELBO) 목적함수인 식 (1)을 최대화(maximize)하는 variational parameter m,S,{zm}Mm=1와 kernel hyper-parameter θ를 찾습니다.

L(θ,Z,m,S)=Nn=1Eq(f(xn))[log(p(yn|f(xn)))]KL[q(u)||p(u)]

 

[Graph based Semi-supervised Learning(준지도 학습)]

준지도 학습은 label y가 극소수 존재하는 경우로 labeled data를 활용하여 unlabeled data의 label y를 예측하는 함수를 학습하는 것을 목표로 합니다. 준지도 학습은 크게 두 종류로 'Transductive Learning''Inductive Learning'으로 나눌 수 있습니다.

  • Transductive Learning
  • Inductive Learning

만약, 데이터셋 D={{xi,yi}li=1,{xj}uj=1}(l: the number of labeled samples, u: the number of unlabeled samples, yi: the label of the labeled samples)가 존재하는 경우,  transductive learning은 labeled data만 가지고 학습하여 unlabaled data를 예측하는 함수 f:XY를 학습합니다. 반면, Inductive learning의 경우, labeled data와 unlabeled data를 모두 활용하여 새로운 데이터에 대한 예측 함수 f:XY를 학습합니다.

 

논문에서는 transductive learning을 기반으로 설명을 하며 graph based semi-supervised learning에 대한 Gaussian Process(GP) model을 제안합니다. 

 


1. Graph Gaussian Process(GGP)

Notation

  • N: the size of data(노드의 개수)
  • X=[x1,x2,,xN]TRN×D: node feature matrix
    • xiRD: D-dimensional features(각 node는 D차원의 특성 벡터)
  • A{0,1}N×N: symmetric binary adjacency matrix(데이터 점들(node)간의 관계를 나타내는 행렬)
    • A={1if (vi,vj)E0if (vi,vj)E
  • Y=YOYU: label(각 node의 label)
    • YO={y1,y2,,yo},yi{1,2,,k}: observed label
    • YU={yo,yo+1,,yN}: unobserved label

Algorithm

Graph Gaussian Process(GGP)는 조건부 분포(conditional distribution) pθ(Y|X,A)를 명시하며 예측 분포(predictive distribution) pθ(YU|YO,X,A)를 통해 YU를 예측합니다. 

 

※ ※ GP와는 다르게 GGP의 경우 조건부 분포를 사용합니다.

[Figure 1] Graph Gaussian Process(GGP)

먼저, 결합 분포 식 (2)를 정의하겠습니다.

pθ(Y,h|X,A)=pθ(h|X,A)ΠNn=1p(yn|hn)

(2)는 conditionally independent likelihood p(yn|hn)의 곱과 GGP prior pθ(h|X,A)(θ:hyper-parameter)로 표현된 GGP posterior pθ(Y,h|X,A)으로 우리의 주 관심인 multi-class classification 관련 식입니다. 

 

※참고: p(yn|hn)은 robust max likelihood에 의해 주어집니다.

 

Question: 그럼 GGP prior pθ(h|X,A)를 어떻게 구축하는가?

GGP prior은 GP f(x)를 통해 건축합니다. 

 

각 node는 D 차원의 feature X를 나타내며 node마다 Gaussian Process Latent Function f(x):RDR을 줍니다.

f(x)GP(0,kθ(x,x))

[Figure 1]을 참조하면 7개의 node는 모두 GP를 따르는 것을 알 수 있습니다. 그래프 G의 경우, node간의 관계(relationship)를 묘사한 데이터인데 각 node의 label을 예측하는 과정에서 이웃 노드 xj,jNe(n)의 정보를 이용할 수 있습니다. 이웃 노드 xj,jNe(n)의 정보와 타겟 노드 xn의 정보는 단순히 Adjacency matrix A에 의해 주어진 1-hop neighbourhood에 대한 f의 평균값으로 aggregate하고자 합니다.

 

h=f(xn)+lNe(n)f(xl)1+Dn

  •  Ne(n)={l:l{1,2,,N},Anl=1}
  • Dn=|Ne(n)|

(3)를 latent likelihood parameter vector hRN×1으로 정의하겠습니다. 우리가 정의한 h를 통해 GGP prior은 다변량 정규분포를 따르는 것을 확인할 수 있습니다.

pθ(h|X,A)=N(0,PK(X,X)PT)

  • P=(I+D)1(I+A)
  • [K(X,X)]ij=kθ(xi,xj)

[Proof]

(3)를 값이 아닌 vector로 표현하면 h=(I+D)1(If(X)+Af(X))=(I+D)1(I+A)f(X)(D=(|Ne(1)|,,|Ne(N)|))입니다. 

  • E[h|X,A]=(I+D)1(I+A)E[f(x)]=0
  • Var[h|X,A]=(I+D)1(I+A)Var[h|X,A](I+A)T((I+D)1)T=PK(X,X)PT

공분산 구조(covariance structure)는 다음과 같습니다.

Cov(hm,hn)=1(1+Dm)(1+Dn)i{mNe(m)}j{nNe(n)}kθ(xi,xj)=<11+Dmi{mNe(m)}ϕ(xi),11+Dnj{nNe(n)}ϕ(xj)>H

  • ϕ()은 the base kernel kθ(,)에 상응하는 feature map입니다.

[Proof]

(4)sms node m과 node n의 1-hop neighborhood의 관측된 f()에 상응된 empirical kernel mean embedding 사이의 내적입니다.

 

GGP는  node feature {({xi|i{nNe(n)}},yn)}On=1에 대한 classification model에 대한 분포입니다. 관측되지 않은 데이터의 경우는 empirical kernel mean embedding ˆμn으로 표현 가능합니다.

ˆμn=11+Dnj{nNe(n)}ϕ(xj)

즉, prior h는 equivalent하게 hGP(0,<ˆμm,ˆμn>H)로도 표현 가능합니다. 

 

2. Variational Inference with Inducing Points

만약, 데이터가 대규모인 경우 계산 비용이 크기 때문에 GGP에서도 M개의 inducing points {zm}Mm=1을 이용해 inducing random variables u=[f(z1),,f(zm)]T를 GP f(x)GP(0,kθ(x,x))로부터 샘플링합니다. 결과적으로 hnf(zm) 사이의 공분산 함수는 다음과 같습니다.

Cov(hn,f(zm))=1Dn+1[kθ(xn,zm)+lNe(n)kθ(xl,zm)]

Variational Posterior distribution q(u)=N(m,SST),mRM×1,SRM×M:lower triangular입니다. 조건부 가우시안 분포를 통해 q(u)는 우리의 주관심 variational gaussian distribution q(h)를 도출할 수 있습니다. 또한, Evidence Lower Bound(ELBO) 목적함수인 식 (1)을 최대화(maximize)하는 variational parameter m,S,{zm}Mm=1와 kernel hyper-parameter θ를 찾을 수 있습니다.

 


본 글은 Graph 상에 GP를 적용한 모델 Graph Gaussian Process(GGP)를 소개하였습니다. 결국에는 각 노드에 GP 분포를 걸어 latent parameter h로 단순히 1-hop neighborhood의 평균값으로 이웃 정보를 aggregate했다는 점과 GGP로는 조건부 분포를 사용하였다는 점이 핵심입니다.