[VISION] 비전 시스템을 위한 딥러닝(11) - 시각 임베딩 (visual embedding)

Study/Vision & Deep Learning · 2023. 6. 1. 11:48

안면 인식, 이미지 검색 등 우리 생활과 밀접한 컴퓨터 비전의 응용 분야에서는 이미지와 이미지 사이의 의미 있는 관계를 추출하는 기술이 필수적이다.

이러한 문제를 해결하려면 이미지에서 적합한 특징을 추출해서 이를 대응하는 특징과 차후에도 비교해 볼 수 있어야 한다.

이전 장에서는 합성곱 신경망(Convolutional Neural Networks, CNNs)을 사용하여 이미지에서 의미 있는 특징을 추출하는 방법을 배웠다.

본 장에서는 이러한 CNN의 특징을 활용하여 시각 임베딩층(Visual Embedding Layer)을 결합 학습하는 방법을 다룬다.

시각 임베딩은 CNN의 마지막 전결합층(손실 함수 바로 앞에 위치)을 의미한다. 결합 학습(Joint Training)은 임베딩과 CNN의 파라미터를 동시에 학습하는 것을 의미한다.

본 장에서는 대규모 이미지 기반 검색 시스템을 위해 시각 임베딩을 학습하고 활용하는 기본적인 방법을 다룬다.

이를 위해 먼저 데이터셋의 이미지를 벡터 공간에 사상(임베딩) 해야 한다. 이러한 사상이 완료되면 임베딩 공간에서 이미지 벡터 간의 거리를 기준으로 이미지를 비교할 수 있다.

이것이 시각 임베딩의 기본 아이디어이다.. 시각 임베딩을 학습하고 활용함으로써 이미지 기반 검색 시스템의 효과성을 향상할 수 있으며, 관련 이미지의 더 효율적이고 정확한 검색을 가능하게 할 수 있다.

 

*임베딩

임베딩은 일반적으로 일력 공간보다 차원이 낮으며, 벡터와 벡터 사이의 유사도가 그대로 보존되는 벡터 공간을 가리킨다. 여기서는 벡터 공간과 임베딩 공간이라는 용어를 같은 의미로 사용한다.

또한, 이 장에서는 학습이 끝난 합성곱 신경망의 마지막 전결합층이 이 벡터 공간이 된다. 예를 들어 128개 뉴런으로 구성된 전결합층은 128차원 벡터 공간이 된다.

이미지와 이미지를 의미 있게 비교하려면 임베딩 함수가 우리가 원하는 이미지 간의 유사도를 포착할 수 있어야 한다.

임베딩 함수를 학습하는 여러 가지 방법 중 이 장에서는 합성곱 신경망을 사용한다.

 

10.1 시각 임베딩 응용 분야

주어진 입력 이미지에 대해 유사한 이미지를 찾아내는 응용 분야로는 안면 인식, 이미지 추천, 물체 재식별 등이 있다.

 

10.1.1 안면 인식

Face Recognition, FR 안면 인식은 이미지에 있는 사람이 누구인지 정확히 구별해서 인식하거나 해당 정보를 이미지에 태깅하는 기술을 말한다.

인식은 일종의 세세한 분류라고 볼 수 있다. 안면 인식 시스템에는 두 가지 모드가 있는데 다음과 같다.

  • 안면 식별:
    질의 얼굴 이미지를 데이터베이스에 저장된 모든 이미지와 비교해서 질의 이미지의 신원을 확인하는 일대다 대응이다. 이를테면 시 당국이 용의자 목록과 질의 이미지를 비교(일대다 매칭)하는 것이 이에 해당한다. 또한 주요 소셜 플랫폼에서 제공하는 이미지에 사용자를 태깅하는 기능도 여기에 해당한다.
  • 안면 대조:
    질의 얼굴 이미지를 자신이 주장하는 신원의 얼굴 이미지와 비교하는 일대일 대응이다.

 

10.1.2 이미지 추천 시스템

해당 시스템은 사용자가 입력한 질의 이미지와 비슷한 이미지를 찾아주는 시스템이다.

전가 상거래 사이트의 유사 상품 추천 등을 예로 들 수 있다. 이러한 유사도의 예로 다음 두 가지를 들 수 있다.

  • 색상 유사도:
    질의 이미지와 색상이 비슷한 이미지가 검색된다. 색상이 비슷한 그림, 색이 비슷 한 구두(스타일과는 다름)의 검색 등에 응용된다.
  • 의미 유사도:
    질의 이미지와 의미적 속성이 비슷한 이미지가 검색된다. 앞에서 언급한 구두를 예로 들면 하이힐 구두의 이미지를 입력해서 마찬가지로 하이힐 구두를 검색하는 식이다. 의미적인 유사도 외에 색상 유사도를 포함해 검색 결과를 생성할 수도 있다.

 

10.1.3 물체 재식별

물체 재식별의 주요 응용 사례 중 하나는 보안 카메라 네트워크(CCTV 모니터링)이다.

보안 관리자는 때때로 특정 인물이 어느 카메라에 찍히고 있는지 확인해야 할 필요가 있고, 보안 카메라 시스템은 카메라 사이를 오가는 물체를 재식별하여 지속적인 추적을 가능하게 한다.

이 문제는 사람 재식별(person re-identification)로 잘 알려져 있다.

서로 다른 두 카메라에 찍힌 사람의 정확한 신원보다는 두 이미지에 찍힌 사람이 동일한 사람인지 확인하는 것이 주된 목적이므로 안면 대조와 관련이 있다.

이러한 응용 분야에서 중요한 것은 입력 대상의 유사성을 잘 보존하여 신뢰성 있는 임베딩 함수를 생성하는 것이다.

이후의 절에서는 적절한 손실 함수를 설계하고 좋은 임베딩 함수를 학습하기 위한 유용한 데이터 샘플링 방법에 대해 알아볼 것이다.

그전에 임베딩 생성 기법을 살펴보기 전에 먼저 질문에 대한 답을 찾아야 한다.

"왜 이미지를 임베딩해야 하는가? 임베딩 대신 이미지를 그대로 사용해도 되지 않을까?"

이미지의 픽셀값을 그대로 사용할 경우 발생하는 병목 현상에 대해 알아보자. 예를 들어, 임베딩 차원이 1920 x 1080이라고 가정하면 모든 이미지를 고해상도로 저장하고 처리하는 데에는 문제가 될 것이다. 또한, 대부분의 임베딩은 지도 학습 형태로 학습되며 사전에 알려진 의미가 없는 데이터이다(바로 이 지점이 실질적인 의미가 추출되는 CNN의 위력이 발휘되는 부분이다).

