- 2021년 11월 9일 오후 7:59
- 조회수: 3728
INFORMATION
- 2021년 11월 12일
- 오후 1시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
최근 컴퓨터 비전 태스크 중 하나인 얼굴인식(face recognition) 분야를 중심으로 딥러닝 모델을 사용한 메트릭 러닝이 급진적 발전 및 우수한 성능을 보이고 있다.
딥메트릭러닝(deep metric learning)은 딥러닝 모델을 사용하여 데이터 간 유사도를 잘 수치화하는 임베딩 함수를 학습하는 방법론이다.
이번 세미나에서는 딥메트릭러닝의 정의 및 필요성, 대표적인 손실함수(contrastive loss, triplet loss, center loss, addictive angular margin loss) 등 기본적인 딥메트릭러닝에 대한 기본적인 설명을 전달하고자 한다.
참고문헌
[1] Chopra,
S., Hadsell, R., & LeCun,
Y. (2005, June). Learning a similarity metric discriminatively, with
application to face verification. In 2005
IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) (Vol.
1, pp. 539-546). IEEE.
[2] Schroff, F., Kalenichenko, D., & Philbin, J. (2015). Facenet: A unified embedding for face recognition and clustering. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 815-823).
[3] Wen, Y., Zhang, K., Li, Z., & Qiao, Y. (2016, October). A discriminative feature learning approach for deep face recognition. In European conference on computer vision (pp. 499-515). Springer, Cham.
[4] Deng, J., Guo, J., Xue, N., & Zafeiriou, S. (2019). Arcface: Additive angular margin loss for deep face recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 4690-4699).
청취자 후기

금일 세미나는 Deep metric learning을 주제로 다루어졌다. Metric 기반의 딥러닝 학습 분야는 자주 접해보지 못한 분야였기에 금일 세미나에서 알지 못했던 많은 직관과 인싸이트를 얻었다. 금일 세미나에서의 Metric은 distance function을 의미하며, 딥러닝을 활용한 좋은 distance function 학습이 본 세미나의 메인이다.
좋은 distance function 학습이 얼마만큼 중요한 일인지는 금일 세미나 인트로 부분에서 잘 다루어졌다. 좋은 Metric을 통해 데이터간 유사성을 효과적으로 표현할 수 있다면, 이전보다 더욱 더 쉬운 데이터 분석(해석)이 가능함을 이러 저러한 재밌는 이야기로 풀어졌다. 어떻게 보면 질 좋은 representation 벡터를 학습해보자고 해석될 수 있다.
(1. Deep "metric" learning에서 학습된 좋은 특징 벡터)과 (2.기존 Deep learning에서 학습된 좋은 특징 벡터)의 차이점을 이해하는 것이 중요한데, 가장 이해하기 쉬운 Softmax와 흥미로운 얼굴 인식 분야를 예로 잘 이해할 수 있었다. 데이터간 "구분"보다 "유사성"이 중요한 자리가 어떨지를 잘 기억해두었다가 향후 연구 아이디어로 이어지면 좋을 것 같다. Open set 데이터 식별 과정에 메트릭 러닝 기반의 특징 벡터가 Classification 기반의 특징 벡터보다 유리할 것 같다. 본 세미나에선 위 내용을 바탕으로 4 가지 Metric learning를 배울 수 있었다.
좋은 세미나를 준비해주신 민정 누나에게 감사의 말씀을 전하며, 세미나 후기를 마치도록 한다.

