본문 바로가기

인공지능

메타비지도학습 CACTUs

UNSUPERVISED LEARNING VIA META-LEARNING 논문을 참고하였다.

메타비지도학습은 레이블이 없는 훈련데이터를 통해 훈련 후

적은 수의 레이블이 있는 메타테스트 데이터를 통해 support셋을 훈련하여

query셋을 맞추게 할 수 있다.

메타테스트 데이터셋이 다운스트림 태스크 데이터셋이 될 수 있고

M-way 분류 테스크 일 수 있다.

레이블되지 않은 메타 훈련셋에서 비지도 학습을 통해

M개의 클래스들을 분류한 후

K개의 레이블된 데이터셋을 사용해서

support셋을 훈련하고 query셋에서

데이터의 레이블을 맞추게 할 수 있다.

 

데이터셋 정의

$\mathcal{D} = \{x_i\}$

레이블이 없는 비지도 학습은

입력데이터를 복사해서 출력데이터로 설정하여

입력한 데이터 그대로를 복원하도록 훈련하는 과정에서

저차원에 매핑되는 임베딩 $\{z_i\}$를 생성할 수 있는데

이와 같은 구조는 오토인코더이다.

 

태스크 정의

M-way K-shot 분류 태스크 $\mathcal{T}$는

K개의 훈련 데이터포인트를 가지고 있고

각 클래스마다 $\{(x_k, l_k)\}$형태로 레이블을 가지고 있다.

Q개의 쿼리 데이터포인터에서도 같다.

태스크안에 M개의 클래스 각각

K+Q=R개의 데이터포인트와 레이블이 존재한다.

 

태스크 생성

N-way 분류 태스크 $\mathcal(T)$를 만들기 위해

N개의 클래스를 샘플할 수 있고

각 N개의 클래스마다 R개의 데이터 포인트를 생플링할 수 있다.

$\{x_r\}_n$

N개의 샘플된 클래스들의 task-specific 레이블로서 제공하기 위해

N개의 뚜렷한 one-hot vector ($l_n$)의 순열을 샘플함.

태스크는 다음과같이 정의 됨

$\mathcal{T} = \{(x_{n, r}, l_n) |  x_{n, r} \in {x_r}_n\}$

물론, 이 과정은 레이블된 데이터에서 가능하다.

어떻게 ground-truth레이블 없이 태스크를 만들 수 있는지 알아보자.

 

자동으로 태스크를 만듦에 의한 비지도 메타 러닝

메타러닝 관점으로부터 문제에 접근한다.

인간이 디자인한 태스크로 전이할 수 있는 효율적인 학습 과정으로서

레이블되지 않은 데이터로부터 습득으로서 문제를 프레이밍 하는 것

레이블되지 않은 데이터로부터 분류 태스크를 만드는 것을 목표로한다.

그리고 어떻게 효율적으로 이런 태스크들을 학습하는지 학습한다.

만약 그러한 태스크들이 적절하게 다양하고 구조화되어있다면

이런 태스크들을 메타러닝하는 것은 새로운 사람이 제공한 태스크들을 빠르게 학습

해야한다.

핵심 질문은 어떻게 자동으로 레이블되지 않은 에디터로부터 그러한 태스크들을 만드는가이다.

레이블 $y_i$는 $\{x_i\}$ 전반에 모든 레이블$y_c$가 달려있는

데이터포인트들에 서브셋 $\mathcal{C}_c$를 할당해서

파티션 $\mathcal{P} = \{\mathcal{C}_c\}$를 유도한다.

파티션이 얻어지면

태스크 생성은 간단하다.

 

접근법은 랜덤하게 데이터를 분할하는 거다.

그러한 책략은 다양한 태스크들을 소개한다.

구조가 없다.

태스크의 훈련 데이터와 쿼리 데이터 사이에 일관성이 없다.

이런 이유로 아무것도 각 태스크 훈련시간에 학습될 수 없다.

위 테이블에서

순수하게 랜덤 태스크를 메타 러너에게 제공하는 것은 메타 러닝을 실패시킨다.

 

태스크들을 인간이 명시한 라벨처럼 구조화시키기 위해서

데이터포인트를 가장 중요한 특징에 기반해

일관성 있고 뚜렷한 서브셋들로  그룹화할 필요가 있다.

그래서 k-means 클러스터링을 제안한다.

가우시안 믹스쳐 모델 $p(x|c)p(c)의 단순화로서

k-means에 의해 학습된 파티션 $\mathcal{P} = \{\mathcal{C}_c\}$를 생각하자.

클러스터가 진짜 클래스 조건부 생성 분포 $p(x|c)$를 복원할 수 있다면

클래스들로서 이런 클러스터들을 다루는 것에 기반해서 태스크를 창조하는 것은

유용한 비지도 메타 훈련을 결과로 낳는다.

그러나, k-means의 결과는 목적함수가 정의되는 메트릭 공간에 의존한다.

픽셀공간에서 클러스터링을 하는 것은 두 가지 이유때문에 좋지 않다.

1. 픽셀공간에서 거리는 semantic meaning과 잘 상응하지 않는다.

2. 날 이미지의 고차원은 현실적으로 클러스터링을 어렵게한다.

실험적으로 픽셀 공간에서 클러스터링을 함에 의해 정의되는 태스크들의 성능을 테이블에서 볼 수 있다.

 

먼저 $\mathcal{D}$에서 격이다른 비지도 임베딩 학습 알고리즘 $\mathcal{\epsilon}$을 실행한다.

그리고 데이터 $\{x_i\}$를 임베딩 공간 $\mathcal{Z}$에 $\{z_i\}$를 생성하기 위해 매핑한다.

다양한 태스크 집합을 생성하기 위해, 클러스터링을 $P$회 실행함에 의해서

클러스터링의 각 실행을 위해 주대각 행렬 $A$에 의해 표현되는

$P$개의 파티션 $\{mathcal{P}_p\}$를 생성한다.

다른 매트릭을 유도하기 위해 $mathcal{Z}$의 차원으로 랜덤 스케일링하는 것을 적용한다.

클러스터$mathcal{C}_c$의 학습된 센트로이드를 $\mu_c$라고 표시하면서

단일 클러스터링 실행은 다음 식으로 요약될 수 있다.

분류를 위한 CAUTUs를 실행하는 알고리즘은 다음과 같다.

 

'인공지능' 카테고리의 다른 글

Abstract Reasoning  (0) 2023.02.07
forward-forward algorithm  (0) 2023.02.06
메타지도학습  (0) 2023.02.02
Long-term episodic memory networks  (0) 2023.02.01
엔드 투 엔드 메모리 네트워크  (1) 2023.02.01