주뇽's 저장소

10. GNN 학습(3) Supervised vs UnSupervised CS224W: Machine Learning with Graphs 정리 본문

GNN/CS224

10. GNN 학습(3) Supervised vs UnSupervised CS224W: Machine Learning with Graphs 정리

뎁쭌 2024. 4. 15. 22:21
728x90
반응형

https://web.stanford.edu/class/cs224w

목차

1. GNN 학습(3) Supervised vs UnSupervised

- Supervised 

- UnSupervised

 

2. Training Piepeline

- Loss Function

    - Classificaion Loss

    - Regression Loss

    - Evaluation metrics

 

👉 1. GNN 학습(3) Supervised vs UnSupervised

- Supervised

지도학습은 그래프 외부에서 얻은 레이블 정보를 활용하는 방식이다. 예를 들어 인용 네트워크 그래프에서 각 노드(논문)가 어떤 주제 분야에 속하는지를 예측하는 문제에서는 외부에서 제공되는 논문의 주제 분야 정보가 레이블로 사용될 수 있다. 트랜잭션 그래프에서 에지가 사기성 거래인지 여부를 판단하는 문제나, 분자 그래프의 약물 적합성을 예측하는 문제 등에서도 외부에서 주어지는 레이블 정보를 활용하는 지도학습 방식이 적용될 수 있다.

 

예시

  • 제약회사에서 신약 후보 물질들의 분자 구조 그래프 데이터와 함께 각 물질의 독성 여부 정보를 제공했다고 가정해 보자. 이때 분자 구조는 그래프로, 독성 정보는 레이블로 활용해 독성 예측 모델을 만들 수 있다. 모델이 분자 구조를 보고 독성을 정확히 예측하도록 학습시키는 것이 목표가 된다.
  • 소셜 네트워크 그래프에서 각 사용자 노드가 어떤 정치적 성향을 가지는지 레이블이 수집되었다고 가정해 보자. 이때 사용자들 간의 친구 관계(에지)와 정치 성향 레이블을 활용해 정치 성향 예측 모델을 학습시킬 수 있다.

- UnSupervised

그래프 그 자체에서 학습 신호를 찾아내서 활용하는 방식이다. 외부 레이블 없이 오직 그래프 정보만 있는 상황에서 유용하게 사용될 수 있다. 예를 들어 그래프 군집 계수(Clustering Coefficient), 페이지랭크(PageRank) 등 노드의 통계적 특성을 예측하도록 학습시킬 수 있다. 또한 에지 예측(Link Prediction) 문제처럼 기존 에지 정보 일부를 가려놓고 존재 여부를 맞추도록 할 수도 있다.

그래프 동형(Isomorphism) 여부를 판단하는 것 역시 비지도 학습의 예시가 될 수 있다. 이처럼 그래프 자체에서 정답 신호를 이끌어내는 비지도 학습 방식을 "자기지도학습(Self-Supervised Learning)"이라고도 부른다.

 

예시

  • 논문 인용 네트워크 그래프만 있고 논문 주제 분야 정보는 없다고 가정해 보자. 이때 인용 그래프 구조를 분석해서 비슷한 주제일 것으로 예상되는 논문 클러스터를 찾아낼 수 있다. 유사한 논문은 서로 많이 인용할 것이라는 가정이 바탕이 된다. 이는 그래프 구조 자체를 활용한 비지도학습이라 할 수 있다.
  • 단백질 구조 그래프 데이터에서 각 노드의 중심성(Centrality)을 예측하는 모델을 학습시킨다고 가정해 보자. 단백질 기능에 중요할 것으로 예상되는 중심성 높은 노드를 찾아내는 것이 목표일 때 중심성은 그래프 구조 자체에서 계산되는 것이므로 외부 레이블 없이 학습이 가능한 비지도 학습 사례이다.

이처럼 그래프와 함께 외부에서 수집된 정답 레이블을 활용하느냐, 아니면 Pure하게 그래프의 내재적 특성만을 활용하느냐에 따라 지도학습과 비지도학습으로 나뉜다.

다만 현실에서는 두 방식의 경계가 모호한 경우도 많고, 문제에 따라 두 방식을 함께 활용하기도 한다. 예를 들어 지도학습으로 학습된 모델을 일종의 특성 추출기로 활용해 비지도학습을 수행할 수도 있다. 응용 상황에 맞게 적절한 방식을 택하는 것이 중요하다.

 

👉 2. Training Piepeline

Evaluation metrics

- Loss Function

 분류 문제와 회귀 문제에 따라 사용되는 손실 함수가 달라진다.
분류 문제에서는 크로스 엔트로피(Cross Entropy) 손실 함수가 주로 사용된다. 노드 분류, 에지 분류 등 다양한 분류 태스크에 적용될 수 있다.

크로스 엔트로피 손실 함수는 다음과 같이 정의된다.


CE(y, ŷ) = -Σ y_j * log(ŷ_j)

- y는 정답 레이블의 원핫인코딩 벡터
- ŷ는 모델이 예측한 각 클래스에 대한 확률값 벡터
- j는 클래스의 인덱스

원핫인코딩된 정답 레이블과 예측 확률값 간의 차이를 각 클래스별로 계산한 뒤 더해줍니다. 정답 클래스에 대한 예측 확률이 높을수록, 손실값은 작아지게 된다.