고차원 임베딩 공간을 학습하는 알고리즘은 차원이 증가함에 따라 데이터 부족으로 인한 차원의 저주 문제를 겪게 된다.

자연 데이터의 분포는 고르지 않으며, 저차원 구조를 가지는 경향이 있다. 따라서 데이터의 크기 자체를 차원으로 사용하는 것은 계산 복잡도와 중복성의 낭비다.

따라서, 임베딩 학습의 목표는 비교 가능한 의미를 학습할 것, 임베딩 공간의 차원을 충분히 낮출 것 이렇게 두 가지가 된다.

부가 설명

 

10.2 임베딩 학습하기

 임베딩 함수를 학습하기 위해선 먼저 유사도를 측정할 수 있는 기준을 정의해야 한다.

이미지 비교를 위한 정확한 의미를 선험적(priori)으로 정립하기는 어려우므로 지도 학습 형태가 일반적이다.

이 책에서는 유사도의 기준이 되는 특징을 사람이 직접 정의하는 대신 충분한 훈련 데이터가 있다는 가정 하에 데이터 기반 지도 학습에 초점을 맞춘다.

다음은 합성곱 신경망을 이용한 딥러닝으로 임베딩을 학습하는 과정의 추상적인 설계를 나타냈다.

임베딩 학습 구조와 테스트 과정

임베딩 학습 과정은 다음과 같이 직관적이다.

  1. 합성곱 신경망의 구조를 선택한다. 적합한 합성곱 신경망이라면 어느 구조를 사용해도 무방하다.
    실무적으로는 합성곱 신경망의 마지막 전결합층이 임베딩 공간, 즉 임베딩 벡터 공간의 차원을 결정한다. 학습 데이터의 규모에 따라 필요한 경우 이미지넷 데이터셋을 사전 학습해야 할 수도 있다.
  2. 손실 함수를 선택한다. 주로 대조 손실과 삼중항 손실 함수가 사용된다(10.3절 참조).
  3. 데이터셋 샘플링 방법을 선택한다. 데이터셋의 모든 데이터를 입력하는 것은 낭비이므로 좋지 않다.
    따라서 정보를 많이 포함하는 데이터 점을 샘플링하는 방법을 사용한다. 데이터 샘플링 기법은 10.4절에서 더 자세히 설명할 것이다.
  4. 테스트 시에는 마지막 전결합층이 해당 이미지의 임베딩 역할을 한다.

 

10.3 손실 함수

임베딩 학습 역시 다른 딥러닝 문제와 크게 다르지 않게 최적화 대상이 될 손실 함수를 정의해야 하고, 손실 함숫값이 최소가 되도록 신경망의 가중치를 조정한다.

이 절에서는 임베딩을 위한 주요 손실 함수인 교차 엔트로피(cross-entropy), 대조 손실(contrastive loss), 삼중항 손실(triplet loss) 함수를 더 자세히 살펴본다.

 

10.3.1 문제를 형식화 하기

임베딩 학습, 즉, CNN 학습을 위한 손실 함수를 이해하려면 먼저 입력이 어떤 것인지, 원하는 출력은 어떤 것인지 등 문제를 형식화해야 한다.

이렇게 형식화해 두면 나중에 더 다양한 손실 함수를 간단하게 분류하고 이해할 수 있다.

우리가 가진 데이터셋을 다음과 같이 나타내기로 하자.

데이터셋

최적화된 임베딩 신경망에서 학습된 임베딩 함수는 다음과 같은 특징을 가져야 한다.

  • 임베딩은 관점, 밝기, 대상의 형태 변화에 영향을 받지 않아야 한다.
  • 실용적인 응용을 위해 임베딩 계산 및 순위 선정의 계산 효율이 뛰어나야 한다.
    이를 위해 임베딩은 저차원 벡터 공간이어야 한다. 임베딩 공간이 클수록 두 이미지 비교에 필요한 계산 자원이 증가하므로 시간 복잡도가 상승한다.

임베딩 학습에 널리 사용되는 손실 함수로는 교차 엔트로피, 대조 손실, 삼중항 손실 등이 있다.

 

10.3.2 교차 엔트로피 손실

임베딩 학습을 클래스가 매우 세분화된 일종의 분류 문제로 해석할 수 있으며, 이 해석을 따라 합성곱 신경망을 교차 엔트로피 손실 함수로 학습시킬 수 있다. p는 클래스 사후 확률이다.

합성곱 신경망 관련 문헌에서 소프트맥스 손실 함수는 주로 판별을 목적으로 교차 엔트로피 손실로 학습한 소프트맥스층을 가리킨다.

교차 엔트로피 손실 함수

학습 중에는 임베딩층이 손실층 뒤에 배치된다. 각 이미지는 개별적인 클래스로 취급되므로, 훈련 데이터의 이미지 수와 동일한 클래스 수가 있다.

분류를 위한 적합한 손실 함수를 사용하여 신경망을 학습한 후, 분류층을 제거하면 임베딩을 얻을 수 있다.

교차 엔트로피 손실값을 최소화하면 합성곱층의 파라미터가 수정되어 정답 클래스에 대한 예측 확률이 1이 되고, 나머지 클래스에 대한 예측 확률은 0이 된다.

교차 엔트로피 손실은 사전에 정의된 클래스로 특징을 분류하는 것을 목적으로 하므로, 이러한 신경망의 성능은 임베딩 공간에서의 유사도를 직접 반영한 것보다는 상대적으로 낮을 수 있다.

또한, 100만 건의 이미지를 포함하는 데이터셋을 학습해야 한다면, 계산적으로 거의 불가능할 것이다. 그러나, 상대적으로 작은 규모의 데이터셋(예: 1,000개의 이미지)을 사용하여 교차 엔트로피 손실을 이용한 사전 학습을 수행함으로써, 임베딩 학습의 속도를 향상할 수 있다.

이는 CNN에서 일반적으로 사용되는 전략 중 하나다. 10.4절에서는 정보량이 많은 데이터 점을 선택하여 학습에 활용하는 기법을 자세히 살펴볼 예정이다.

임베딩층을 학습하는 방법

위에서 보이는 것과 같은 교차 엔트로피 손실의 단점 중 하나는 학습과 추론의 단절이다.

 

10.3.3 대조 손실

