본문 바로가기
AI · 인공지능/AI 칼럼

완전 비지도 학습으로 라벨링과 특징 표현을 모두 스스로 학습하는 'SeLa'

by 두우우부 2020. 5. 10.
반응형

 

✔️ DeepCluster를 뛰어넘는 자기 지도 표현 학습의 새로운 방법 'SeLa' 제안

✔️ 표현 학습과 자기 라벨링에 공통의 학습 목표를 정하고 최적 수송 문제로 공식화
✔️ SVHN, CIFAR-10, CIFAR -100, ImageNet에서 DeepCluster를 웃도는 결과

Self-labelling via simultaneous clustering and representation learning
written by  Yuki Markus Asano Christian Rupprecht Andrea Vedaldi
(Submitted on  13 Nov 2019 ( v1 ), last revised 19 Feb 2020 (this version, v3) )

Comments : Published by ICLR 2020
Subjects :  Computer Vision and Pattern Recognition (cs.CV) ; Neural and Evolutionary Computing (cs.NE)

SELF-LABELLING VIA SIMULTANEOUS CLUSTERING.pdf
9.31MB

 

시작하기

자기 지도 학습으로 유용한 표현을 학습하는 새로운 방법입니다. 선행 연구로 Twitter 등에서도 화제가 되었던 Deep Cluster라는 것이 있습니다. 이 기법은 의사 라벨의 발견과 그것을 사용한 학습 과정을 반복하여 최적화를 실시해 나갑니다.

 

여기에서 클러스터링과 표현 학습을 일반적 목적에 따라 최적화함으로써 기존 기술을 개선하고, 특히 클러스터링의 목적을 최적 수송 문제로 공식화하는 점이 새로운 부분입니다. 제안된 방법은 다양한 실험을 통해 DeepCluster의 성능을 능가하고 있다는 것을 보여줍니다.

 

실제로 라벨 없는 데이터 세트로부터 학습을 시작하여 얻은 결과가 그림 a의 카테고리 분류입니다. 라벨 없이도 이런 일이 가능합니다. 다양성이 좀 더 제한된 데이터 세트라면 보다 우수한 결과가 나올지도 모릅니다.

 

그림 a : SeLa로 학습하고 얻은 클래스 분류의 예

 

기술적 과제

비지도 학습시 클러스터링과 표현 학습의 조합은 가장 유망한 방법 중 하나가 되었습니다. 라벨 정보가 없는 상태로 시작해서 데이터 라벨을 발견해 가면서 네트워크를 함께 학습하는 것은 클러스터링과 표현의 동시 학습으로 가능합니다. 기존의 기술인DeepCluster는 이를 크로스 엔트로피의 최소화 및 K-means 등의 기존 클러스터링 알고리즘을 결합하여 제공합니다.

 

그림 b : DeepCluster 아키텍처 (의사 라벨을 사용하여 학습)

 

이 자가 라벨링은 네트워크 매개 변수 및 라벨 에 대해 공동으로 아래의 식(1)을 최적화해 나감으로써 달성합니다.

 

(1)

여기서 중요한 것은 완전 비지도(라벨 없는) 학습의 경우 의사 라벨의 정의를 Zero부터 발견해 나가야 한다는 것입니다. 이 경우 단순히 목적 (1)에 따라 학습을 해도 본래의 의도한 학습은 되지 않습니다(예를 들어, 모든 데이터 포인트를 하나의 클래스에 모두 할당하면 오차는 사라집니다만, 결국 이래가지고는 하나의 클래스로 분류하고 마는 퇴보한 솔루션으로 끝나고 맙니다). 그림 a 및 식(1) 만으로는 전체적인 학습 목표의 최적화를 보여줄 수 없기 때문에 개선의 여지가 존재합니다.

 

이 기술적인 개선사항에 대처하기 위해 저자는 클러스터링과 표현학습을 동시에 최적화하는 새로운 원리를 공식화했습니다.

 

본 논문의 개요

본 논문에서는 DeepCluster처럼 클러스터링에 의해 생성된 가짜 의사 라벨을 사용하여 학습을 실시합니다. 제안된 기법의 차이점은 클러스터링과 표현 학습, 양쪽에 동일한 목표를 설정하는 것입니다.

 

