그래프: 최신 모델 – GAT

ㅁ 최신 모델

1. GAT

ㅇ 정의:
– Graph Attention Network의 약자로, 그래프 구조 데이터에서 노드 간의 중요도를 학습하기 위해 Attention 메커니즘을 적용한 그래프 신경망 모델.
– GCN(Graph Convolutional Network)의 한계인 고정된 이웃 가중치 문제를 해결.

ㅇ 특징:
– 각 노드가 연결된 이웃 노드별로 Attention Score를 계산하여 가중합.
– Self-attention 방식으로 노드별 중요도를 동적으로 산정.
– 병렬 연산이 가능해 효율적이며, 다중 헤드 어텐션(Multi-head Attention) 구조를 사용해 안정성과 표현력을 향상.

ㅇ 적합한 경우:
– 그래프의 각 이웃 노드가 동일한 중요도를 가지지 않는 경우.
– 소셜 네트워크, 추천 시스템, 지식 그래프 등에서 관계 가중치 학습이 중요한 경우.

ㅇ 시험 함정:
– GAT는 모든 이웃 노드에 동일한 가중치를 주는 것이 아니라는 점.
– Attention Score 계산 시 학습 가능한 파라미터를 사용한다는 점을 혼동.
– GCN과 달리 고정된 인접 행렬 기반이 아니라 동적인 가중치 계산.

ㅇ 시험 대비 “패턴 보기” 예시:
– (O) GAT는 이웃 노드별로 다른 중요도를 학습할 수 있다.
– (O) GAT는 Multi-head Attention을 사용하여 표현력을 높인다.
– (X) GAT는 모든 이웃 노드에 동일한 가중치를 부여한다.
– (X) GAT는 Attention 메커니즘을 사용하지 않는다.

ㅁ 추가 학습 내용

GAT(Graph Attention Network)의 핵심은 Self-attention 메커니즘을 그래프 구조에 적용하여 각 이웃 노드의 중요도를 학습하는 것이다. Attention Score 계산 과정은 다음과 같다: 먼저 노드 특징을 변환한 후, 이웃 노드 쌍에 대해 LeakyReLU 활성화를 적용하여 유사도를 계산하고, 이를 Softmax로 정규화하여 가중치를 얻는다. 마지막으로 이 가중치를 이용해 이웃 노드 특징의 가중합을 구한다. Multi-head Attention은 여러 개의 Attention을 병렬로 적용하여 표현력을 높이고 학습의 안정성을 향상시키는 장점이 있다.

GAT와 GCN의 차이점은, GCN은 고정된 정규화 인접행렬을 사용하여 평균 연산을 수행하는 반면, GAT는 학습 가능한 Attention 가중치를 통해 이웃의 중요도를 동적으로 조정한다는 점이다. 시간 복잡도 측면에서 GAT는 모든 이웃 쌍에 대해 Attention Score를 계산해야 하므로, 밀집 그래프에서는 연산량이 커질 수 있다. Sparse Attention 구현은 인접 리스트 기반 연산이나 샘플링 기법을 사용하여 계산량을 줄이는 방식으로 가능하다. 노드 특성 초기화는 주로 원본 노드 속성(feature vector) 또는 임베딩 벡터를 사용한다.

GAT의 한계로는 대규모 그래프에서 연산량이 급증한다는 점과, 깊은 레이어 사용 시 Over-smoothing 문제가 발생한다는 점이 있다. 이를 개선한 모델로는 Attention 계산 방식을 단순화하고 성능을 향상시킨 GATv2, 연산 효율성을 높인 Efficient GAT 등이 있다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*