KalelPark's LAB

[ Meta Learning ] Meta-Learning based on Metric 본문

Data Science/Meta Learning

[ Meta Learning ] Meta-Learning based on Metric

kalelpark 2023. 1. 15. 11:25

Metric Learning이란?

     학습하고자 하는 학습 방법은 다양한 태스크에서 사용할 수 있는 좋은 특징 공간(feature Space)이다.

     즉, 새로운 태스크를 잘 활용할 수 있는 유용한 Manifold interpolation을 학습하는 것을 목표로 한다.

     즉, 메트릭 기반 방법은 같은 라벨을 갖는 Support Set과 Query Set의 데이터 쌍이 비슷한 매니폴드 공간에 임베딩 되는메타러닝을

     수행하며, 새로운 태스크가 들어왔을 때도 학습과정에서 이를 발견하지 못하였더라도, 같은 라벨의 데이터 쌍은 비슷한 공간에 임베딩
     되도록 합니다. 

 

     메타러닝을 진행한 이후, few-shot learning을 진행하는 경우 추가적인 파라미터 변경없이 임베딩만 수행하며 바로 Query Set의
     데이터와 Support Set 데이터들의 임베딩을 비교하여 가장 가까운 Support set 라벨을 Query set 데이터에 할당하게 됩니다.

     일반적으로, 기계학습은 데이터와 해당 라벨이 주어지면, 매핑을 시행하는 규칙 집합이나 복잡한 함수를 고안하는 것이다.
     이를 쉽게 달성하고자, Original feature Space를 계산하기 쉬안 Embedding Space로 Mapping하는 함수를 학습합니다.

     

                                                                                d(x1,x2)=d_e(f(x1),f(x2))

Loss function

       - Contrastive Loss

          - 이는 Siamese Net에서 활용하는 Loss이다. 식을 살펴보면 x, y가 같은 클래스인 경우네는,
              클래스간의 거리를 좁하는 방향으로 학습한다. 반대로, x, y가 다른 클래스인 경우, 서로 거리를 넓히는 방향으로 학습합니다. 

           

       - Triplet Loss

          - p는 positive, n은 Negative를 사용한다. 같은 클래스 간 거리는 좁히고, 다른 클래스 간 거리는 넓히는 방향으로 학습한다.
             Contrative Loss와 비슷하게 Triplet Loss에서는 Positive Distance와 Negative Distance간의 거리 차이가 m이상일 경우
             loss에 반영을 시키지 않게 학습해야 한다.

Comments