여기서 자기 라벨링(클러스터링)과 표현 학습의 동시 학습을 위해 같은 목적함수를 설계하고 최적 수송 문제로 공식화하고 있는 점이 새로운 제안이며, 이 논문의 주요 아이디어입니다.

 

기술 과제의 어프로치

위에서 기술적 과제로, 모든 데이터를 단일 클래스에 할당하는 퇴보한 해법에 빠지는 문제를 꼽았습니다. 이에 대처하기 위해 학습 목적에 "데이터를 등분하여 각 카테고리로 나눈다"는 제약조건을 추가했습니다. 이 간단한 방법으로 1개의 범주로 정리되어 버리는 문제를 해결한 것이 핵심 아이디어입니다.

 

K 카테고리일 때, 학습 목표는 아래 식으로 표현됩니다. 먼저 자기 라벨의 최적화를 위해 라벨을 사후 분포 q(y|xi)로 해서 q(y|xi)로 인코딩하여 (식 2), 대한 제약을 둔 최적화 목표를 설정합니다(식 3).

 

(2)
(3)

※ 표기 : 요소 1의 n차원 벡터를 나타냅니다.

 

식 (3)의 조건에 따라  K차원 벡터로, 하나의 요소만 1이 됩니다. 즉, 각 데이터 포인트마다 정확히 하나의 라벨을 할당하여 전체적으로 N개의 데이터 포인트가 K개의 카테고리로 균등하게 분할되는 것을 의미합니다.

 

그리고 식(3)의  와 p 모두를 최적화하는 학습 목표인 것이 명백합니다. 이러한 학습 목표의 설정에 따라 자동 라벨링(클러스터링)과 표현 학습에 공통의 목표를 설정한 동시 학습을 달성하고 있습니다.

 

최적 수송 문제의 공식화

여기서, 식(3)은 q의 조합도 포함하기 때문에 최적화가 매우 어렵게 느껴지지만, 이것은 최적 수송 문제의 예로 해석할 수 있기 때문에 효율적으로 해결할 수 있다는 것이 저자의 주장입니다.

 

수송 문제는

가 주어졌을 때 수송의 총비용  최소화하는 P ∈ U(a, b)를 구하는 것입니다( 두 행렬의 Frobenius 곱).

 

우선

를 모델에 의해 추정된 동시 확률의 K x N 행렬로 하여, 마찬가지로 

를 할당된 동시 확률의 K x N 행렬로 만듭니다. 

 

다음으로 행렬 Q의 조건을 완화하여 식(4)와 같이 수송 다포체(Polytope : 다각형이나 다면체 등의 도형을 임의의 차원으로 확장한 것을 의미) 요소로 나타낼 수 있습니다.

 

(4)

여기서,

이며, Q는 데이터를 균일하게 분할하는 조건부 확률분포 행렬을 나타냅니다.

 

프로베니우스(Frobenius)

를 사용하여、목적함수를 식(3)의 정수 시프트까지 보정합니다.

 

(5)

따라서, 학습 목적인 식(3)을 최적화하는 것은 아래의 식(6)의 최적 수송 문제를 푸는 것과 같은 것이 됩니다. 즉, 학습 목적은 식(6)이 됩니다.

 

(6)

이것은 선형계획 문제이므로 다항식 시간으로 해결할 수 있습니다. 그러나 실제로는 대규모 데이터 포인트와 클래스 수가 포함되어 있기 때문에 Sinkhorn-Knopp 알고리즘의 고속 버전을 사용하여 해결하고 있습니다. (자세한 내용은 생략하지만, 정규화 항을 도입하여 식 (6)의 최소화 식을 다음과 같이 쓸 수 있습니다)

 

(7)

※ 다소 복잡한 수식의 나열이 되어 버렸습니다만, 작은 행렬의 예를 직접 적어 보시면 의외로 간단한 것을 알 수 있습니다.

 

학습 단계

최종 학습 단계는 다음과 같습니다.

 

  1. 표현 학습
    • 현재 라벨의 할당 Q에 대해 네트워크 매개 변수를 식 (6)을 최소화하는 것으로 갱신
    • 일반적인 클래스 분류와 마찬가지로 크로스 엔트로피 손실을 사용하여 학습하는 것과 동일
  2. 자기 라벨링
    • 현재 모델에 대해 대수 확률 P를 계산
    • 그 다음, 아래의 식을 반복하는 것으로, 식 (7)을 사용하여

 