회귀 문제의 경우 실숫값으로 이뤄진 예측값과 정답값 간의 차이를 제곱하여 손실을 계산하는 MSE(Mean Squared Error) 손실 함수가 대표적이다.

MSE(y, ŷ) = (1/n) * Σ (y_i - ŷ_i)^2

- y_i는 i번째 데이터의 실제 정답값
- ŷ_i는 i번째 데이터의 예측값
- n은 전체 데이터의 개수

각 데이터마다 정답과 예측값의 차이를 제곱한 뒤, 모두 더해서 데이터 개수로 나눠준다. 차이가 클수록 손실값이 커지게 된다.

- Evaluation metrics

모델이 학습을 마친 후, 해당 모델이 실제로 얼마나 좋은 성능을 내는지 평가하기 위해서는 적절한 평가 지표를 사용한다.
강의자료에서는 그래프 신경망 모델의 평가를 위해 사용되는 대표적인 평가 지표들을 소개하고 있다.

 

먼저 회귀 문제를 위한 평가 지표로는 RMSE(Root Mean Squared Error)와 MAE(Mean Absolute Error)가 있다.


RMSE는 MSE에 제곱근을 씌운 것으로, 예측값과 실제값 간의 차이를 제곱한 뒤 평균내어 제곱근을 씌운 값이다. MAE는 예측값과 실제값의 차이에 절댓값을 씌운 뒤 평균낸 값입니다. 두 지표 모두 작을수록 모델의 예측 성능이 좋다고 해석할 수 있다.

분류 문제의 경우에는 Accuracy, Precision, Recall, F1-score 등의 지표가 사용된다. 

Accuracy는 전체 예측 중 맞힌 예측의 비율을 나타낸다. Precision은 모델이 특정 클래스로 예측한 것 중 실제로 해당 클래스인 것의 비율, Recall은 실제 특정 클래스인 것 중 모델이 해당 클래스로 예측한 것의 비율이다. 

F1-score는 Precision과 Recall의 조화평균으로, 두 지표를 동시에 고려할 수 있는 지표이다.

이진 분류 문제에서는 위 지표들과 함께 ROC AUC 지표도 널리 사용된다. ROC 곡선은 모델의 예측 임계값을 변화시켜가며 True Positive Rate와 False Positive Rate의 변화를 나타낸 곡선이다. 이 곡선 아래의 면적을 구한 것이 AUC 지표이며, 1에 가까울수록 좋은 성능을 나타낸다.

 

 

 

📝 정리



분류 문제에서의 GNN 학습과 평가

1. 학습 방법
   - 지도학습: 노드, 에지, 그래프에 대한 레이블 정보를 활용하여 모델을 학습
   - 자기지도학습: 그래프 구조 자체의 패턴을 파악하여 모델을 학습 (예: 링크 예측, 그래프 클러스터링 등)

2. 손실 함수
   - Cross Entropy(크로스 엔트로피) 손실 함수가 주로 사용됨
   - 모델의 예측 확률 분포와 실제 레이블 간의 차이를 최소화하는 방향으로 학습

3. 평가 지표
   - Accuracy(정확도): 전체 예측 중 맞힌 예측의 비율
   - Precision(정밀도): 모델이 특정 클래스로 예측한 것 중 실제로 해당 클래스인 것의 비율
   - Recall(재현율): 실제 특정 클래스인 것 중 모델이 해당 클래스로 예측한 것의 비율
   - F1-score: Precision과 Recall의 조화평균
   - ROC AUC: 이진 분류 문제에서 모델의 성능을 종합적으로 평가하는 지표

회귀 문제에서의 GNN 학습과 평가

1. 학습 방법
   - 지도학습: 노드, 에지, 그래프에 대한 연속적인 목표값을 활용하여 모델을 학습

2. 손실 함수
   - Mean Squared Error(MSE, 평균 제곱 오차) 손실 함수가 주로 사용됨
   - 모델의 예측값과 실제 목표값 간의 제곱 오차를 최소화하는 방향으로 학습

3. 평가 지표
   - Root Mean Squared Error(RMSE): MSE에 제곱근을 씌운 값으로, 예측값과 실제값 간의 차이를 제곱한 뒤 평균내어 제곱근을 씌운 값
   - Mean Absolute Error(MAE): 예측값과 실제값의 차이에 절댓값을 씌운 뒤 평균낸 값
   - RMSE와 MAE 모두 작을수록 모델의 예측 성능이 좋다고 해석할 수 있음

분류와 회귀 문제 모두에서 GNN은 그래프 구조와 노드 특성을 함께 고려하여 학습하고 예측할 수 있다. 다만 문제의 유형에 따라 사용되는 손실 함수와 평가 지표가 달라진다. 분류 문제에서는 크로스 엔트로피 손실 함수와 Accuracy, Precision, Recall, F1-score 등의 지표가, 회귀 문제에서는 MSE 손실 함수와 RMSE, MAE 등의 지표가 주로 활용된다. 

문제의 특성을 고려하여 적절한 학습 방법과 평가 체계를 선택하는 것이 GNN 모델의 성능을 높이는 데 중요한 역할을 한다.