대조 손실은 임베딩 공간 내에서 비슷한 클래스의 인스턴스끼리는 거리가 무한히 가까워지도록, 다른 클래스의 인스턴스끼리는 서로 멀어지도록 하는 효과가 있다.

앞서 형식화환 문제를 적용하면 대조 손실은 다음과 같이 정의된다.

대조 손실의 정의

[.]_+ = max(0,.)는 힌지 손실을 의미하며, 알파는 두 표본 i와 j가 서로 다른 클래스일 때의 최대 손실값을 결정하는 사전 결정된 임계값이다.

기하학적으로 보면 클래스가 서로 다른 두 표본의 거리가 이 마진보다 작아진다면 손실값이 증가한다는 의미다.

D_ij는 앞서 설명한 대로 임베딩 공간에서 두 표본 i, j의 거리를 나타낸다.

이 손실은 샴 손실(Siamese loss)이라고도 하는데, 파라미터를 공유하며 같은 이미지를 입력받는 2개의 신경망의 형태로 나타낼 수 있기 때문이다.

대조 손실은 쵸프라의 연구에서 안면 대조 문제를 위해 사용되었다.

안면 대조 예시

마진 알파는 모든 클래스의 쌍에 같은 값을 적용한다.

알파가 미치는 영향을 맨머사의 연구에서 다음과 같이 언급했다.

'알파를 모든 클래스의 쌍에 같은 값으로 적용한다는 것은 시각적으로 서로 다른 클래스 역시 시각적으로 비슷한 클래스와 같은 특징 공간에 사상된다는 뜻이다'.

다음에 설명할 삼중항 손실과 학습을 어렵게 만드는 임베딩 매니폴드 구조의 제약을 비교해 보면 이러한 가정이 더 확실히 드러난다.

N개 표본을 가진 데이터셋을 한 에포크 학습하는 학습 복잡도는 모든 데이터 쌍을 대상으로 하기 때문에 O(N^2)이다.

 

10.3.4 삼중항 손실

최근접 이웃 분류에 사용할 거리 측정에 대한 연구에 영향을 받아 다른 연구에서 검색 시스템에 맞게 수정한 기법이 삼중항 손실(triplet loss)이다.

삼중항 손실도 같은 클래스는 가깝게, 다르면 떨어지게 하는 건 대조 손실과 같지만, 하나의 점과 양성 데이터, 음성 데이터 간의 거리를 함께 고려한다는 점이 다르다.

정의는 다음과 같다.

삼중항 손실 정의

D_ap는 양성 표본 거리, D_an은 음성 표본 거리를 가리킨다.

다음은 삼중항 계산 과정이다.

삼중항 계산 과정

삼중항을 계산하려면 항 3개를 계산해야 하기 때문에, 학습 복잡도가 O(N^3)이 되어 실질적으로 활용하기는 어렵다.

 

10.3.5 단순 구현한 손실 함수의 계산 복잡도 분석

다음과 같은 간단한 예제가 있다고 하자.

  • 사람 수(N) : 100
  • 한 사람당 표본 이미지 수(S) : 10

대조 손실과 삼중항 손실을 수식 그대로 구현하면, 한 에포크당 학습 복잡도는 다음과 같다

  • 교차 엔트로피 손실: 상대적으로 간단한 손실 함수다.
    한 에포크에서 모든 표본을 순회하므로 복잡도는 O(NxS) = 0(103)이 된다.
  • 대조 손실: 모든 표본의 쌍을 순회하며 거리를 측정한다.
    계산 복잡도는 N XS의 제곱에 비례하며 0(100 x 10 x 100 x 10) = 0(109)이 된다.
  • 삼중항 손실: 모든 표본의 세 쌍을 순회하며 거리를 측정한다.
    계산 복잡도는 NXS의 세제곱에 비레하며 0(10%)이 된다.

교차 엔트로피 손실은 계산 복잡도가 낮지만 성능이 다른 손실 함수에 비해 낮을 수 있다.

최근 연구에서는 적절한 표본 샘플링을 통해 삼중항 손실이 대조 손실보다 더 좋은 성능을 보인다는 보고가 있었다.

한 가지 중요한 점은 많은 표본 중에서 실제로 손실 함수에 큰 영향을 주는 표본은 많지 않다는 것이다.

학습에 큰 영향을 주지 못하는 표본은 신경망 파라미터로도 이미 손실이 낮으며, 기준 이미지와 양성 이미지의 거리가 기준 이미지와 음성 이미지의 거리보다 가깝다. 따라서 이러한 표본은 파라미터 조정에 유용한 정보를 제공하지 않고, 수렴을 느리게 만들 뿐이다.

따라서 정보량이 높은 표본을 잘 선택해야 한다.

마이닝(mining)은 가능한 표본을 순회하는 높은 계산 복잡도를 해결하기 위해 정보량이 높은 표본만을 선택하는 과정이다. 이를 통해 신경망에 입력되는 표본 수를 줄일 수 있다.

마이닝을 위한 전략으로는 데이터 로더에서 현재 입력 배치에 포함된 데이터만을 사용하여 표본 셋을 구성하거나, 정보량이 높은 표본만을 선택하는 방법을 사용할 수 있다. 이러한 전략은 계산 복잡도를 줄이고 신경망의 학습 효율을 향상하는데 도움이 된다.

 

10.4 정보량이 높은 데이터를 골라내는 마이닝

앞서 설명한 바에 따르면 삼중 손실과 대조 손실은 실용적인 규모의 데이터셋에 대해서는 계산이 어렵다는 것을 알 수 있었다.

이 절에서는 삼중항 손실을 사용한 CNN의 학습에서 가장 중요한 단계를 자세히 살펴보고, 학습의 계산 복잡도와 속도를 개선하는 방법에 대해 알아본다.

삼중 손실은 전체 데이터셋을 대상으로 세 쌍을 선택하기 때문에 학습 중에 선택할 수 없어 오프라인 학습 유형으로 분류된다. 하지만, 이런 방식으로 세 쌍을 생성하면 학습 효율이 저하되는 것은 물론, 실제 딥러닝 데이터셋의 규모를 고려할 때 계산량 자체가 현실적으로 처리하기 어렵다.

FaceNet에서는 이러한 계산 복잡도 개선을 위해 배치 기반 세 쌍 마이닝 기법을 사용한 온라인 학습을 도입했다.