그 외

기존 방법과 마찬가지로, 실제 학습 시에는 다음 작업을 실시하고 있습니다.

  • Data Augmentation
    • 회전 및 스케일 변환 등도 같은 카테고리임을 학습하기 위하여
  • 멀티 태스크 설정
    • 다른 클러스터링 태스크 사이에서 공유되는 뛰어난 표현을 획득하기 위해
    • 태스크 나눔의 헤드( )를 준비함으로써 달성

 

실험 및 평가

실험 설정

제안된 학습 목표를 이용한 모델(SeLa)의 검증을 실시합니다.

 

Self-supervised 학습의 평가에서 표준으로 사용되는 벤치 마크에 따라서 ImageNet LSVRC-12 및 기타 소규모 데이터 세트를 사용하여 학습하고 MIT Places 데이터 세트에 전이 표현을 검증합니다. 아키텍처로는 Self-supervised 학습에서도 자주 사용되는 AlexNet 및 ResNet-50를 인코더 네트워크로 채용하고 있습니다.


평가 지표는 비지도 표현 학습의 평가로 표준 Linear Probes을 채용합니다. 이것은 학습된 표현을 사용하여 간단한 선형 분류기를 학습하고 다른 벤치 마크 데이터 세트의 어려운 태스크를 해결하여 성능을 검증하는 것입니다. 또한 비슷한 의도로 k근접법의 실험도 실시합니다.

 

실험 결과에 대한 비고

SeLa의 2가지 주요 하이퍼 매개 변수는 클러스터 개수 K와 ​​클러스터 헤드 T로, 이하의 실험에서는 SeLa [K x T]로 줄여서 표기하고 있습니다. 또한 실험은 여기서 언급한 것 이외에도 실시하고 있습니다만, 저자의 제안 기법의 성능 평가에 해당하는 부분만 발췌 하였습니다. 제안된 방법의 최적 구성을 찾는 실험 등은 생략하고 있기 때문에 관심이 있으시다면 논문을 참조하십시오.

 

학습된 표현의 평가

저자는 소규모 데이터 세트, 불균형 데이터 세트, 대규모 데이터 세트 등 다양한 실험을 통해 평가를 실시하고 있습니다. 각각의 결과는 다음과 같습니다.

소규모 데이터 세트 (CIFAR-10/100 SVHN)

표 6은 실험 결과입니다. 각 데이터 세트에서 SeLa에 의한 자기 감독 학습을 하고 하류에서 간단한 학습기를 연결하고 Linear Probes에 의한 평가를 실시합니다. 위쪽이 선형 식별기, 아랫부분이 가중 k근접법을 하류에 추가하여 학습한 결과입니다. 양쪽 모두 SL(SeLa)이 가장 높은 성능을 보여줍니다.

 

표 6 소규모 데이터 세트에서 표현 학습 실험

 

대규모 데이터 세트

대규모 벤치 마크 데이터 세트에서 Linear Probes에 의한 평가를 실시한 결과는 표 9와 같습니다. 제안된 방법 이외에 다양한 아키텍처와 결과를 비교하고 있습니다. c1~c5는 인코더 네트워크의 conv1 ~ conv5의 출력 특성 표현에 대응하여 각각 Linear Probes에 의한 학습 및 평가를 실시하고 있습니다.

 

표 9 대규모 데이터 세트에서 표현 학습 실험

 

요지로는 SeLa[3k×10]+Rot*는 AlexNet의 비지도 표현 학습에서 최고의 성능을 기록하고 있습니다(1.3% 향상). 또한 ImageNet supervised에서 Places로 수송한 결과보다 1.7% 높은 정밀도를 내고 있습니다.

 

불균형 데이터 세트 (CIFAR-10/100의 불균형 버전)

등분했던 제약조건이 데이터 세트의 근본이 되는 클래스 분포의 영향을 받는지를 이해하기 위해 CIFAR-10/100에서 인공적으로 만든 불균형 데이터 집합에 대해 실험을 실시하고 있습니다.

 

표 8에 결과를 보여줍니다. 학습 데이터 세트는 CIFAR-10로 구성된 3종류의 데이터 세트(위에서부터 차례대로 불균형 없음, 약한 불균형, 강한 불균형)를 사용하여 검증 데이터 세트로는 CIFAR-10/100을 사용하고 있습니다. 3개의 데이터 세트 각각에서 감독 학습, 제안된 방법(K-means), 제안된 방법(Sinkhorn-Knopp)을 비교하고 있습니다.

 

