GNN
GNN구조
: 입력 그래프에 대한 임베딩을 생성한다.
: 그래프단위의 출력을 만드는 경우에만 존재하는 계층으로써 그래프 전체의 임베딩을 생성한다.
: 주어진 노드 또는 그래프 임베딩에 대해 출력이 계산된다.
GNN은 3 가지 연산 과정을 거친다.
인접 노드의 임베딩 벡터를 요약한다.
a1 = aggregate(노드1, 노드2)
-> 노드1과 노드2의 정보를 요약하여 a1에 담음
해당 본인 자신의 k가 1 인 첫 번째 노드에 해당되는 임베딩 벡터를 컴바인 한다.
h1 = combine(a1, 노드3 )
-> 인접 노드3에 대하여, 요약된 정보 a1과의 combine을 함
모든 노드들의 hidden vector를 뽑아서 하나의 vector로 만든다.
-> h1, h2, h3, h4 들의 벡터들 하나의 벡터로 만듬
Whi에 있는 노드들을 선형변환 ( linear transform )하여 벡터로 바꾼뒤,
활성화 함수 를 거쳐,
softmax를 취한후 attention score를 구한다.
그후 노드의 hidden 값들과 가중합하여,
attention을 수행함.