노이즈 데이터를 가지고 curriculum learning 방식으로 학습하여 성능향상을 도모해보자.란 논문
그 대상인 데이터는 텍스트 쿼리로 수집한 매우 큰 웹 스케일의 데이터를 대상
기존 curriculum learning방식이 아닌 새로운 방식 제안
feature space에서 분산 밀도(distribution density)를 이용하여 그 데이터(여기서는 앞에서 언급한 수집된 학습셋인듯)에 대한 complexity를 측정하여 curriculum learning 적용한 방식. > 이때 complexity는 unsupervised 방식으로 ranking된다.
왜이리 어렵게 설명한것인지. > 이 의미같다. 즉, 텍스트 쿼리로 수집한 매우 큰 웹 스케일의 데이터는 매우 크고 더구나 노이즈가 많은 데이터로 구성된다. 이 데이터를 그냥 사용하는것보다 K-means(unsupervised 방식)같은 방법으로 그 데이터들을 중요도(complexity)를 측정하여 curriculum learning에 적용해 보니 좋은 성능이 나온다란 의미인듯~
따라서, 이 논문은 curriculum learning 방식을 변화시키거나 하는것이 아니라, noise label을 가진 데이터셋이 있는데, 이를 unsupervised 방식으로 재구성하여 이 논문이 주장하는 방식과 섞어서 curriculum learning 방식대로 적용.
curriculum learning 학습은 별개아니라, 교과과정?, 측 우리는 배울때 쉬운과정부터 배우고 점점 학년이 올라갈때마다 그 교과과정이 어려운과정으로 바뀌어 학습한다. 이같은 방식을 curriculum learning 방식이라 부름.
이런방식으로 다양한 benchmark dataset 이용하여 측정해보니 기존 방식보다 좋음.
CurriculumNet 전체 과정
크기 위의 그림대로 3단계
initial features generation
curriculum design
curriculum learning
initial features generation
단순히 imagenet으로 학습 시킨 deep fc feature
curriculum design
실제 이논문에서 가장 중요한 개념중의 하나.
한 클래스 단위에서, subset으로 나누는 과정이다.
요란한 식으로 구분되어 있는데, 실제로는 그리 어려운 개념은 아님)
initial features generation 뽑힌 feature를 가지고 있음을 전제함. = Inception v2 fc-layer features =
이를 이용하여 distance를 구한다. = (a Euclidean distance matrix)
n은 현재 카테고리안에 이미지 개수
는 Pi 와 Pj사이의 Similarity
그리고 이를 이용하여 local density를 다음과같이 구한다.
where
는 D를 오름차름 순서로 sorting(n^2 distance)함으로써 계산. 여기에서, 랭크 몇(?) %포함하는선에서 선택한다. > 상위 몇개포함한 선에서 선택하는듯 논문에서는 60
local density(p_i) is the number of samples whose distances to i is smaller than
일단 이런식으로 노이브 라벨 이미지중에 너무 관련 없는 이미지들도 제거하는 측면도 있는것으로 보임.
이를 이용하여 카테고리안에 density정도를 위한 set를 구성해야 위한 distance를 다음과 같이 정의
이 의미는 한 카테고리안에 노이즈 정도별 group 즉, subset를 만들어야한다는 의미.
수식 3은 clustering 알고리즘으로 대체하는듯 - kemans
정리하면, 어렵게 써놨는데, kemans 로 clustering하고 각 cluster(subset)에 대한 density를 구하여 난이도(?) 구분 > 이는 밑의 예제에서.. 밑의 그림 cat 카테고리를 3가지 subset 나눈걸 볼 수있는데, density를 볼수 있음. density가 높을수록 쉬운(?) subset으로 선택.
한 카테고리안에 3가지 subset으로 구분하는데 이를 k-means로 clustering하고 이렇게 구분된 subset density들을 위의 식으로 구하게 된다. 즉, density 높은 subset은 clean data에 가깝다.
이렇게 3가지 subset를 구분함.
의문) 그냥 가장 크게 모이는 cluster를 clean set으로 하면, 그리고 density나 수가 많다라고 해도 noise가 많은 경우가 발생하지 않을까??
다음 그림은 cat 카테고리를 3가지 subset으로 구분한 케이스
curriculum learning
curriculum learning 개념을 그대로 가져간다.
즉, 3번의 학습 과정을 거친다.
이때 3번은 각각 따로 subset1, subset2, subset3 구분된 데이터를 이용하여 학습을 가져가는게 아님.
첫번째는 노이즈가 거의 없는 subset1
두번째는 노이즈가 조금 있는 subset2를 포함시킨 subset1+subset2
세번재는 노이즈가 더 포함된 subset3를 포함 시킨 subset1+subset2+subset3
개념을 그대로 가져간다는 의미가 점점 어려운 > 노이즈가 많이 포함된 데이터를 구성시키면서 학습.
참고 - 첫번째 학습은 그대로 imaegnet pr-trained model를 이용하는듯~
https://arxiv.org/abs/1808.01097