3개의 요점
✔️ 데이터셋의 '단위'를 정의하고 입도(粒度:Granularity)가 다양한 지표와 관련 있는 것으로 나타났다
✔️ '단위'는 CNN의 정확도, 전이 학습의 정확도, Few-shot 학습의 정확도와 높은 상관관계를 보였다
✔️ 학습 정확도뿐만 아니라 모델의 취약점(adversarial attack)과도 관련되어 있다는 것을 보여 주었다
Measuring Dataset Granularity
written by Yin Cui et.al
(Submitted on 21 Dec 2019)
subjects : Computer Vision and Pattern Recognition (cs.CV) ; Machine Learning (cs.LG)
시작하기
최근 딥러닝이 다양한 상황에서 사용되고 있습니다. 딥러닝은 이미지 인식을 비롯해 자연 언어 처리 · 음성 처리 등 다양한 작업에서 기존 기술을 압도하는 정밀도를 내고 있어 지금까지 인간이 하던 작업들이 딥러닝에 의해 대체되고 있습니다.
그러나 딥러닝을 잘 적용하려면 몇 가지 문제를 해결해야 합니다. 그 대표적인 예로, 딥러닝은 대량의 데이터가 필요하다는 것입니다. 대량의 데이터를 수집하고 분류하는 것은 매우 비용이 많이 드는 작업입니다.
이것을 해결하는 방법으로서 '전이 학습'과 'Few-shot 학습' 등 적은 데이터에서도 높은 정밀도를 내기 위한 기술이 활발히 연구되고 있습니다.
또한 딥러닝 모델은 쉽게 속는다는 것을 알게 되었습니다. 이것은 Adversarial attack이라고 하며, 인간이 인지할 수 없을 정도의 섭동(攝動:perturbation)을 입력해주는 것만으로 딥러닝 모델을 속일 수 있습니다. 이 공격에도 견고한 모델을 작성해야 진정한 딥러닝을 적용할 수 있습니다.
이번에는 데이터셋의 '단위'가 딥러닝의 정확도・전이 학습과 Few-shot 학습의 정확도・Adversarial attack 취약점과 상관관계가 있음을 제시한 논문을 소개합니다. 본 논문에서는 첫 데이터셋의 '단위'를 제대로 정의하고 그 정의를 충족하는 지표를 제안하고 있습니다.
실험 결과 데이터셋의 입도는 위에서 언급한 다양한 지표와 관련이 있다는 것을 보여줍니다. 그리고 데이터셋의 특성으로 입도에 주목하는 것이 중요하다는 것을 알게 됩니다.
입도(粒度:Granularity)의 정의
입도는 도대체 무엇일까요?
이것은 fine-grained recognition이라고, 강아지의 유형을 식별하는 등의 분야에서 사용되는 단어입니다.
일반적으로 개와 고양이 등을 식별합니다만, fine-grained recognition는 더 세밀하게 식별하는 작업입니다. 식별 대상이 잘게 나누어져 있기 때문에 더 어려운 작업이라고 할 수 있습니다.
'단위'는 데이터셋이 fine-grained, 즉 식별 대상이 미세한 경우에는 작고, 그렇지 않은 경우에는 큰 것으로 정의합니다. 그럼 어떤 지표를 이용하면 데이터셋의 입도를 적절하게 계산할 수 있을까요?
직관적으로 어느 공간에서 데이터셋이 다음과 같은 특성을 가지면 입도가 작은 데이터셋이라고 합니다.
· 다른 클래스에 속하는 샘플 사이의 거리가 같은 클래스에 속한 샘플 사이의 거리보다 가까운 것
즉, 각 클래스가 비슷하면 다른 클래스에 속하는 샘플 사이의 거리가 가까워집니다. 그 근접 기준으로 동일한 클래스 내의 샘플 사이의 거리를 채용하는 것입니다.
또한 그 지표가 충족해야 할 특성은 무엇일까요? 본 논문에서는 다음의 세 가지를 입도에서 충족시켜야 할 특성으로 제안하고 있습니다.
앞으로 데이터셋의 입도를 g(S, d)로 표현하겠습니다. 여기서 S는 라벨 데이터셋, d는 샘플 사이의 거리를 계산하는 거리 함수입니다.
1. 거리 함수의 변경에 따른 일관성
샘플 사이의 거리를 계산할 때, 어떠한 거리 함수를 사용해야 합니다. 이때, 어떤 거리 함수 d에 대해
· 동일 클래스 사이의 임의의 샘플 xi, xj에 대해 d '(xi, xj) ≦ d(xi, xj)
· 다른 클래스 사이의 임의의 샘플 xi, xj에 대해 d '(xi, xj) ≧ d(xi, xj)를 충족하는 d '를 사용했을 때 입도 g는
g(S, d ') ≧ g(S, d)
가 되는 특성을 가지는 것이 바람직합니다. 이것은 거리 함수를 변경하여 다른 클래스에 속하는 샘플 간의 거리가 커지고, 같은 클래스에 속한 샘플 사이의 거리가 작아지면, 입도가 커지는 특성을 가지는 것은 필연적이라고 할 수 있습니다. 다음 그림은 이 특성을 나타낸 그림입니다.
2. 클래스의 교체에 의한 불변성
데이터셋의 입도 g는 데이터셋 클래스를 교체하더라도 불변이어야 합니다. 즉, 클래스 교체 후 데이터셋을 S'라고 하면
g (S, d) = g (S, d)
가 되는 특성이 필요합니다. 다음 그림은 이 특성을 나타낸 그림입니다.
3. 스케일 변화에 따른 불변성
세 번째 충족되어야 할 특성으로는 거리 함수 d에 대한 거리 함수의 스케일을 변화시켜도 입도가 변하지 않는 특성입니다.
즉, α> 0에 대해 g(S, d) = g(S, αd)가 되는 특성입니다.
위의 세 가지 특성을 만족시키는 지표를 아래에 소개합니다. 또한, 다음의 지표가 위의 특성을 충족시키는 증명은 원본 논문을 참조하시기 바랍니다.
입도를 측정하는 지표의 제안
위의 세 가지 특성을 만족하는 단위를 나타내는 지표로서 주로 세 가지 지표를 제안하고 있습니다.
The Fisher criterion(Fisher)
이 지표는 같은 클래스에 속한 샘플 사이의 거리와 다른 클래스에 속하는 샘플 사이의 거리 비율로 계산합니다.
여기서, k는 클래스 수 · n은 샘플 수 · ci는 클래스 i의 MEDOIDS, c xi는 xi이 속하는 클래스의 MEDOIDS입니다.
The Revised Silhouette index(RS)
Silhouette index는 k-means 등의 클러스터링에서 클러스터 수를 자동으로 결정하는 데 좋은 방법입니다. RS는 위 세 가지 특성을 만족하도록 Silhouette index를 수정한 것입니다.
여기서 a(xi)는 xi와 같은 클래스에 속하는 샘플의 평균 거리고, b(xi)는 xi가 속한 클래스에 가장 가까운 클래스에 속한 샘플 xi 거리의 평균입니다.
The Ranking index(Rank)
이 지표는 정보검색 분야에서 Average precision을 참고하여 만들어진 것입니다.
여기서 Ri는 xi와 다른 샘플 사이의 거리를 계산하고 xi와 같은 클래스의 샘플을 그 거리에 따라 정렬한 목록입니다. 예를 들어, Ri = (3, 4, 8)의 경우, xi와 같은 클래스의 각 샘플 xi에 각각 3, 4, 8 번째로 가까운 것을 나타냅니다.
전반적으로 Ri에 작은 값이 들어있는 만큼, 각 클래스가 결정되며, 그때 입도가 커지는데 이를 반영한 지표입니다.
또한 RS와 Rank의 계산량을 삭감한 것으로 각각 RSM과 RankM을 제안하고 있습니다만, 여기서 자세한 설명은 생략하겠습니다.
실험
먼저 어떤 지표가 좋은 것인지 조사하는 실험을 실시합니다. 여기에서는 CIFAR100라는 데이터셋을 사용합니다. CIFAR100느 20개의 적당한 분류 클래스가 있고, 이 클래스를 다시 5가지로 세분한 총 100개의 클래스로 구성된 데이터셋입니다.
이 실험에서는 20가지의 클래스를 100종류의 세분화된 클래스로 바꾸고, 각 지표가 어떤 곡선을 그리는지 조사하고 있습니다. 실험은 클래스에 상관없이 100번 실시하고 있습니다. 그 결과를 나타낸 것이 아래 그림입니다. 또한 CIFAR100 훈련 데이터를 이용하여 학습한 모델을 이용하여 테스트 데이터로부터 특징량을 추출하고 있습니다.
그림 3에 따르면, 어떤 지표도 분류가 미세해짐에 따라 값이 작아지고 있으며, 입도를 계산하는데 적합한 지표임을 알 수 있습니다. 이 중에서 가장 안정적으로 계산 가능한 RankM을 이후의 실험에 사용하고 있습니다.
다음으로, 입도와 분류정확도 사이의 관계를 조사한 그림이 아래 그림입니다.
가장 오른쪽의 보라색 사각형은 CIFAR10의 분류정확도와 입도의 관계를 나타내고, 그 이외는 CIFAR100의 분류정확도와 입도의 관계를 나타냅니다.
그림 4에서 알 수 있듯이, 입도와 분류정확도는 매우 높은 상관관계를 갖는 것을 알 수 있습니다.
(참고로 데이터셋의 복잡도를 계산하여 CNN의 정확성을 구하는 방법도 있습니다.)
다음으로, 입도와 전이 학습의 정확도 관계를 조사한 실험을 소개합니다. 다음 그림을 참조하십시오.
이 실험에서는 ResNet-50을 두 대규모 데이터셋(imageNet과 iNaturalist-2017)을 이용하여 학습한 후, 최종 층만을 7개의 데이터셋에서 fine-tuning 하고 있습니다.
그림 5에 따르면, 입도와 전이 학습의 정확도는 높은 상관관계가 있고, 입도가 클수록 전이시키기 쉬운 것을 알 수 있습니다. 또한 입도는 원래의 학습 데이터에 크게 의존하고 있음을 알 수 있습니다. 예를 들어, Stanford- Dogs의 입도는 ImageNet에서 학습한 모델이, iNaturalist-2017에서 학습한 모델보다 크다는 것을 알 수 있습니다.
그럼 Few-shot 학습 및 입도의 관계를 조사하는 실험을 소개합니다. 최근 Few-shot 학습은 메타 학습이라는 분야에서 취급하고 있습니다. 메타 학습 내용은 이 문서를 참조하십시오.
아래의 그림을 보십시오.
그림 6은 Bitter와 Sweet라는 말이 있지만, Bitter는 데이터셋에서 입도가 작은 것을 모은 하위 데이터셋이고, Sweet는 입도가 큰 것을 모은 하위 데이터셋입니다. 예상대로, Bitter보다 Sweet가 정밀도가 높은 것을 알 수 있습니다.
마지막으로 모델의 취약점과 입도의 관계를 조사한 실험을 소개합니다. 여기에서 사용하는 Adversarial attack은 Deep fool이라는 기술을 이용하고 있습니다. 이것은 이미지 인식 모델을 속이는 최소의 섭동(攝動:perturbation)을 찾는 방법입니다.
실험 결과는 다음과 같습니다.
여기서, ρ adv는 잘못 인식시키는데 필요한 최소의 픽셀입니다. 그림 7에 따르면, Bitter가 더 작은 양의 픽셀로 오인을 유도하고 있습니다. 즉, 쉽게 모델을 오인식시킬 수 있다는 것입니다.
그것은 직관적으로 알 수 있듯이, 입도가 작은 데이터셋은 클래스 간의 거리가 가깝기 때문에 적은 양의 섭동으로 오인식을 일으킬 수 있다는 것을 보여줍니다. 즉, 입도가 작은 데이터셋에서 학습시킬수록 모델의 취약점은 높아진다는 것입니다.
정리
본 기사에서는 데이터셋의 '단위'에 착안한 획기적인 연구를 소개했습니다. 본 논문에서는 '단위'를 3가지 관점에서 정의하고 그것을 충족하는 지표를 제안하고 있습니다. 실험 결과, 제안 지표는 CNN의 정확도・전이 학습의 정확도・Few-shot 학습의 정확도・모델의 취약점에 관계되는 것으로 밝혀졌습니다.
최근 학습 후에 다양한 지표를 평가하는 것이 아니라, 데이터셋의 특성을 계산하는 것으로도 다양한 지표를 알아내는 것이 가능해지고 있습니다. 딥러닝은 학습에 많은 시간과 많은 리소스가 필요합니다. 사전에 다양한 지표를 대충이라도 알 수 있다면 다양한 대책을 강구하는 것이 가능해집니다.
이러한 연구는 자원이 한정된 환경에서 더 큰 효과를 발휘합니다. 사람이 많은 리소스를 사용할 수 있는 것은 아니므로, 이러한 연구는 AI 확산을 한층 부추길 것으로 기대하고 있습니다.
'AI · 인공지능 > AI 칼럼' 카테고리의 다른 글
AI는 트윗에서 사용자 위치를 특정할 수 있는가? (0) | 2020.01.28 |
---|---|
Transformer 대규모화의 돌파구 될까? 고효율 Reformer의 등장 (0) | 2020.01.24 |
에이벡스(Avex)가 댄스의 점수화를 실현한 AI를 발표 (0) | 2020.01.21 |
일본 은행 대출심사 AI화 가속중! 어떻게 바뀔까? 그 영향을 조사 (0) | 2020.01.20 |
최신 머신러닝 모델은 과학습이 일어나지 않는다? Deep Double Descent. (0) | 2020.01.18 |
[2019] AI 연구 랭킹(후편) (0) | 2020.01.14 |
[2019] AI 연구 랭킹(전편) (0) | 2020.01.14 |
재미있는 2019년도 AI 제품[24선] #2 (0) | 2020.01.13 |