그래프 신경망에서의 어텐션
- 기본 그래프 신경망의 한계
✔️ 기본 그래프 신경망에서는 이웃들의 정보를 동일한 가중치의 평균으로 계산을 함
그래프 합성곱 신경망에서도 단순히 연결성을 고려한 가중치로 평균 계산
❗️ 현실에서는 이웃들이랑 모두 대등하게 연결되어 있지는 않음(예 - 더 친한 친구 vs 덜 친한 친구)
- 그래프 어텐션 신경망(Graph Attention Network, GAT)
✔️ 그래프 어텐션 신경망에서는 가중치 자체도 학습
✔️ 이웃 별로 미치는 영향이 다를 수 있기 때문에 가중치를 학습하기 위해 셀프-어텐션(Self-Attention)이 사용된다.
출처
Naver BoostCamp AI Tech - edwith 강의
http://snap.stanford.edu/proj/embeddings-www/
각 층에서 정점 i 로부터 이웃 j로의 가중치 αij는 세 단계를 통해 계산이 된다.
1️⃣ 해당 층의 정점i의 임베딩 hi에 신경망 W를 곱해 새로운 임베딩을 얻음
➡️ hi~=hiW
(이때, W는 학습 변수이다.)
2️⃣ 정점 i와 정점 j의 새로운 임베딩을 연결한 후, 어텐션 계수 a를 내적한다.(a는 모든 정점이 공유하는 학습 변수)
➡️ eij=a⊤[CONCAT(hi~,hj~)]
(이때, a는 어텐션 계수이다.)
3️⃣ 2️⃣의 결과에 소프트맥스(Softmax)를 적용
➡️ αij=softmaxj(eij)=∑k∈Niexp(eik)exp(eij)
여러 개의 어텐션을 동시에 학습한 뒤, 결과를 연셜하여 사용하는 멀티헤드 어텐션(Multi-head Attenteion)도 존재한다.
출처
Naver BoostCamp AI Tech - edwith 강의
https://arxiv.org/pdf/1710.10903.pdf
hi′=CONCAT1≤k≤Kσ(∑j∈NiαijkhjWk)
✔️ 어텐션의 결과 정점 분류의 정확도(Accuracy)가 향상
출처
Naver BoostCamp AI Tech - edwith 강의
그래프 표현 학습과 그래프 풀링
- 그래프 표현 학습이란?
✔️ 그래프 표현 학습(그래프 임베딩)이란 그래프 전체를 벡터의 형태로 표현하는 것이다.
👉 개별 정점을 벡터의 형태로 표현하는 정점 표현 학습과 구분된다. 그래프 임베딩은 벡터의 형태로 표현된 그래프 자체를 의미
👉 그래프 임베딩은 그래프 분류에 활용된다.(예 - 그래프 형태로 표현된 화합물의 분자 구조로부터 특성을 예측)
- 그래프 풀링(Graph Pooling)
✔️ 그래프 풀링(Graph Pooling)이란 정점 임베딩으로부터 그래프 임베딩을 얻는 과정이다.
👉 평균 등 단순한 방법보다 그래프의 구조를 고려한 방법을 사용한 경우 그래프 분류 등 후속 과제(Downstream Task)에서 더 높은 성능을 얻을 수 있다.
👉 해당 그림의 미분가능한 풀링(Differentiable Pooling, DiffPoll)은 군집 구조(=>활용 임베딩)를 계층적으로 집계(마지막으로는 classifier 통과)
이때, 그래프 신경망이 여러곳에서 사용이 되어진다.
1️⃣ 개별 정점의 임베딩을 얻을 때
2️⃣ 군집별로 묶어줄 때
3️⃣ 군집내에서 합산하는 방법 또한 그래프 신경망으로 결정
출처
Naver BoostCamp AI Tech - edwith 강의
https://arxiv.org/pdf/1806.08804.pdf
지나친 획일화 문제
그래프 데이터 증강
- 데이터 증강(Data Augmentataion)
✔️ 데이터 증강(Data Augmentataion)은 데이터의 수를 증가시키는 것을 말하고 다양한 기계학습 문제에서 효과적이다.(특히 이미지에서 효과적)
👉 그래프에서도 누락되거나 부정확한 간선이 존재 할 수 있고, 데이터 증강을 통해 보완할 수 있다.
이에 따른 방법으로 임의 보행을 통해 정점간 유사도를 계산하고 유사도가 높은 정점 가느이 간선을 추가하는 방법이 제안되어짐
출처
Naver BoostCamp AI Tech - edwith 강의
https://arxiv.org/abs/1911.05485
이에 따라 정점분류의 정확도가 개선될 수 있다.
출처
Naver BoostCamp AI Tech - edwith 강의
https://arxiv.org/abs/1911.05485
이때, HEAT과 PPR은 제안된 그래프 데이터 증강 기법을 의미한다.
Reference
Naver BoostCamp AI Tech - edwith 강의