이번 세미나는 'Introduction to deep metric learning'을 주제로 진행되었다. Deep metric learning은 딥러닝 모델을 통해 데이터 간 유사도가 잘 수치화된 임베딩 공간을 거리 기반으로 학습하는 방법론이다. 최근 컴퓨터 비전 얼굴 인식 태스크는 기본적인 딥러닝 분류모델의 한계를 보여주는 분야의 대표적 예시이다. 다양한 사람들의 얼굴을 인식하는 태스크의 경우 학습에 사용되는 카테고리의 수가 너무 많기에, softmax classifier는 카테고리별로 적당히 구분 가능한 특징이 학습되며 오픈셋 특징 추출에 효과적이지 못하다는 한계점을 가진다. 따라서 본 세미나에서는 이러한 한계점을 극복하고 우수한 성능을 보여주는, deep metric learning의 4가지 손실함수(Contrastive loss, Triplet loss, Center loss, Additive angular margin loss)를 소개해주었다. 각각의 손실함수는 데이터의 유사성을 기반으로 클래스 내의 분산은 줄이고, 클래스 간 분산은 높이도록 작용한다. Openset recognition 관련 프로젝트를 진행하며 다수의 deep metric learning 논문들을 살펴보았었는데, 본 세미나를 통해 그동안 공부해왔던 내용의 흐름을 명확히 짚고 정리해볼 수 있었다. 각 장표마다 청자의 이해를 위해 깊이 고민한 것 같다는 생각이 들었으며, 적절한 시각적 자료를 통해 직관적으로 내용을 잘 전달하는 능력은 여러모로 본받고 싶다. 세미나를 위해 고생해준 민정언니께 감사한 마음을 전하며, 이상으로 세미나 후기를 마친다.

이번 세미나는 deep metric learning에 관한 주제로 진행되었다. “Deep metric learning” 에서 metric은 거리를 의미하는데, 딥러닝 모델로 거리 공간(metric space)을 학습하는 것이 deep metric learning이다. 조금 더 풀어보면 거리 공간(metric space)은 두 개체 사이의 거리가 정의된 공간을 말하며, 여기서 유사한 개체는 가까이, 유사하지 않은 개체는 멀리 위치한 공간이 되도록 학습을 하게 된다. 기존 거리 기반 머신러닝 방법론인 K-means 알고리즘 및 knn 알고리즘 등이 존재하지만, 정형 데이터가 아닌 이미지와 같은 비정형 데이터일 경우 적용하지 못한다는 한계점이 있다. 이를 딥러닝 모델로 해결하는데, 거리공간 내 유사한 데이터끼리는 가깝게, 유사하지 않은 데이터끼리는 멀게 학습을 진행한다. 그런데, 일반적으로 분류 시에 활용되는 softmax의 경우는 얼굴 인식과 같이 다양한 사람의 얼굴을 인식해야할 때 발생하는 오픈셋 문제를 잘 다루지 못하는 한계점으로 다양한 손실함수가 연구되고 있다. Cotrastive loss, Triplet loss, Center loss, Arcface 등 다양한 손실함수가 연구되어 왔다. 이러한 모든 손실함수를 관통하는 핵심은 동일 클래스 내 거리는 가깝게, 다른 클래스끼리의 거리는 멀게 임베딩하는 것이다.
오픈셋 관련 프로젝트를 진행하면서 metric learning 연구 동향을 살펴 볼 기회가 있었는데, 최근 연구 동향은 거리 기반을 넘어 각도 기반에 관하여 활발히 연구되고 있는 듯 하다. 거리 기반 손실함수에서 각도 기반 손실함수에 이르기까지 많은 내용을 세미나에서도 다루었는데, 연구 흐름과 맥락이 인상 깊었다. Metric learning에서 다루는 손실함수들은 수학적으로 실험적으로도 매우 빈틈 없는 연구 분야로 느껴졌고, 활용도까지 높아 반드시 잘 알아둬야겠다는 생각이다. 늘 세미나를 들을 때 마다 짜임새 있는 인트로가 중요하다고 느끼는데, 민정누나께서 또 한 번 모범 인트로를 보여주어 짧지 않은 시간임에도 흥미롭게 시청할 수 있었다. 끝으로 청자 배려형 세미나를 준비해주신 민정누나께 감사한 마음을 전한다.