학습 중에 미니배치를 구성하고, 해당 배치에서 정보량이 높은 세 쌍을 마이닝하여 선택된 세 쌍만 사용하고, 선택되지 못한 세 쌍은 배치에서 제외한다. 이러한 방식으로 안면 인식에서 학습 효율을 개선하면서 최고 성능을 달성할 수 있었다.

온라인 학습 중 정보의 흐름

데이터로더가 통계값을 따르는 배치를 구성하고, 이를 사용하여 GPU에서 임베딩을 계산하는 학습 프로세스를 제안하는 OpenFace와 유사한 방식도 있다. 이후 마이닝된 세 쌍을 대상으로 CPU가 손실을 계산한다.

다음 절에서는 통계값을 따르는 배치를 구성하고 세 쌍을 마이닝하는 데이터로더에 대해 알아보고, 정보량이 높은 세 쌍을 마이닝하는 방법도 살펴볼 것이다. 이를 과정을 통해 학습을 개선할 수 있다.

 

10.4.1 데이터 로더

이 절에서는 데이터로더의 역할과 설정에 대해 알아본다. 데이터로더는 정보량이 높은 세 쌍을 선택하기 위해 데이터셋의 일부를 무작위로 선택한다.

단순히 무작위 미니배치를 생성하는 것만으로는 정보량이 높은 세 쌍을 충분히 확보하기 어렵다.

학습을 효율적으로 진행하기 위해선 데이터로더 수준에서 배치 생성에 주의해야 한다.

반적인 방법은 B개의 세 쌍을 마이닝한 후, 이들을 이용해 삼중 손실을 계산한다. B개의 세 쌍을 포함하는 배치를 생성하고, 임베딩과 손실을 계산한다.

허만의 연구에 따르면, 현재의 방법으로는 선택된 세 쌍에 포함된 정보를 모두 활용하지 못하고 있습니다.

3B개의 이미지로 구성된 배치에서 2B(3B-2) 개의 유효한 세 쌍을 골라낼 수 있으므로 B개 박에 사용하지 못하는 현재 방식에서는 정보의 활용도가 낮으며, 개선이 필요하다. (2B는 기준 이미지와 양성 이미지, 3B-2는 전체에서 앞의 둘을 뺀 음성 이미지)

허만은 데이터로더 수준에서 배치 조직 방법을 개선하여 세 쌍을 더 효율적으로 선택할 수 있게 했다. 이를 위해 데이터셋에서 P개의 신원을 무작위로 선택하고, 각 신원마다 K개의 이미지를 무작위로 선택하여 배치를 구성한다. 이렇게 개선된 데이터로더를 사용하여 허만은 사람 재인식 과업에서 최고 성능을 달성했다.

이러한 배치 조직 방법은 쿠마르 등 다른 연구자들에 의해 다양한 재인식 과업에서도 사용되었고, 인식 과업에서 중요한 연구로 인정받았다.

권장되는 배치 크기는 P = 18, K = 4로 설정되며, 따라서 배치에는 총 42개의 표본이 포함된다.

ex)

클래스 수 P = 10
클래스 당 표본 수 K = 4
앵커 이미지 수 = 40 = PK
앵커 이미지 한 장당 양성 이미지 수 = 3 = (K-1)
앵커 이미지 한 장당 음성 이미지 수 = 9 x 4 = K(P-1)
유효한 세 쌍의 총 수 = 40 x 3 x (9 x 4)

이것으로 세 쌍을 효율적으로 마이닝하는 데이터로더를 갖게 되었으니 CNN을 학습하는 동식에 정보량의 높은 세 쌍을 하드 데이터 마이닝 하는 다양한 기법을 살펴본다.

 

10.4.2 정보량이 높은 데이터 마이닝 하기: 유효한 세 쌍 찾기

정보량이 높은 표본을 마이닝하는 여러 기법들이 제안되었다. 이번에는 그중 주요한 기법들을 간단히 살펴본다.

1) 하드 데이터 마이닝(Hard Data Mining)

하드 데이터 마이닝은 사물 탐지나 액션 영역 탐지 등의 다양한 컴퓨터 비전 과업에서 활용되는 기법이다.

이는 모델의 학습 중에 사용되는 부트스트래핑 기법으로, 각 반복마다 현재 상태의 모델로 검증 데이터셋에 대해 좋은 성능을 내지 못하는 하드 데이터(Hard Data)를 골라 마이닝하는 방법이다.

이렇게 선별된 하드 데이터만을 입력하여 모델의 성능을 개선하는 것은 물론, 파라미터의 수렴 속도도 향상할 수 있다. 하지만 모델에 이상값 등을 포함한 하드 데이터만 입력된다면 정상적인 데이터와 이상값을 구분하는 모델의 능력이 저하되며 학습 상황이 정체될 수 있다.

따라서 하드 데이터 마이닝은 이러한 부분의 주의가 필요한 기법이다.

2) 삼중항 손실(Hard Triplet Loss)

삼중항 손실에서 말하는 하드 음성 표본은 임베딩 공간 내에서 기준 이미지와 거리가 가까운 것을 의미한다. 이는 높은 손실값을 발생시킬 수 있으므로, 모델이 학습할 때 중요한 표본이다.

마찬가지로 하드 양성 표본은 기준 이미지와 거리가 먼 것을 의미한다.

3) 준하드 샘플링(Semi-Hard Sampling)

FaceNet에서는 하드 데이터 샘플링 중에 발생하는 이상값을 처리하기 위해 준하드 샘플링을 적용했다. 이 방법은 너무 낮지도 높지도 않은 중간 정도 정보량의 세 쌍을 마이닝하는 기법이다.

준하드 샘플링은 마진 파라미터를 도입하여 음성 표본이 마진 범위 안에 들어오고, 기준 이미지의 양성 표본 중 선택된 일부와 충분한 거리가 있는 경우에만 선택한다. 이를 통해 모델에 너무 쉬운 또는 어려운 음성 표본은 무시될 수 있다.

하지만 이 방법은 학습의 하이퍼파라미터 수를 증가시키는 단점이 있다.

위에서 언급한 준하드 음성 표본 기법은 배치 크기가 이미지 1,800장이고, CPU가 세 쌍의 연산을 처리하는 상황에서 사용되었다. 또한, 다른 연구에서는 기본 배치 크기가 42이고 GPU를 사용하면 효율적으로 세 쌍을 처리할 수 있었다.

각 기준에 따른 양성 / 음성 표본

신경망의 입장에서 양성 표본은 기준 이미지와 임베딩 공간에서 거리가 멀어질 때 하드 표본이 된다. 마찬가지로 임베딩 공간에서 기준 이미지와 거리가 가까운 음성 표본도 하드 표본이다.

