이번에는 준지도학습을 GCN에 적용한 것을 논문을 통해 공부해 보았다.
Semi-Supervised Classification With GCN에 대해 공부하기 전에 semi-supervised learning에 대한 개념부터 정리해 보았다.
Semi-Supervised Learning
개념
적은 label data가 있으면서 추가로 활용할 수 있는 대용량의 unlabeled data가 있다면 semi-supervised learning을 고려해야 한다. 소량의 labeled data에는 supervised learning을 적용하고, 대용량 unlabeled data에는 supervised learning을 적용해 추가적인 성능향상을 목표로 하는 방법론이다. 이런 방법론에 내재되는 믿음은 label을 맞추는 모델에서 벗어나 데이터 자체의 본질적인 특성이 모델링 된다면 소량의 labeled data를 통한 약간의 가이드로 일반화 성능을 끌어올릴 수 있다는 것이다.
[그림1]을 보면 supervised learning의 decision boundary는 사실상 optimal 하지 않다. unlabeled data를 활용하여 데이터 자체의 분포를 잘 모델링한다면 오른쪽 semi-supervised learning 그림처럼 더 좋은 decision boundary를 얻을 수 있다.
Loss Function
semi-supervised learning의 loss function은 supervised loss와 unsupervised loss의 합을 최소화하는 것으로 표현할 수 있다. supervised, unsupervised를 1-stage로 학습하는 것이다. 소량의 labeled data에 적용하는 supervised loss의 경우, target이 discrete value인지 continuous value인지에 따라 classification loss/regression loss를 선택하여 학습한다. 대용량 unlabeled data는 unsupervised loss를 주어 데이터의 특성에 대해 학습한다.
Assumption
- The smoothness assumption
- 만약 데이터 포인트 x1과 x2가 고밀도 지역에서 가까이 위치한다면, 해당하는 출력 y1과 y2도 가까워야 한다.
- The cluster assumption
- 만약에 데이터 포인트들이 같은 cluster에 있다면, 그들은 같은 class일 것이다.
- 이 가정이 성립한다면, 하나의 cluster는 하나의 class를 나타낼 것이다.
- 만약에 데이터 포인트들이 같은 cluster에 있다면, 그들은 같은 class일 것이다.
- The manifold assumption
- 고차원의 데이터를 저차원 manifold로 보낼 수 있다.
- 고차원의 공간상에서 generative task를 위한 진짜 data distribution은 추정하기 어렵다.
- 또한, discriminative task에서도 고차원에서는 class 간의 distance가 거의 유사하기 때문에 classification이 어렵다.
- 만약, data를 더 낮은 차원으로 보낼 수 있다면, 우리는 unlabeled data를 사용해서 저차원 표현을 얻을 수 있고 labeled data를 사용해서 더 간단한 task를 풀 수 있다.
- 고차원의 데이터를 저차원 manifold로 보낼 수 있다.
Method
대용량 unlabeled data를 어떻게 학습에 사용할 것이냐의 관점에서 다양한 semi-supervised learning의 방법론이 등장했다. 대부분 이미지 데이터의 classification task에 적용하여 supervised learning 대비 성능을 많이 향상시켰다는 결과를 확인했다.
방법론에는 'Entropy Minimization', 'Proxy-label Method', 'Generative Models', 'Consistency Regularization(Consisteny Training)', 'Holistic Methods', 'Graph-Based Methods'가 있다. 방법론 중 'Graph-Based Methods'에 대해서 간략하게 설명하고자 한다.
Graph-Based Methods
Graph based semi-supervised learning은 unlabeled data의 label을 알고 싶다는 것에서 출발한다. unlabeled data로 labeled data의 예측성능을 올리고 싶어하는 다른 방법론들과는 다른 목표를 가진다. 대표적인 방법으로 graph의 노드로 {labeled, unlabeled} 데이터를 표현하고 노드들 사이의 유사도를 기준으로 유사도 가중치가 높은 이웃으로 건너 건너 label을 추정하는 label propgation이 있다.