이번 세미나는 ‘Introduction to deep metric learning’을 주제로 세미나가 진행됐다. 여기서 metric이란 거리를 의미하는 함수이다. 딥러닝에서 데이터를 다룰 때 거리를 조정하고 학습하는 것이 중요할 때가 있는데, 이번 세미나에서는 이에 대해서 중점적으로 다룬다. 대표적인 분야가 Face recognition이다. Face recognition은 얼굴을 인식하는 기술로 동일인을 구별하는 것과 사람을 식별하는 영역으로 나뉜다. 이 두 가지를 모두 고려하기 위해서는 inter class variation은 크게, intra class variation은 작게 embedding space를 구축해야 한다. 그렇기에 기존의 softmax classifier로 학습된 feature는 한계가 있으며 이를 개선하기 위해 나온 방법이 deep metric learning이다. 세미나에서는 contrastive loss, triplet loss, center loss, addictive angular margin loss에 대해서 설명해준다. 결국 이 4개의 loss는 embedding space에서 데이터들의 거리를 바탕으로 loss를 구하는 방법으로 유사한 데이터는 가깝게 모아주고, 다른 데이터는 멀리 떨어트리게 학습을 하게 된다. 이번 세미나에서 언급했던 loss들은 수학적으로 탄탄하게 그 기틀이 잡혀있어서 꼭 이해하고 넘어가는 것이 중요하다고 생각했다. 충분히 어려운 내용으로 잘못하면 듣는 사람에게 혼동을 줄 수 있었을 거 같다. 하지만 민정누나가 큰 흐름부터 시작해서 디테일한 부분까지 모두 설명해주시고, 이에 대해서 누구나 쉽게 이해할 수 있게 설명해주셔서 너무 편안하게 세미나를 들었다. 이번 세미나를 준비해주신 민정 누나께 감사하다는 마음을 전하며 후기를 마무리한다.

분류를 위한 Cross Entropy 와 거리 기반 함수의 차이와 장단점이 뭐냐고 물으면 대답하지 못했었다. 이번 세미나를 통해 둘 사이의 차이를 알 수 있었다. 기존의 분류모델의 Loss 는 단순히 Class 간의 boundary 만 학습 할 수 있는 Separable Feature Extraction 이라면, Metric-based Loss 는 클래스 내의 변동성을 줄이고 클래스 간의 변동성은 높이는 Discriminative Feature Extraction 이다. 이는 본 세미나 자료 중, Center Loss의 유무에 따른 MNIST Data 의 embedding 시각화에서 극명히 드러난다.
Self-Supervised Learning 의 한 분야인 Contrastive Learning 에서 Contrastive Loss 를 처음 접하였는데(NPID, MoCo, SimCLR etc), 형태가 조금 다르긴 하지만 본 세미나를 통해 이미 지도 학습에서 이미 비슷하게 Contrastive Loss 와 Triplet Loss 가 존재했다는 것을 알 수 있었다.
4가지 Metric learning Loss 에 대해 알아보았는데, 그 중 Additive Angular Margin Loss 의 아이디어가 가장 인상 깊었다. Weight Matrix 에서 bias term 하나를 없애는 간단한 변형부터 시작해서 임베딩 벡터 간의 각도를 학습하는 과정으로 바뀌는 수식 과정이 신선했다. 세미나를 준비하느라 고생하신 민정누나께 감사의 말씀을 드린다.