양성이미지와 기준 이미지와 거리가 멀다는 것이 꼭 나쁜 점만 있는 것이 아닌, 가지고 있는 정보량도 많다는 점을 기억하자.

하드 데이터의 개념과 하드 데이터로 발생할 수 있는 문제에 대해 알아보았다.

이번에는 배치에 적용할 수 있는 온라인 학습의 세 쌍 마이닝 기법을 알아보자. 데이터 로더에서 데이터 크기가 PK개인 배치를 구성하고 나면 가능한 기준 이미지 수는 PK개다. 이들 기준 이미지에 대한 양성 표본과 음성 표본을 찾는 것이 세 쌍 마이닝의 핵심이다.

 

10.4.3 배치 올

배치 구성에서 배치 올 (Batch All, BA)은 모든 가능한 유효한 세 쌍을 사용하는 전략이다. 따라서 세 쌍의 순위를 매기거나 선택하는 절차 자체가 없다.

구현 관점에서는 하나의 기준 이미지에 대해 모든 유효한 세 쌍에서 손실을 계산하여 합한다.

배치 크기가 PK개의 이미지인 경우, 배치 올은 모든 세 쌍을 선택하므로 삼중 손실 항의 수는 PK(K-1)(K(P-1))개가 된다

배치 올에서는 모든 세 쌍이 동일한 중요도로 취급된다. 따라서 구현이 간단하지만, 평균을 통한 정보 손실이 발생할 수 있다.

일반적으로 유효한 세 쌍 중 대부분은 정보량이 높지 않다. 따라서 모든 세 쌍에서 계산된 손실을 동등하게 합친다면 정보량이 높은 세 쌍에서 계산된 손실이 전달되지 않을 수 있다.  예를 들어, 허만(Hermann)이 사람 재인식 과업을 다룬 연구에서 정보량이 높은 세 쌍의 손실이 전달되지 않는 문제가 발생 현상을 보고했다.

 

10.4.4 배치 하드

배치 하드 (Batch Hard, BH)는 배치 올과는 반대로, 기준 이미지에 대해 가장 어려운 데이터로 배치를 구성하는 방법이다.

각 기준 이미지마다 가장 어려운 양성 표본과 음성 표본을 하나씩 선택하여 이들에 대한 손실을 계산한다. 이때, 난이도는 기준 이미지에 따라 달라진다.

배치 크기가 PK개인 경우, 배치 하드는 각 기준 이미지마다 하나의 양성 표본과 음성 표본만 선택하므로 삼중 손실 항의 수는 PK개(기준 이미지 수와 같다)가 된다. (PK(앵커이미지수) x 1(양성) x 1(음성)인 것 같다.)

배치 하드는 정보량이 낮은 표본을 무시하기 때문에 정보 손실이 적게 발생한다. 그러나 상대적으로 이상값을 걸러내기 어렵다는 단점이 있다. -> 레이블링 오류 등의 이상값은 난이도가 높은 표본과 구분하기 어렵다.

또한, 사전 학습을 거치지 않은 신경망에 배치 하드를 적용하여 학습을 진행할 경우, 기준 이미지에 대한 표본의 난이도를 신뢰하기 어렵다.

학습 중에는 이러한 정보를 얻을 수 없기 때문에 난이도가 가장 높은 표본도 무작위 표본에 불과하게 되며, 학습이 정체될 수 있다.

이러한 현상은 차량 재인식 과업을 다룬 연구에서 보고된 적이 있다.

배치 올과 배치 하드의 이해를 돕기 위해 기준 이미지와 양성 표본, 음성 표본 사이의 거리를 나타낸 그래프를 다시 살펴보면, 배치 올은 모든 세 쌍을 모두 고려하여 최종 손실 값을 계산하였으며, 배치 하드는 가장 난이도가 높은 데이터만을 사용하여 손실 값을 계산한다.

하드 표본의 예

* 삼중항 손실을 정의하는 또 다른 방법

리스타니는 다중 카메라 재인식 과업에 사용할 특징과 다양한 배치 표집 기법을 하나의 식으로 통합했다. 

어떤 배치에서 기준 이미지를 a라고 가정하고, 이에 대한 양성 표본과 음성 표본을 각각 P(a)와 N(a)라고 표기할 때, 0에 대한 음성 표본과 양성 표본의 부분집합을 사용하여 아래와 같이 삼중합 손실 함수를 표현할 수 있다.

삼중합 손실 함수

기준 이미지 a에 대해 w_p는 양성 표본 p의 가중치(중요도)를 가리키며, 마찬가지로 w_n은 음성 표본 n의 가중치를 가리킨다. 한 에포크에 대한 총손실은 다음과 같이 계산한다.

총 손실

 

10.4.5 배치 웨이티드

리스타니(Ristani)는 배치 올(batch all, BA)의 문제점을 해결하기 위해 표본에 서로 다른 가중치를 적용한 배치 웨이티드(batch weighted, BW) 전략을 제안했다.

배치 올은 모든 표본을 동일한 중요도로 처리하는 반면, BW 전략은 표본의 가중치를 기준 이미지로부터의 거리에 따라 결정하여 사용한다.

이를 통해 정보량(난도)이 높은 표본은 더 높은 가중치를 가지게 되어 상대적으로 중요성이 높아진다.

양성 표본과 음성 표본에 대한 가중치는 [표 10-1]에 정리되어 있다. 이 가중치를 적용한 예시를 [그림 10-20]에서 확인할 수 있다.

이 그림은 BW 전략을 사용하여 표본에 가중치를 적용한 결과를 나타낸 것이다. BW 전략은 정보량이 높은 표본의 영향력을 강화하고, 상대적으로 수가 적은 고난이도 표본의 영향력을 높이는 데에 도움을 준다.

이를 통해 모델은 학습 시에 더욱 어려운 표본에 집중하여 성능을 향상할 수 있다.

마이닝 전략 정리
기준 이미지에서 양성 이미지를 선택하는 과정

 

10.4.6 배치 샘플

또 다른 전략으로 배치 샘플 baich sample, BS이 있다. 이 전략은 허만의 연구 구현 부분과 최고 성능을 갱신한 쿠마르의 차량 재인식 연구에 자세히 언급되어 있다.

BS는 '기준 이미지와 표본 사이 거리'의 분포를 이용해서 표본을 마이닝한다. 이 기법은 BH와 비교해서 이상값이 표본에 포함되는 것을 방지할 수 있다. 또한 기준 이미지와의 거리가 먼 표본을 선택하므로 정보량이 많은 표본을 기대할 수 있다.

