*크롬으로 보시는 걸 추천드립니다*
Active Learning(능동적 학습)에 이어서, 다룰 주제는 Metric Learning입니다!
Active Learning(능동적 학습) 설명 :
kmhana.tistory.com/2?category=838050
우여곡절 끝에, 데이터를 모아서 딥러닝을 학습하려고 봤더니 문제가 생겼습니다.
매일 분류해야 되는 대상이 변경된다는 겁니다.
분류(class) 대상이 매일 바뀌는 경우, 우리는 어떻게 문제를 해결해야 될까요?
대표적인 사례로는 얼굴인식(Face Recognition)이나 상품 검색(Image Retrieval) 등이 있습니다.
Metric Learning 특징
-
두 Task에는 두 가지 공통점이 있습니다.
1. 카테고리가 아닌, 하나의 인스턴스(Instance)를 맞춰야 합니다.
- 예를 들어, 지금 출입한 사람이 우리 회사 사람인가? / 이 상품이 무엇인가?
2. 새로운 인스턴스(Instance)가 추가되거나, 변경이 자주 일어납니다.
- 예를 들어, 새로운 출입자가 추가되거나, 과거 상품이 제거될 수 있습니다.
만약, 위에 두 가지 문제를 해결해야 한다면, Metric Learning을 해결책으로 고려할 수 있습니다.
Metric Learning 구성
-
Metric Learning의 핵심은 크게 두 가지입니다.
1. 어떤 거리(유사도)를 사용할 것인가?
- Euclidean, Cosine Similarity 등
2. 유사도 학습을 위해서, 어떤 Loss로 학습할 것인가?
- Contrastive Loss, Triplet Loss, Margin Loss 등
- 어떤 Loss를 사용할지에 따라, 다양한 Metric learning 논문이 나오고 있습니다.
* "Feature Extraction을 어떻게 할 건인가?"도 Metric Learning의 핵심 주제였지만,
CNN의 뛰어난 성능 덕분에, Feature Extraction에 대한 고민은 매우 적어졌다.
Metric Learning Pipeline
1. CNN 모델을 활용하여, 새로 검색하려는 이미지의 Feature를 추출한다.
2. 추출한 Feature를 사전에 구축된 DB에서 검색한다.
※ Face Identification : 여러 사람 중 'A'라는 사람을 찾기
※ Face Verification : 'A'라는 사람이 'A'가 맞는지 확인
공통점 : 검색할 대상은, 미리 DB로 구축되어 있어야 함
Metric Learning 장점
1. 일반적인 Classification은 학습한 이미지에 대해서만, 인식이 가능하다.
→ 반면, Metric Learning은 학습하지 않은 이미지도 DB로 구축만 해둔다면 인식 가능하다.
2. 일반적인 Classification은 Feature 간의 Decision Boundary를 찾도록 학습한다.(Learn separable features)
→ 반면, Metric Learning은 비유사한 Feature들을 멀리 떨어지도록 학습한다.(Learn Large-Margin features)
Feature 공간을 더 잘 사용할 수 있음
Metric Learning 설명 계획 :
"실용적인 AI"의 3탄 Metric Learning은
1. Metric Learning의 기본 [kmhana.tistory.com/17?category=842461]
1.1) Similarity학습을 위한 Loss
- Contrasitive Loss
- Triplet Loss
- Margin Loss
1.2) Feature를 어떻게 처리할 것인가? [kmhana.tistory.com/18]
1. 어떻게 뽑을 것인가? (GeM, SPoc, MAC)
2. 뽑은 Feature를 어떻게 후-처리할 것인가?(Whitening)
2. 딥러닝을 위한 Metric Learning
- Multi-Grain
- CGD(Combination of Multiple Global Descriptors) [kmhana.tistory.com/19]
순으로 진행될 예정입니다!
혹시, 더 좋은 논문을 읽게 된다면 추가될 예정입니다!
'실용적인 AI > Metric Learning' 카테고리의 다른 글
[번외] Metric Learning을 위한 딥러닝 - CBAM(Conv Block Attention Module) (0) | 2021.03.03 |
---|---|
Metric Learning을 위한 딥러닝 - CGD(Combination Global Descriptors) (1) | 2021.02.20 |
Metric Learning 이란 - Feature 추출 (0) | 2021.02.12 |
Metric Learning 이란 - 학습 방법(Loss) (0) | 2021.02.05 |
[번외 - 논문요약] Deep Face Recognition : A Survey - ① (0) | 2021.02.02 |