이번 세미나는 Deep Metric learning을 주제로 진행되었다. metric이란 거리를 뜻하는 함수로, 자기 자신과의 거리는 0, 두 포인트의 거리는 상호 대칭성을 가지고, 삼각 부등식을 만족하는 함수를 뜻한다. 그 예로는 유클리디안, p-norm, 내적, 코사인 거리 등이 있다. metric은 서로다른 두 샘플의 거리를 두고 유사도를 측정하여 의사결정에 사용할 수 있기 때문에 머신러닝과 밀접한 관계가 있는데, 이 말은 결국 모델이 샘플의 representation을 추출하여 거리 공간으로 투사하였을 때, 유사한 샘플들 끼리는 모을 수 있다면 좋은 성능을 얻을 수 있다는걸 의미한다.
metric learning은 얼굴 인식 기술에 아주 효과적으로 사용될 수 있는데, 이 얼굴이 누구의 얼굴인지를 확인하는 Face identification과 두 얼굴이 동일인지 판별하는 Face verification 문제에 사용할 수 있다. 문제는 이렇게 metric learning으로 feature를 추출할 때, softmax를 사용하면 적당히 구분 가능한 특징이 학습되긴 하지만, 얼굴 인식이라는 문제에서는 사람수만큼 category의 숫자가 너무 많기 때문에 특징이 적당히 퍼져있기만 하면 성능 저하로 이어질 수 있다. 따라서 이러한 정확한 얼굴 인식에는 embedding space가 Discriminative features로 같은 얼굴끼리는 서로 모여있으면서 서로 다른 얼굴끼리는 멀리 떨어지도록 형성되어야 좋은 성능을 갖출 수 있을 것이다. 이를 위해서는 세미나에서는 4가지 loss를 소개해주었다. 먼저 Contrastive loss는 두개의 데이터가 유사하면 거리가 작아지도록, 두개가 다르면 멀면 멀어지도록 작용하기 때문이다. 즉 loss에 따라 모델을 업데이트하면 유사한 샘플을 가까운 거리로 모으도록 학습된다. Triplet loss도 매우 효과적인데, 가장 유명하고 널리 활용되는 손실함수로, Anchor 데이터를 추가해서 Positive pair는 가깝게, Negative pair는 멀게 학습하도록 한다. 이 경우 margin을 추가해서 특정 거리 이상이 보다 더 띄워지도록 만들어준 것이 포인트로 느껴졌다.
또 나아가서 Center loss의 경우는 embedding과 이미지의 간의 거리와, linear 분류로 softmax에서의 손실함수를 합하여 사용한다. softmax에서의 loss는 서로 다른 분류끼리 서로 떨어지게 만드는데, 이를 embedding에서의 loss가 같은 분류끼리는 한점으로 모이도록 작용하여 Discriminative feature로 만들어주는 점이 재미있었다.
그리고 Additive angular margin loss는 class별 대표 벡터와 embedding 벡터의 내적 유사도를 softmax로 사용할 때, 대표벡터의 크기를 1로 정규화하고, margin을 추가해서 대표벡터와 embedding은 가깝게, 대표벡터와 정답이 아닌 벡터와는 margin더해준 것보다 더 크게 벌어지도록 작용한다.
metric learning이란 결국 모델의 손실 함수를 어떻게 구성해야 representation을 정교하게 모을 수 있을 것인가에 대한 연구임을 알 수 있었다. 근본적인 내용이라 수학적으로 어렵게 느껴질 수 도 있었는데, 굉장히 쉽게 설명해주셔서 놀라웠다. 개인적으로 공부하다보면 representation을 개선하기 위해 손실함수를 조정하는 근본적인 문제는 생각보다 접근하기 까다롭고, 코드로 구현할 때도 어려웠다고 느꼈다. 그러나 이번 세미나는 핵심적인 개념을 명료하게 짚어줘서 굉장히 흥미롭게 들었다. 캡틴이 확실히 다르긴 다른 것 같다. 좋은 배움을 알려준 민정이에게 감사의 마음을 전한다.

이번 세미나는 "Introduction to deep metric learning"이라는 주제로 진행됐다. Raw data는 데이터의 특성에 상관없이 서로 섞여 있지만 이를 딥러닝 모델을 통과 시켜 유사한 데이터끼리 가까워지도록 학습을 진행하게 된다. 이처럼 딥러닝 모델을 통해 데이터의 특성에 따라 잘 구분되도록 하는 방법론을 deep metric learning이라고 한다. Deep metric learning에서는 단순히 분류가 잘되는 특징을 추출하는 것을 넘어서 클래스 내의 데이터끼리는 가깝게, 다른 클래스끼리는 멀도록 학습하는 것을 목적으로 한다. 이번 세미나에서는 metric learning에서 사용되는 4가지 손실함수에 관해 소개되었다. 첫 번째로 소개된 contrastive learning은 두 개의 이미지를 활용해 유사한 데이터는 거리를 줄이고 유사하지 않은 데이터와의 거리는 커지도록 학습을 진행하게 된다. 이때 특정값의 마진을 두어 거리가 마진 이상으로 벌어진 데이터에 대해서만 밀어내게 된다. 두 번째로 소개된 triplet loss는 세 개의 이미지를 활용하게 된다. Anchor 이미지와 유사한 이미지를 positive 그렇지 않은 이미지를 negative로 정의하여 anchor와 positive 사이의 거리는 작아지도록, anchor와 negative 사이의 거리가 멀어지도록 학습을 진행한다. 이미지의 pair를 정의할 때 이미지의 정답 값을 활용한 지도학습 방식도 존재하지만, augmentation 기법을 활용하여 비지도 학습 기반으로 이미지의 pair를 정의할 수도 있다. Center loss는 딥러닝 모델을 통해 추출된 특징 벡터가 동일한 클래스에 속하는 특징 벡터끼리 가까워지도록 하는 loss를 사용한다. 또한, 추출된 특징 벡터를 linear layer를 통해 클래스 개수만큼의 차원을 가진 벡터로 만든 후 softmax loss를 통해 클래스 사이의 거리는 멀어지도록 한다. 마지막으로 소개된 논문은 additive angular margin loss가 소개되었다. 해당 논문에서는 softmax loss에 대한 새로운 해석을 제시했다. 마지막 linear layer에서 학습된 가중치들을 각 클래스의 대표 벡터로 해석할 수 있으며 softmax loss는 정답 클래스의 대표 벡터와 유사해지도록 하는 손실함수가 된다. 거리를 계산할 때 내적을 사용하기 때문에 두 벡터가 이루는 각의 크기로 거리를 생각해볼 수 있다. 정답 클래스 대표 벡터와의 각에 일정 마진을 더해서 손실함수에 사용하게 되면 최종적으로 학습된 거리공간은 대표 벡터와 각 데이터가 더 모여있는 형태로 학습되게 된다. 이번 세미나를 통해 metric learning에 대한 전반적인 연구 동향을 살펴볼 수 있어 의미 있는 세미나였다. 세미나를 위해 고생해준 민정 누나에게 감사의 뜻을 전한다.

