ai tech

ai tech 25일차

완달프 2021. 2. 26. 14:44

# 정점 표현 학습

정점 표현학습은 그래프의 정점들을 벡터의 형태로 표현하는 것이다.

그래서 정점 임베딩이라고 부르기도 한다.

그래프에서의 정점간 유사도를 임베딩 공간에서도 보존해야 한다.

임베딩 공간에서는 내적을 해서 유사도를 구한다.

그래프에서의 두 정점의 유사도는 인접성, 거리, 경로, 중첩, 임의보행 기반 접근법으로 나뉜다.

여태까지의 정점 임베딩 방법들은 변환식 방법이다.

변환식 방법은 학습의 결과로 정점의 임베딩 자체를 얻는다.

귀납식 방법은 정점을 임베딩으로 변화시키는 함수, 인코더 자체를 얻는다.

 

# 변환식 임베딩 방법의 한계

1. 학습이 진행된 이후에 추가된 정점에 대해서는 임베딩을 얻을 수 없다.

2. 모든 정점에 대한 임베딩을 미리 계산하여 저장해두어야 한다.

3. 정점이 속성 정보를 가진 경우에 이를 활용할 수 없다.

 

# 귀납식 임베딩 방법

출력으로 인코더를 얻는 방법은 여러 장점이 있다.

1. 학습이 진행된 이후에 추가된 정점에 대해서도 임베딩을 얻을 수 있다.

2. 모든 정점에 대한 임베딩을 미리 계산하여 저장해 둘 필요가 없다.

3. 정점이 속성 정보를 가진 경우에 이를 활용할 수 있다.

그래프 신경망은 대표적인 귀납식 임베딩 방법이다.

 

# 그래프 신경망 구조

그래프 신경망은 그래프와 정점 속성 정보를 입력으로 받는다.

 

# 그래프 신경망 구조

 

# 그래프 신경망 학습

모든 정점을 학습에 사용해야 하는것은 아니다.

 

# 그래프 신경망 변형

# 그래프 합성곱 신경망

파이는 순서를 섞는다는 것을 의미한다.

 

# 합성곱 신경망과 그래프 신경망의 유사성

이미지를 행렬로 만들고 주변 값들을 사용하는 것은 의미가 있지만,

그래프를 행렬로 만들경우 행과 열의 순서가 만드는 사람 마음대로기 때문에,

사실상 정점간의 관계가 반영되지 않는다.

그래서 그래프에는 합성곱신경망이 아니라 그래프 신경망을 사용하여야 한다.

 

# DGL 라이브러리와 GraphSAGE를 이용한 정점 분류 구현

dgl은 Deep Graph Library의 약자이다.

 


 # 그래프 신경망의 학습

그래프 신경망은 비지도 학습, 지도 학습이 모두 가능하다.

비지도 학습에서는 정점간 거리를 보존하는 것을 목표로 한다.

지도 학습에서는 후속 과제의 손실함수를 이용해 종단종 학습을 한다.

 

# 그래프 신경망의 활용

학습된 신경망을 적용해서,

학습에 사용되지 않은 정점,

학습 이후에 추가된 정점,

새로운 그래프의 정점의 임베딩을 얻을 수 있다.

 

# 기본 그래프 신경망의 한계

기본 그래프 신경망에서는 이웃들의 정보를 동일한 가중치로 평균을 낸다.

그래프 합성곱 신경망에도 단순히 연결성을 고려한 가중치로 평균을 낸다.

# 그래프 어텐션 신경망(Graph Attention Network, GAT)

가중치 자체도 학습한다.

실제 그래프에서는 이웃 별로 미치는 영향이 다를 수 있기 때문이다.

가중치를 학습하기 위해서 셀프-어텐션이 사용된다.

각 층에서 정점 i로부터 이웃 j로의 가중치 aij는 세 단계를 통해 계산한다.

# 그래프 표현 학습

하나의 정점이 아닌 그래프 전체를 하나의 벡터의 형태로 표현하는 것이다.

개별 정점을 벡터의 형태로 표현하는 정점 표현 학습과 구분된다.

그래프 임베딩은 벡터의 형태로 표현된 그래프 자체를 의미하기도 한다.

그래프 임베딩은 그래프 분류 등에 활용된다.

그래프 형태로 표현된 화합물의 분자 구조로부터 특성을 예측하는 것이 한가지 예시다.

 

# 그래프 풀링

정점 임베딩으로부터 합산해서 그래프 임베딩을 얻는 과정이다.

평균 등 단순한 방법보다 그래프의 구조를 고려한 방법을 사용할 경우

그래프 분류 등의 후속 과제에서 더 높은 성능을 얻는 것으로 알려져 있다.

 

아래 그림의 미분 가능한 풀링은

군집 구조를 활용 임베딩을 계층적으로 집계한다.

군집의 군집을 찾는 과정을 반복해서 최종적인 임베딩을 얻는 것이다.

 

# 지나친 확일화 문제

지나친 획일화 문제는 그래프 신경망의 층의 수가 증가하면서 정점의 임베딩이 서로 유사해지는 현상을 말한다.

지나친 획일화 문제는 작은 세상 효과와 관련이 있다.

적은 수의 층으로도 다수 정점에 의해 영향을 받게 된다.

예를 들면 레이어가 5개면 5개 거리인 노드들이 영향을 끼치에 되는데,

5개 거리정도면 수많은 정점들이 연결될텐데 그러면 작은 세상 효과로 인해 거의 비슷한 임베딩이 된다.

잔차항을 넣더라도 항상 해결되는것은 아니다.

 

여기서의 정확도는 정점 분류의 정확도이다.

 

# 그래프 데이터 증강

데이터 증강은 다양한 기계학습 문제에서 효과적이다.

그래프에도 누락되거나 부정확한 간선이 있을 수 있고, 데이터 증강을 통해 보완할 수 있다.

임의보향을 통해 정점간의 유사도를 계산하고,

유사도가 높은 정점 간의 간선을 추가하는 방법이 제안되었다.

 

어떤 데이터셋이든 데이터 증강을 했을때 정확도 성능이 더 높은것을 알 수 있다.

 

# GraphSAGE의 집계 함수 구현

이전에는 가져와서 사용했다면, 이번에는 직접 구현해보자.

concat 한 내용이 입력이 되기 때문에 입력의 차원이 두배 늘어나게 된다.

 


'ai tech' 카테고리의 다른 글

ai tech 28일차  (0) 2021.03.03
ai tech 27일차  (0) 2021.03.02
ai tech 21회차  (0) 2021.02.22
ai tech 20일차  (0) 2021.02.19
ai tech 18일차  (0) 2021.02.17