배치 샘플 전략에서 양성 데이터를 선택하는 과정

 

10.5 프로젝트: 임베딩 신경망 학습하기

이번 프로젝트에서 이미지 기반 검색 시스템을 만들어보며 우리가 앞서 배운 개념을 실제로 적용해 볼 것이다.

시각 임베딩 문헌에서 인기 있는 두 가지 문제를 골랐다.

  • 쇼핑 딜레마: 질의 상품과 비슷한 의류를 찾아라.
  • 재인식: 데이터 베이스에서 비슷한 (다른 카메라에서 다른 각도로 찍힌) 차량을 찾아라.

쇼핑 딜레마와 재인식 과업은 학습, 추론, 평가 과정에서 동일한 접근 방식을 가지고 있다.

이를 위해 임베딩 신경망을 학습하기 위한 다음과 같은 준비물이 필요하다.

  • 훈련 데이터:
    태그에 따라 부여된 유사도 측정을 기반으로 지도 학습을 수행한다. 데이터셋은 이미지의 신원 또는 카테고리에 따라 폴더 구조로 구성되어 있다. 같은 카테고리에 속하는 이미지는 임베딩 공간에서 가깝게 위치하도록 학습하고, 다른 카테고리에 속하는 이미지는 멀리 위치하도록 학습한다.
  • 테스트 데이터:
    테스트셋은 질의(query)와 갤러리(gallery) 두 개의 집합으로 구성된다. 갤러리셋은 검색 결과에 대한 순위가 부여되는 이미지들로 이루어져 있다. 만약 임베딩이 완벽하게 학습되었다면, 질의에 대한 상위 결과는 모두 동일한 클래스에 속할 것이다.
  • 거리 측정 기법:
    임베딩 공간에서 두 이미지 간의 유사도를 표현하는 방법이다. 여기서는 임베딩 공간에서의 유클리드 거리(L2)를 사용한다.
  • 평가:
    학습된 모델을 정량적으로 평가하기 위해 top-k 정확도와 평균 평균 정밀도(mAP)를 사용한다. (4장과 7장 참조) 질의셋의 각 질의로부터 갤러리셋에서 유사한 이미지를 검색 결과에 포함하는 것이 목표이다. 질의 이미지 q에 대해 AP(q)는 다음과 같이 정의된다.

질의 이미지에 대한 정밀도

여기서 P(k)는 검색 결과 순위 k의 정확도를 의미하며, N_gt(q)는 질의 q의 검색 결과 중 실제 검색 결과에 포함되는 결과의 수다. delta_k 항는 불리언 표시 함수로, 함숫값이 1이면 질의 이미지 q에 대해 테스트 이미지가 검색 순위 k 안에 정확하게 포함되었다는 뜻이다. 정확한 검색 결과란 질의 이미지와 테스트 이미지의 레이블이 같다는 뜻이다.

그다음 평균 평균정밀도는 모든 질의 이미지에 대한 평균을 계산하면 된다.

평균평균정밀도

Q는 질의 이미지의 총 수다.

 

10.5.1 비슷한 상품 찾기

첫 번째 과업은 두 이미지가 동일한 종류의 의류인지를 판별하는 것이다. 의류나 신발과 같은 패션 관련 상품은 이미지 검색 분야에서 핵심적인 역할을 하며, 이미지 기반 추천 엔진을 통해 구매자에게 유사한 상품을 추천하는 등 다양한 산업에 응용되고 있다. 

리우는 쇼핑 이미지 검색 과업을 위한 대규모 데이터셋을 소개하였다. 이 데이터셋은 21개의 상품 카테고리에서 추출된 11,735종류의 상품과 54,643개의 이미지를 포함하고 있다. 

이 데이터셋은 25,000개의 훈련 데이터와 26,000개의 테스트 데이터로 분할되어 있으며, 각각 질의셋(query set)과 갤러리셋(gallery set)으로 구성된다. 아래의 [그림 10-22]는 DeepFashion 데이터셋의 이미지 예시입니다.

의류 데이터셋 예시

 

10.5.2 차량 재인식

재인식(Re-identification)은 동일한 개체가 같은 카메라 또는 다른 카메라에서 여러 번 촬영된 경우에 이를 하나의 식별 대상으로 매칭하는 과업을 의미한다. 이 과업의 주요 사용 사례 중 하나는 사용자가 질의 객체의 카메라 네트워크에서 발생하는 모든 등장을 검색하려는 경우 이다.

예를 들어 교통 당국은 도시 전체에 설치된 카메라 네트워크에서 특정 차량의 기록을 찾고자 할 때 이 과업을 사용할 수 있다. 보안 목적이나 생물 측정학과 같은 분야에서도 얼굴 재식별화와 같은 유사한 과업이 있다.

차량 재식별화 과업에서는 리우가 만든 VeRi 데이터셋이 유명하다. 이 데이터셋은 20개의 카메라 네트워크에서 촬영된 776대의 차량(신원)을 나타내는 40,000개의 경계 상자(bounding box)로 구성되어 있다.

각 차량은 최소 2대에서 18대의 카메라에서 다양한 각도와 밝기 환경에서 촬영되었으며, 정면이나 후면에만 제한되지 않고 측면도 포함되어 있어 난이도가 높은 데이터셋이다.

태그 정보에는 차량의 모델명, 색상, 카메라 간 정보, 촬영 각도 등이 포함된다.

여기서는 카테고리 수준의 태그 정보만 사용된다. 제조사, 모델명, 촬영 일시 등과 같은 추가 정보는 사용되지 않는다.

더 많은 정보를 학습에 포함시키면 정확도를 향상할 수 있지만, 이 책의 범위를 벗어나므로 이에 대해서는 해당 데이터셋을 사용한 다른 연구를 참조하도록 하자.

VeRI 데이터셋 예시

 

10.5.3 구현하기

이번 프로젝트에서는 깃허브에서 제공하는 삼중 손실 학습의 코드 베이스를 활용한다. 프로젝트의 데이터셋 전처리 및 각 단계에 대한 요약은 이 책의 예제 코드 배포 파일에서 확인할 수 있다.