금일 세미나는 deep metric learning을 주제로 진행되었다. Metric이란 거리(distance)를 의미한다. 이때 거리는 자기 자신과의 거리는 0, 상호 대칭성, 삼각 부등식 성립이라는 조건을 만족하는 함수이다. 대표적으로 유클리디안 거리, P차 norm 거리, 코사인 거리, 내적 거리, 마할라노비스 거리가 있다. Metric이 거리를 의미하므로 metric space는 두 개체 사이의 거리가 정의된 공간을 의미한다. 해당 공간에서는 유사한 개체끼리 가까이 위치하며 유사하지 않은 개체는 멀리 위치한다. 따라서 deep metric learning은 딥러닝 모델을 통해 거리 공간을 학습하는 것을 의미한다. Softmax classifier를 통해 거리 공간을 학습하면 적당히 class를 구분할 수 있는 특징은 학습할 수 있지만, class 내의 variation은 줄이고 class 간의 variation은 키우고자 하는 목표는 달성이 어렵다. 또한 새로운 class에 대한 특징은 학습할 수 없다는 한계가 있다. 이러한 한계를 해결하고자 deep metric learning을 위한 손실함수가 제안되었다. 대표적으로 contrastive loss, triplet loss, center loss, additive angular margin loss가 있다. Deep metric learning은 생소한 분야였는데 사용되는 단어의 기본적인 개념부터 다양한 loss의 작동 원리까지 자세히 설명해주셔서 매우 유익한 세미나였다.

금일 세미나는 'deep metric learning'을 주제로 진행되었다. metric이란 거리(distance)를 의미하는데 구체적으로는 특정 조건들을 만족하는 함수를 말한다. 범용적으로 사용되는 함수의 종류에는 유클리디안 거리, p차 norm거리, 마할라노비스 거리, 코사인 거리 등이 존재한다.
거리는 기계학습 알고리즘에서 매우 중요한 역할을 가지고 있다. 비지도 학습의 k-means, 지도 학습의 knn 알고리즘 등이 대표적인 예시이다. deep metric learning이란 딥러닝 모델로 거리 공간을 학습하는 것을 말한다. 딥러닝 모델에서는 주로 softmax 함수를 사용해서 거리를 학습하는데, 얼굴 인식 (face recognition) 분야에서는 softmax 함수를 사용하는데 많은 한계점이 존재한다. 우선 학습에 사용되는 category의 수가 너무 많기 때문에 특성을 확실하게 구별하지 못하며 open set 데이터의 특징 추출에 효과적이지 않다.
이러한 단점을 극복하고자 본 세미나에서는 deep metric 손실함수로 contrastive loss, triplet loss, center loss 그리고 additive angular margin loss 를 소개하였다. 기본적으로 모든 loss는 데이터가 유사하다면 거리가 작아지도록, 유사하지 않으면 멀어지도록 학습시킨다. 세미나를 통해 초기에 제안된 contrastive loss 부터 ArcFace까지 큰 흐름으로 맥락을 이해할 수 있었다. 수식과 함께 명쾌한 설명을 해주신 민정 누나께 감사의 말씀을 드리며 본 세미나 후기를 마무리한다.