GNN 성능 향상 : Batch Normalization

강하예진(Erica)·2023년 4월 30일
0

Graph Neural Network

목록 보기
5/10

배치 정규화(Batch Normalization)는 짧게 요약하자면 모델의 학습 속도와 정확도를 향상시키기 위해 각 GraphSAGE 레이어 이후에 적용하는 정규화 기법이다.

조금 더 자세히 풀어쓰자면 딥러닝 학습 과정에서 가중치의 변화에 따른 activation function 의 출력 분포를 일정하게 유지하는 방법이다. 각 레이어의 출력을 정규화하며, 평균이 0이고 분산이 1인 정규분포를 따르도록 조정한다. 따라서 GraphSAGE 레이어 이후에 적용할 수 있다.

개념 심화

배치 정규화(Batch Normalization)는 딥러닝 모델의 학습 과정에서 가중치의 변화에 따른 활성화 출력 분포를 일정하게 유지하는 방법이다. 이는 모델 학습에 있어서 안정성을 높이고, 학습 속도를 향상시키는 효과가 있다. 배치 정규화는 각 레이어의 출력을 정규화하는 과정으로, 평균이 0이고 분산이 1인 정규분포를 따르도록 조정한다.
배치 정규화는 신경망의 각 레이어에서 활성화 출력 분포를 정규화하는 기법으로, 학습 과정에서 내부 공변량 변화를 감소시키고, 적응적 학습률 효과를 가져와 학습 속도와 정확도를 향상시키는 데 도움이 된다. 배치 정규화는 실제로 미니배치(mini-batch) 단위로 적용되지만, 이는 분포를 정규화하는 과정에서 미니배치의 통계치를 사용하기 때문이다.

성능 향상 원리

  1. 내부 공변량 변화(covariate shift) 감소:
  • 학습 과정에서 이전 레이어의 가중치 변화로 인해 활성화 출력 분포가 바뀌는 현상을 covariate shift(내부 공변량 변화)라고 하는데, 이 현상으로 인해 모델 학습이 불안정해지고, 학습 속도가 느려진다. 배치 정규화는 이전 레이어의 출력 분포를 일정하게 유지함으로써 내부 공변량 변화를 감소시켜 학습 속도를 향상시키고, 학습이 안정적으로 이루어질 수 있게 돕는다.
  1. 적응적 학습률(adaptive learning rate) 효과:
    배치 정규화는 각 레이어의 출력을 정규화함으로써, 가중치가 큰 값을 가지는 경우에도 기울기 소실(gradient vanishing)이나 폭주(gradient exploding) 문제를 줄일 수 있다. 이는 각 가중치에 대해 적응적 학습률을 사용하는 것과 유사한 효과를 가져와서 학습 속도를 개선하고, 정확도를 높이는 데 도움이 된다.

  2. 과적합(overfitting) 방지:
    배치 정규화는 노이즈가 있는 효과를 가져와서 일종의 규제(regularization) 역할을 한다. 이로 인해 모델이 과적합되는 것을 방지하고 일반화 성능을 향상시킬 수 있다.

profile
Recommend System & BackEnd Engineering

0개의 댓글