Archive
DAG-GNN
DAG-GNN 이번 포스트는 DAG-GNN: DAG Structure Learning with Graph Neural Networks의 논문 요약입니다. Graph Learning 그래프 학습 Graph Learning 이란, 주어진 관측 데이터 $\mathbf{X}$로부터 데이터가 생성된 그래프 $\mathcal{G}$의 구조를 추정하는 것이다. 그래프의 구조는 인접행렬 $A\in \...

DAG-GNN
이번 포스트는 DAG-GNN: DAG Structure Learning with Graph Neural Networks의 논문 요약입니다.
Graph Learning
그래프 학습Graph Learning이란, 주어진 관측 데이터 로부터 데이터가 생성된 그래프 의 구조를 추정하는 것이다. 그래프의 구조는 인접행렬 으로 나타나기 때문에, 이는 곧 인접행렬을 학습하는 문제가 된다. 그러나 일반적으로 어떠한 가정 없이 인접행렬을 학습하는 것은 매우 어려운 문제이다. 특히, 추정해야 할 그래프가 DAG(Bayesian Netowrk) 구조일 때, 이는 NP-hard problem이 된다. 이를 해결하기 위해 대개는 아래와 같은 선형 구조방정식 모형Linear SEM 가정을 이용한다.
Linear SEM
그래프 가 개의 노드를 갖는다고 하자. 이때, 각 노드는 차원 확률변수에 대응한다. 가 노드들의 결합분포로부터 얻어진 샘플이라고 할 때, 선형 구조방정식 모형은 아래와 같은 가정을 의미한다.
여기서 는 노이즈 벡터, 혹은 행렬을 의미한다. 노드의 위상정렬topological sorting을 이용하면 인접행렬을 상삼각행렬로 만들 수 있으므로, 이는 아래와 같다.
이러한 구조로부터 다음과 같은 generalized form을 생각할 수 있는데, 이것이 그래프 신경망Graph Neural Net의 기반이 된다.
Model
DAG-GNN 모델은 선형 구조방정식 모형을 기반으로, VAE를 적용하여 이 과정에서 인접행렬을 학습하게 한다. 인접행렬을 학습가능한 파라미터로 정의하며, VAE의 잠재변수로는 노이즈 행렬 를 사용하는 것이 특징이다. 또한, 노이즈 행렬의 사전분포는 표준정규분포(혹은 Matrix normal)를 가정한다.

인코더로부터 얻은 확률분포를 으로 두면, ELBO는 다음과 같이 계산된다.
2번째 항인 reconstruction error의 경우 다음과 같이 데이터로부터의 몬테카를로 방법을 이용한다.
Optimization
ELBO를 최대화하는 계산으로는 학습된 인접행렬 가 DAG 그래프에 대응된다는 것을 보장할 수 없다. 따라서 별도의 제약조건이 필요한데, 이때 사용되는 것이 acyclicity constraint이다. 이는 NOTEARS라는 알고리즘에서 처음 제안되었으며 (Zheng et al., n.d.), 아이디어는 인접행렬의 -거듭제곱이 노드 에서 로의 길이 경로의 수에 대한 정보를 담고 있다는 것이다. 이로부터 DAG의 경우 인접행렬의 모든 거듭제곱에 대해 대각원소가 0이 되어야 함을 알 수 있다. 따라서, 다음과 같은 접근이 가능하다.
if and only if is acyclic.
그렇기에, 이를 이용하면 최적화문제에 의 제약조건을 추가할 수 있고, 이를 augmented lagrangian method를 이용해 풀 수 있다. 결과적으로, 풀어야 하는 최적화 문제는 다음과 같아진다.
이를 다음과 같이 Lagrangian으로 쓸 수 있다.
학습 방법은, 모든 epoch에 대해 훈련이 종료된 뒤 를 점진적으로 증가시켜 재학습을 진행하는 것이다. 를 업데이트하는 과정은 아래와 같다.
References
- Yu, Y., Chen, J., Gao, T., & Yu, M. (n.d.). DAG-GNN: DAG Structure Learning with Graph Neural Networks.
- Zheng, X., Aragam, B., Ravikumar, P. K., & Xing, E. P. (n.d.). DAGs with NO TEARS: Continuous Optimization for Structure Learning.