구현 코드는 주피터 노트북에 포함되어 있으며, 단계별로 구현된 튜토리얼을 진행하면 된다. 텐서플로 사용자라면 올리비에 모인드롯의 블로그 포스팅 "Triplet Loss and Online Triplet Mining in Tensor Flow"(https://omoindrot.github.io/triplet-loss)를 참고하면 삼중 손실 학습을 구현하는 다양한 방법을 이해할 수 있다.

딥러닝 학습에는 합성곱 신경망을 활용하며, 몇 가지 핵심 하이퍼파라미터가 필요하다. 이번 프로젝트에서 사용할 하이퍼파라미터는 다음과 같이 정리할 수 있다.

  • 이미지넷 데이터셋을 사전 학습했다.
  • 입력 이미지 크기는 224 x 224이다.
  • 메타 구조:
    Mobilenet-1을 사용하며, 5억 6,900만 회의 곱셈 누산과 단일 곱셈 누산을 필요로 한다. 이 신경망 구조는 424만여 개의 파라미터를 가지며, 이미지넷을 대상으로 70.9%의 top-1 정확도를 기록하고 있다. 입력 이미지의 크기는 224 x 224이다.
  • 최적화 알고리즘:
    Adam 알고리즘을 사용하며, 하이퍼파라미터는 기본값으로 설정되었다.(eta = 10, beta_1, = 0.9, beta2 = 0.999) 초기 학습률은 0.0003이다.
  • 데이터 강화:
    표준적인 이미지 반전 연산을 온라인으로 진행한다.
    배치 크기: 18개의 무작위 추출 신원(P)을 포함하며, 신원당 4개(K)의 표본 등 총 18 x 4개의 표본을 포함한다.
  • 마진:
    삼중 손실 학습 코드에서는 기존에 사용되던 힌지 손실을 비슷하지만 매끄러운 함수인 소프트 플러스 함수 1n(1 + .)로 변경되었다. 여기서도 소프트 플러스를 사용한다.
  • 임베딩 차원: 임베딩 차원은 마지막 전결합층의 유닛 수에 해당한다. 모든 실험에서 임베딩 차원을 128로 설정했으며, 계산 효율을 개선하고 싶다면 임베딩 차원 수를 낮출 수 있다.

힌지 손실
소프트 플러스 함수

 

10.5.4 학습한 모델 테스트 하기

테스트를 위해 학습이 완료된 모델을 사용한다. 데이터셋은 질의셋과 갤러리셋으로 구분되어 있으며, 이 두 파일을 사용하여 평균 평균 정밀도와 top-k 정확도와 같은 평가 지표를 계산할 수 있다.

이러한 평가 지표는 모델의 성능을 요약하여 보여주지만, 결과를 직접 확인하는 것도 중요하다.

질의셋에서는 무작위로 이미지를 선택하고, 갤러리셋에서는 해당 이미지의 상위 k개 검색 결과를 화면에 출력한다. 이를 통해 다양한 마이닝 기법을 정량적이고 정성적인 지표로 평가할 예정이다.

과업 1: 상점 내 검색

학습된 임베딩을 이용한 검색 결과 예제를 [그림 10-24]에 실었다. 검색 결과를 직접 확인해 보니 비교적 만족스럽다. 상위 검색 결과는 질의 이미지와 같은 카테고리이며, 질의 이미지의 옷을 다른 각도에서 본 이미지도 상위 검색 결과에 올라와 있다.

다양한 임베딩 기법에 대해 패션 데이터셋에서 뽑은 결과

[표 10-2]에 다양한 표집 기법에 대해 삼중 손실을 적용한 실험의 성능 차이를 정리했다. BW의 성능이 다른 기법보다 앞서는 것을 알 수 있다. top-1 정확도도 상당히 높다. 같은 클래스의 이미지를 첫 번째 검색 결과에 올려놓을 확률이 87%나 된다. k> 1인 경우 정확도는 더 높아진다.

다양한 표집 기법에 대한 성능 비교 결과

위의 비교 결과에는 현재 최고 성능을 가진 기법들이 포함되어 있다. "어텐션 기반 앙상블 (Attention-based Ensemble, ABIELiS)"은 이미지의 일부를 노출시키는 다양한 앙상블을 학습하는 방식이다. 또한, "BIBR (Boosting Independent Embeddings with Ropustyte)"은 CNN의 앙상블을 온라인 경사 부스팅 문제로 환원한 공유 특징 표현을 이용하여 학습한다.


이들 앙상블 기법의 주목할 점은 프레임워크에 새로운 파라미터를 도입하지 않았다는 점이다. 따라서 미분 가능한 손실 함수라면 어떤 것이든 사용할 수 있다.

과업 2: 차량 재인식

쿠마르는 삼중 손실 함수의 최적화에 사용되는 표집 기법을 모두 수집하여 평가했다. 이 결과는 다른 최고 성능을 보유한 기법들과 함께 [표 10-3]에 정리되어 있다.

주목할 점은 최고 성능을 보유한 기법들을 시공간적 거리나 속성 등의 추가 정보 없이 평가했다는 것이다. 또한, 정성적 평가 결과는 [그림 10-25]에 나와 있다.

동일한 차량의 이미지가 다른 각도에서 촬영된 경우에도 top-5 검색 결과에 포함되어 있어 임베딩의 불변성이 시점의 변화에도 강건함을 확인할 수 있다.

표집 기법의 성능 평가
정성적 결과

문헌에서 언급한 다양한 접근법의 장단점을 파악하기 위해 먼저 차량 재인식 과업에서 사용되는 접근법을 간단히 훑어보다.

  • "CLVA (cross- level vehicle re-identification)":
    카나시(Kanaci)는 모델 레이블에 따른 분류 손실을 적용해서 세세한 종류까지 차량 분류가 가능한 신경망을 학습하는 CLVA(cross- level vehicle re-identification)을 제안했다(그림 10-26). 10.3.2절과 [그림 10-9]에서 이와 비슷한 것을 소개했었다. 논문 저자는 VeRI를 대상으로 성능을 측정하지 않았다. VeRI 외의 데이터셋에 대한 차량 재인식 성능에 관심이 있다면 이 논문을 참고하기 바란다.

CLVA의 신경망 구조

  • "GSTE (Group-Sensitive Triplet Embedding)":
    Bel에 의해 제안된 방법이다. 이 방법은 클래스 내부의 변동성을 클러스터링 하기 위해 K-Means를 사용하는 새로운 학습 과정을 제안한다. K-Means 클러스터링 파라미터를 추가함으로써 학습을 원하는 방향으로 조절할 수 있다.
  • "PAMTRI (Pose-Aware Multi-Task Learning)":
    Zheng에 의해 제안된 방법이다. 이 방법은 키포인트 태깅과 합성 데이터를 사용하여 다중 과업 중심의 임베딩 신경망을 학습한다. PAMTRI(AI)는 해당 데이터셋에서 최고의 성능을 기록했으며, PAMTRI(RS)는 실제 데이터와 합성 데이터를 함께 사용하여 임베딩을 학습한다. PAMTRI(AI)는 차량 키포인트와 다중 과업 프레임워크에 사용되는 속성을 추가로 활용했다.
  • "AAVER (Adaptive Attention for Vehicle Re-identification)":
    Khoramshani에 의해 제안된 방법이다. 이 방법은 이중 경로 신경망을 사용하여 전역적 및 지역적 특징을 추출하는 최신 연구이다. 이러한 특징들을 연결하여 최종 임베딩을 생성하였으며, 신원과 키포인트 방향 태그를 사용하여 임베딩 손실을 최적화하는 데에도 활용되었다.
  • "VAMI (Viewpoint Attentive Multi-view Inference)"
    Zhou에 의해 제안된 학습 과정이다. 이 방법은 GAN과 다중 뷰 어텐션 학습을 다룬다. 다중 시점 뷰를 생성하기 위해 GAN을 사용하며, 이는 최종 임베딩을 향상하는 데에 도움이 될 것이다.
  • "Path-LSTM":
    Shen이 제안한 방법으로, 시공간적 제약에 따른 경로 제안을 생성하고 LSTM을 사용하여 이러한 경로 제안의 순위를 매긴다.
  • "MSVR (Multi-Scale Vehicle Representation)":
    Kanaci가 제안한 재인식을 위한 피라미드 기반 딥러닝을 활용한 재인식 기법이다. MSVR은 다양한 분기를 가진 신경망 구조를 사용하여 이미지 피라미드로부터 차량 재인식에 민감한 특징 표현을 학습한다. 이 신경망 분기 경로는 동시 최적화된다.

차량 번호판은 주로 전역적인 고유 식별자로 사용되지만, 표준적으로 설치된 교통 카메라에서는 번호판을 추출하기 어렵다. 따라서 차량 재인식을 위해서는 번호판 외에도 시각적인 특징이 필요하다.

예를 들어, 두 차량이 제조사, 모델, 색상이 동일한 경우에는 시각적 특징만으로는 두 차량을 구별할 수 없다. (글씨나 흠집 등으로 구분할 수 있는 부분이 없는 경우). 이와 같은 어려운 상황에서는 주로 시간적인 정보나 공간적인 정보 (예: GPS 좌표)에 의존할 수 있다.

Tang 데이터셋은 이러한 문제를 다루기 위해 활용되는 데이터셋 중 하나이다. 이 데이터셋은 차량 재인식과 관련된 다양한 정보와 시공간적인 데이터를 포함하고 있다. Tang 데이터셋을 사용하면 차량 재인식을 위한 다양한 기법과 알고리즘을 개발하고 평가할 수 있다.

 

10.6 현재 성능 더욱 끌어올리기

이 절에서는 임베딩 성능을 개선할 수 있는 아이디어와 합성곱 신경망의 학습에 도움이 되는 최신 연구 결과의 팁과 트릭을 소개한다.

  • 순위 재선정:
    갤러리 이미지의 초기 순위를 계산한 후 적합도를 개선하기 위해 순위를 재선정하는 기법이다. 이는 많은 정보 검색 시스템과 재인식 시스템에서 널리 쓰이는 강력한 기법이다. Zhong의 제안한 방법을 사용하여 프로브 p와 갤러리 집합이 있을 때 각 사람마다 출현 특징(임베딩)과 k개의 상호 특징을 추출한다. 프로브 p와 각 사람의 쌍에 대해 거리 d와 자카드 거리 Ja를 계산하고, 최종 거리를 기준으로 순위를 결정한다. 이를 통해 AAVER는 평균평균정밀도를 5% 향상했다

    * 자카드 거리는 두 데이터셋에 대한 교집합의 원소 수를 합집합의 원소 수로 나눈 값이다.

순위 재선정 기법

 

  • 팁과 트릭:
    루오 Luo는 사람 재인식 과업에서 강력한 베이스라인 성능을 보여주었다. 허만과 동일한 배치 구성 기법을 사용하였으며, 데이터 강화, 웜업 학습률, 레이블 스무딩 등의 트릭을 사용하여 최고 성능을 달성할 수 있었다. CNN을 학습하는 인식 관련 과업에 적용할 때 이러한 기법을 활용하는 것이 좋다.
    * 웜업 학습률: 미리 설정된 수의 초기 에포크 동안 선형적으로 학습률을 변화시키는 기법을 말한다.
    * 레이블 스무딩: 훈련 데이터에 대해 확신도가 지나치게 높아지지 않도록 교차 엔트로피 손실을 수정해서 일반화 성능을 개선하고 과적합을 방지하는 기법이다. 데이터셋의 규모가 작을 때 특히 유용한다.
  • 어텐션:
    해당 장에서는 임베딩 학습에서 전역 스타일에 어텐션을 주로 사용하는 연구에 대해 집중했다. 전역 스타일이란 신경망에 대상을 잘 구별할 수 있는 부분 같은 따로 주목할 부분에 대한 지침을 주지 않았다는 뜻이다. 어텐션을 도입한 연구들은 재인식 과업의 성능을 향상하는 효과를 보였다.
  • 추가 정보를 통한 학습 지침:
    다양한 추가 정보를 활용한 기법들의 효과를 알아보기 위해 최고 성능 기법들을 비교했다. 추가 정보는 신원, 속성(차량 제조사 또는 모델), 시공간적 정보(질의 이미지와 갤러리 이미지의 GPS 위치) 등이 포함됩니다. 추가 정보를 제공하면 정확도가 향상되지만, 레이블링 비용도 증가합니다. 다중 과업 학습(MTL)을 활용하려면 효율적으로 여러 가지 추가 정보를 접근하여 학습할 수 있다. 이때 손실 함수가 충돌하는 경우도 종종 발생한다. 이런 경우에는 과업별로 손실 함수의 가중치를 적절히 두어야 한다 (교차 검증 활용). 손실함수의 충돌을 해결하는 MTL 학습 프레임워크로는 세너 Saner의 연구를 사용할 수 있다.
    이외에도 안면 인식, 사람 인식, 차량 분류 등의 다양한 연구에 MTL이 적용되었다.

 

반응형