표 8 불균형 데이터 집합에서 표현 학습 실험

 

주목할만한 결과로 CIFAR-100 데이터 세트의 kNN 평가시 Supervised(지도 학습)의 베이스라인보다 높은 정확도를 보여줍니다. 이것은 지도 학습할 때의 과잉 적합이 원인일 가능성이 언급되고 있습니다(인간의 손에 의한 주석보다 모델에 의해 생성된 의사 라벨로 학습하는 것이 더 좋은 결과를 내는 예입니다). 또한 의사 라벨링을 위한 알고리즘에 SK최적화를 사용하면 모든 평가에서 k-means를 상회하는 우수한 결과를 내고 있습니다.


또한 제안된 방법은 등분 제약으로 인해 데이터 세트의 클래스 분포에 의존하지 않기 때문에 불균형 설정에 그다지 영향을 받지 않음을 알 수 있습니다.

 

라벨 전송

제안된 방법 SeLa의 우수한 특성은 자가 라벨에서 얻은 의사 라벨을 사용하여 다른 모델을 처음부터 학습할 수 있으며, 특히 아키텍처 간에도 라벨을 전송하여 성능 개선에 기여할 수 있다는 것입니다. 표 5는 실험 결과로 이를 보여줍니다.

 

표5 레이블 전송 실험 결과

 

표 5는 SeLa를 AlexNet에 적용하여 할당된 라벨을 사용하는 경우 동등한 정확도를 달성하면서도 더 짧은 epoch수로 AlexNet를 처음부터 학습할 수 있습니다. 즉, 수렴 성능이 높다는 것을 보여줍니다. 또한 SeLa[3k x 1]과 SeLa[3k x 10]을 ResNet-50에 적용하여 취득한 라벨을 사용하여 AlexNet을 학습함으로써 보다 높은 정밀도를 달성합니다. 그리고 다른 아키텍처 사이에서도 응용할 수 있다는 것을 보여줍니다.

 

다른 작업에 Fine-Tuning

주된 목적이었던, 학습된 표현을 사용한 타 작업의 학습 향상에 대해서도 검증을 실시하고 있습니다. PASCAL VOC(벤치 마크)에서 다수 클래스 분류, 물체 감지, 시맨틱 세분화의 3가지 태스크를 학습한 결과는 표 7과 같습니다. *는 AlexNet의 확대 버전을 사용한 것을 나타냅니다.

 

표 7 PASCAL VOC Fine-Tuningn 결과 (Cls %mAP, Det %mAP, Seg %mIU)

 

검출 및 분류에 있어서, SeLa는 모든 예에서 다른 방법에 비해 최고의 성능을 보여줍니다. 특히 SeLa*[3k×10]-+Rot는 VOC 검색 태스크에서 지도 학습을 하는 ImageNet의 베이스라인보다 뛰어난 정밀도를 내고 있습니다. 세분화에 있어서도 최고인 RotNet + retrieval* 과 거의 같은 결과를 보여줍니다.

 

이로부터, 학습된 네트워크가 다른 태스크에도 전용 가능한 유용한 특징 표현을 학습하고 있다는 것을 알 수 있습니다.

 

정리

지금까지 기술한 것처럼 새로 제안된 학습 목표가, 우수한 자가 라벨의 발견과 특성 표현의 학습에 좋은 결과를 가져온다는 것을 알 수 있었습니다.

 

실험 결과는 어디까지나 벤치 마크 모델을 사용하고 있으며, 획득 표현에 비해 가벼운 모델로 학습한 결과이므로, 실제 서비스에 적용하여 튜닝한 결과도 매우 궁금합니다.

 

자기 지도 학습의 발전은, 위에서 보는 바와 같이, 사람에 따라 어노테이션 된 정확한 라벨이 아니더라도 모델이 부여한 의사 라벨로도 충분히 학습할 수 있습니다(오히려 의사 라벨 쪽이 더 좋은...).

 

"데이터는 많이 쌓여있지만 어노테이션 코스트가 너무 높다"라고 하는 회사는 이러한 기술을 시험해 보신다면 재미있는 결과를 얻으실 수 있지 않을까요?

반응형