KR102365450B1 - 심층 지표 학습 방법 및 시스템 - Google Patents

심층 지표 학습 방법 및 시스템 Download PDF

Info

Publication number
KR102365450B1
KR102365450B1 KR1020190167101A KR20190167101A KR102365450B1 KR 102365450 B1 KR102365450 B1 KR 102365450B1 KR 1020190167101 A KR1020190167101 A KR 1020190167101A KR 20190167101 A KR20190167101 A KR 20190167101A KR 102365450 B1 KR102365450 B1 KR 102365450B1
Authority
KR
South Korea
Prior art keywords
point
loss
pair
mining
points
Prior art date
Application number
KR1020190167101A
Other languages
English (en)
Other versions
KR20210075709A (ko
Inventor
구건모
고병수
Original Assignee
네이버 주식회사
라인 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사, 라인 가부시키가이샤 filed Critical 네이버 주식회사
Priority to KR1020190167101A priority Critical patent/KR102365450B1/ko
Priority to JP2020204341A priority patent/JP7041239B2/ja
Publication of KR20210075709A publication Critical patent/KR20210075709A/ko
Application granted granted Critical
Publication of KR102365450B1 publication Critical patent/KR102365450B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

심층 지표 학습 방법 및 시스템이 개시된다. 심층 지표 학습 방법은, 임베딩 공간에서 주어진 오리지널 포인트(original point)를 이용하여 합성 포인트(synthetic point)를 생성하는 단계; 및 상기 오리지널 포인트와 상기 합성 포인트를 이용하여 지표 학습(metric learning)에 사용하기 위한 하드 네거티브 쌍(hard negative pair)을 마이닝하는 단계를 포함한다.

Description

심층 지표 학습 방법 및 시스템{METHOD AND SYSTEM FOR DEEP METRIC LEARNING}
아래의 설명은 심층 지표 학습(deep metric learning) 기술에 관한 것이다.
심층 지표 학습은 데이터 포인트 간의 의미적 유사성 정보를 포함하는 임베딩(embedding)을 목표로 하는 것으로, 예를 들어 의미적으로 유사한 영상이 서로 가까이 삽입되고 의미적으로 다른 영상이 서로 멀리 삽입되는 임베딩 공간을 학습하는 것이다.
이러한 심층 지표 학습의 접근 방식은 샘플 쌍(sample pair) 간의 유사성 또는 거리에 기초한다.
최근 지표 학습 분야에서 성능을 높이기 위해 하드 샘플(hard sample)을 생성하여 모델 학습에 사용하는 방법들이 제안되고 있다.
예컨대, 한국공개특허공보 제10-2019-0107984호(공개일 2019년 09월 23일)에는 학습 영상을 샘플링하여 하드 네가티브 샘플을 추출하는 기술이 개시되어 있다.
기존에는 GAN(generative adversarial network)과 오토인코더(auto-encoder)를 사용하여 하드 샘플을 생성하고 있다. 이러한 방법들은 선택되지 않은 다수를 하드 샘플로 합성하고 증강된 정보로 모델을 훈련시키는 방식이다.
심층 지표 학습의 성능 향상에도 불구하고 지표 학습 모델과 함께 하드 샘플을 생성하기 위해서는 추가적인 서브 네트워크를 필요로 하며, 이는 모델 크기, 하이퍼 파라미터(hyper parameter), 훈련 시간, 훈련 난이도 등을 증가시키는 문제를 야기한다.
생성 네트워크(generative network)를 사용하지 않고 하드 샘플을 생성하여 지표 학습에 사용할 수 있다.
대칭적 합성(symmetrical synthesis)을 통해 대칭의 축으로서 서로 합성된 포인트를 하드 샘플로 생성할 수 있다.
특징점(feature points)의 조합에 의해 증강 정보(augmented information)를 포함하는 합성 포인트(synthetic points)를 생성할 수 있다.
지표 학습 손실을 계산하기 위해 오리지널 포인트와 합성 포인트 내에서 하드 네거티브 쌍 마이닝(hard negative pair mining)을 수행할 수 있다.
컴퓨터 시스템에서 실행되는 심층 지표 학습 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 심층 지표 학습 방법은, 상기 적어도 하나의 프로세서에 의해, 임베딩 공간에서 주어진 오리지널 포인트(original point)를 이용하여 합성 포인트(synthetic point)를 생성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 오리지널 포인트와 상기 합성 포인트를 이용하여 지표 학습(metric learning)에 사용하기 위한 하드 네거티브 쌍(hard negative pair)을 마이닝하는 단계를 포함하는 하드 샘플 생성 방법을 제공한다.
일 측면에 따르면, 상기 합성 포인트를 생성하는 단계는, 하나의 오리지널 포인트에 다른 하나의 오리지널 포인트를 투영한 포인트를 이용한 대수 계산(algebraic computation)을 통해 상기 합성 포인트를 생성할 수 있다.
다른 측면에 따르면, 상기 합성 포인트를 생성하는 단계는, 상기 오리지널 포인트의 대칭 정보 또는, 상기 오리지널 포인트의 조합에 의한 증강 정보를 이용하여 상기 합성포인트를 생성할 수 있다.
또 다른 측면에 따르면, 상기 합성 포인트를 생성하는 단계는, 동일한 클래스의 오리지널 포인트를 임베딩 공간에 결합하여 지표 학습 손실에 대한 정보를 증강시킴으로써 합성 포인트 집합을 생성할 수 있다.
또 다른 측면에 따르면, 상기 합성 포인트를 생성하는 단계는, 동일한 클래스의 한 쌍의 오리지널 포인트가 주어지면 오리지널 포인트 사이를 선형 보간을 통해 분할하여 분할 지점에 상기 합성 포인트를 생성함으로써 합성 포인트 집합을 생성할 수 있다.
또 다른 측면에 따르면, 상기 하드 네거티브 쌍을 마이닝하는 단계는, 상기 오리지널 포인트와 상기 합성 포인트를 이용하여 서로 다른 두 클래스 사이의 복수 개의 네가티브 쌍을 만드는 단계; 및 각 네가티브 쌍의 유사성 또는 거리를 기초로 상기 복수 개의 네가티브 쌍 중 가장 하드한 네가티브 쌍을 선택하여 지표 학습 손실에 사용하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 복수 개의 네가티브 쌍을 만드는 단계는, 포지티브 클래스의 피처 포인트와 네가티브 클래스의 피처 포인트를 이용하여 포지티브 포인트와 네가티브 포인트 사이의 가능한 네가티브 쌍을 만들 수 있다.
또 다른 측면에 따르면, 상기 하드 네거티브 쌍을 마이닝하는 단계는, 트리플렛 손실(triplet loss) 또는 리프티드 구조 손실(lifted structure loss)에 대해 최소 풀링을 사용하여 하드 네거티브 쌍 마이닝을 수행하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 하드 네거티브 쌍을 마이닝하는 단계는, N-쌍 손실(N-pair loss) 또는 각도 손실(angular loss)에 대해 최대 풀링을 사용하여 하드 네거티브 쌍 마이닝을 수행하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 하드 네거티브 쌍을 마이닝하는 단계는, 상기 오리지널 포인트와 상기 합성 포인트를 이용하여 MS 손실(multi-simiarity loss)에 대해 하드 네거티브 쌍 마이닝을 수행하는 단계를 포함할 수 있다.
상기 심층 지표 학습 방법을 상기 컴퓨터 시스템에 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.
상기 심층 지표 학습 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체를 제공한다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 임베딩 공간에서 주어진 오리지널 포인트를 이용하여 합성 포인트를 생성하는 과정; 및 상기 오리지널 포인트와 상기 합성 포인트를 이용하여 지표 학습에 사용하기 위한 하드 네거티브 쌍을 마이닝하는 과정을 처리하는 컴퓨터 시스템을 제공한다.
본 발명의 실시예들에 따르면, 추가적인 생성 네트워크를 사용하지 않고 임베딩 공간에서의 기하학 계산(geometric computation)을 이용하여 하드 샘플을 생성할 수 있어 지표 학습 손실에 대한 하이퍼 파라미터가 프리하고 훈련 시간과 훈련 난이도의 증가 문제를 해결할 수 있다.
본 발명의 실시예들에 따르면, 대칭적 합성을 통해 하드 샘플을 생성함으로써 샘플 쌍 사이의 유사성 또는 거리 기준으로 계산되는 모든 지표 학습 손실(triplet, N-pair, angular, lifted structure)에 플러그앤플레이(plug&play) 방식으로 사용할 수 있어 학습 성능을 향상시킬 수 있다.
본 발명의 실시예들에 따르면, 특징점의 조합에 의해 증강 정보를 포함하는 합성 포인트를 생성함으로써 보다 간단하고 유연한 방법을 통해 모델 크기, 훈련 속도, 그리고 최적화 난이도에 영향을 주지 않고 쌍 기반 지표 학습 손실(pair-based metric learning loss)에 결합하여 사용 가능한 모델을 구축할 수 있다.
도 1은 본 발명의 일실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템이 수행할 수 있는 심층 지표 학습 방법의 예를 도시한 순서도이다.
도 4는 본 발명의 일실시예에 있어서 지표 학습을 위한 대칭적인 합성 과정을 설명하기 위한 예시 도면이다.
도 5는 본 발명의 일실시예에 있어서 대칭 포인트를 생성하는 과정을 설명하기 위한 예시 도면이다.
도 6은 본 발명의 일실시예에 있어서 하드 네거티브 쌍 마이닝 과정을 설명하기 위한 예시 도면이다.
도 7은 본 발명의 일실시예에 따른 컴퓨터 시스템이 수행할 수 있는 심층 지표 학습 방법의 예를 도시한 순서도이다.
도 8은 본 발명의 일실시예에 있어서 임베딩 포인트 확장 과정을 설명하기 위한 예시 도면이다.
도 9는 본 발명의 일실시예에 있어서 특징점의 조합으로 합성 포인트를 생성하는 과정을 설명하기 위한 예시 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 심층 지표 학습 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 생성 네트워크를 사용하는 대신 임베딩에 간단한 대수 계산(algebraic computation)을 통해 기하학적 접근으로 하드 샘플을 생성할 수 있고, 이를 통해 하이퍼 파라미터 프리와 훈련 속도 감소는 물론이고, 네트워크 수정 없이 플러그앤플레이 방식으로 지표 학습 손실에 쉽게 사용할 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 시스템의 예를 도시한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 심층 지표 학습 시스템은 도 1을 통해 도시된 컴퓨터 시스템(100)에 의해 구현될 수 있다.
도 1에 도시된 바와 같이 컴퓨터 시스템(100)은 본 발명의 실시예들에 따른 심층 지표 학습 방법을 실행하기 위한 구성요소로서, 메모리(110), 프로세서(120), 통신 인터페이스(130) 그리고 입출력 인터페이스(140)를 포함할 수 있다.
메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 시스템(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 시스템(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)은 네트워크(160)를 통해 컴퓨터 시스템(100)이 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 시스템(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 시스템(100)의 통신 인터페이스(130)를 통해 컴퓨터 시스템(100)으로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 시스템(100)이 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
통신 방식은 제한되지 않으며, 네트워크(160)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 유선/무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(160)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(160)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
입출력 인터페이스(140)는 입출력 장치(150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드, 카메라 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 시스템(100)과 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
먼저, 지표 학습과 하드 네거티브 쌍 마이닝 및 하드 샘플 생성 기술을 먼저 설명한다.
지표 학습
특징 표현(feature representation)을 이용한 유사성 및 거리에 근거하여 지표 학습 손실이 이용되고 있다. 가장 간단한 손실 중 하나는 트리플렛 손실(triplet loss)인데, 이는 고정된 상대적 여유를 가진 포지티브 쌍보다 네거티브 쌍을 더 많이 분리하기 위해 샘플의 트리플렛이 필요하다. 트리플렛 손실을 이용할 경우 효율적인 훈련을 위한 샘플링을 제공하기 위해서는 값비싼 샘플링 비용이 필요하다. 이러한 문제를 해결하기 위해 서로 다른 클래스의 N-1 네거티브 샘플을 고려한 N-쌍 손실(N-pair loss)을 제안한다. N-쌍 손실과 마찬가지로, 모든 네거티브 샘플을 일괄적으로 통합하여 임베딩 기능을 훈련시키기 위해 리프티드 구조 손실(lifted structure loss)을 제안한다. 각도 손실(angular loss)은 거리 측정계가 척도에 민감하다고 간주하고 샘플 간 2차 정보만 고려한 것으로, 삼각형의 네거티브 포인트에서 각도를 제한한다.
하드 네거티브 쌍 마이닝
하드 네거티브 쌍 마이닝은 심층 지표 학습의 수행에 필수적인 역할을 한다. 하드 네거티브 쌍 마이닝 전략의 목적은 훈련 과정에서 더 많은 정보를 제공할 수 있는 거짓 포지티브 샘플(false positive sample)을 점진적으로 선택하는 것이다. 예를 들어, 오프라인 하드 네거티브 쌍 마이닝은 이전에 훈련된 모델에 의해 선택된 하드 네거티브 샘플로 모델을 반복적으로 미세 조정하는 방법이다. 온라인 하드 네거티브 쌍 마이닝은 트리플렛 손실을 계산하기 위해 일괄적으로 가장 하드한 포지티브와 네거티브를 선택하는 방법이다. 세미 하드 네거티브 쌍 마이닝은 가장 하드한 포지티브 및 네거티브 같이 데이터에서 노이즈가 될 수 있는 너무 혼란스러운 샘플을 피하기 위한 방법이다. 한 가지 한계점은 마이닝 전략은 대개 선택된 소수에 초점을 맞추고 선택되지 않은 다수를 간과하고 있어 편향된 모델로 이어질 수 있다는 것이다.
하드 샘플 생성
최근 많은 수의 용이한 네거티브 요소를 이용하고 특별한 의미 정보를 가진 모델을 훈련시키기 위해 합성 하드 샘플을 이용할 수 있다. 예를 들어, 심층 적대 지표 학습(DAML) 프레임워크는 적대적 방식으로 용이한 네거티브 샘플로부터 합성 하드 샘플을 생성한다. 마찬가지로, 하드 트리플렛 생성을 위한 적대 신경망은 합성 하드 샘플로 모델을 훈련시킬 수 있다. 경도 인식 심층 지표 학습(HDML) 프레임워크는 오토인코더 아키텍처를 이용하여 임베딩에서 라벨 보존 합성물을 생성하고 경도 레벨을 조작한다. 상기한 방법들은 추가적인 생성 네트워크가 필요하며, 이는 더 큰 모델, 더 느린 훈련 속도, 그리고 더 많은 하이퍼 파라미터를 초래한다.
본 실시예에서는 생성 네트워크를 사용하는 대신 임베딩에 간단한 대수 계산을 통해 기하학적 접근으로 하드 샘플을 생성할 수 있으며, 이를 통해 하이퍼 파라미터 추가나 훈련 속도 증가, 그리고 네트워크 수정 등의 문제 없이 기존의 지표 학습 손실에 쉽게 사용할 수 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일실시예에 따른 컴퓨터 시스템이 수행할 수 있는 심층 지표 학습 방법의 예를 도시한 순서도이다.
도 2에 도시된 바와 같이, 프로세서(120)는 생성부(201), 및 마이닝부(202)를 포함할 수 있다. 이러한 프로세서(120)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(120)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(120)가 오리지널 포인트에 대한 대칭적인 합성 포인트를 생성하도록 컴퓨터 시스템(100)을 제어하기 위해 동작하는 기능적 표현으로서 생성부(201)가 사용될 수 있다.
프로세서(120) 및 프로세서(120)의 구성요소들은 도 3의 심층 지표 학습 방법이 포함하는 단계들(S310 내지 S320)을 수행할 수 있다. 예를 들어, 프로세서(120) 및 프로세서(120)의 구성요소들은 메모리(110)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 심층 지표 학습 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
심층 지표 학습 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
프로세서(120)는 심층 지표 학습 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(110)에 로딩할 수 있다. 예를 들어, 심층 지표 학습 방법을 위한 프로그램 파일은 메모리(110)와는 구분되는 영구 저장 장치에 저장되어 있을 수 있고, 프로세서(120)는 버스를 통해 영구 저장 장치에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(110)에 로딩되도록 컴퓨터 시스템(100)을 제어할 수 있다. 이때, 프로세서(120) 및 프로세서(120)가 포함하는 생성부(201), 및 마이닝부(202) 각각은 메모리(110)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S310 내지 S320)을 실행하기 위한 프로세서(120)의 서로 다른 기능적 표현들일 수 있다. 단계들(S310 내지 S320)의 실행을 위해, 프로세서(120) 및 프로세서(120)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.
도 3을 참조하면, 본 발명에 따른 심층 지표 학습 방법의 일례는 다음의 두 단계를 따른다.
단계(S310)에서 생성부(201)는 임베딩 공간에서 주어진 오리지널 포인트에 대해 대칭적인 합성 포인트를 생성할 수 있다.
단계(S320)에서 마이닝부(202)는 오리지널 포인트와 합성 포인트를 이용하여 지표 학습 손실에 대해 하드 네거티브 쌍 마이닝을 수행할 수 있다.
도 4를 참조하면, 먼저, 생성부(201)는 임베딩 공간에 포지티브 포인트(xi, xj)와 네가티브 포인트(xk, xl)가 주어지면 네가티브 포인트의 경우 각 대칭축에 대해 합성 포인트(x'k, x'l)를 생성한다.
다음으로, 마이닝부(202)는 4개의 특징점, 즉 두 개의 오리지널 포인트와 두 개의 합성 포인트 내에서 가장 하드한 네가티브 포인트를 선택할 수 있다. 도 4는 합성 포인트 중 x'k가 하드 샘플로 선택되는 과정을 예시적으로 도시한 것이다. 도 4에서 사각형과 원은 임베딩 공간에서 서로 다른 클래스에 속하는 포인트를 나타내고, 실선 사각형과 실선 원의 포인트는 오리지널 피처에 해당되고 점선 사각형의 포인트는 합성 피처에 해당된다.
심층 지표 학습 방법을 구체적으로 설명하면 다음과 같다.
단계(S310)는 임베딩에서 대칭적인 합성 포인트를 생성하는 과정이다.
Figure 112019129270623-pat00001
는 데이터 공간이고,
Figure 112019129270623-pat00002
는 d차원 임베딩 공간이라 하자.
Figure 112019129270623-pat00003
를 데이터 공간에서 심층 신경망에 의해 파라미터가 지정된 임베딩 공간까지의 매핑이라 정의한다. 각 포인트 xi가 라벨
Figure 112019129270623-pat00004
Figure 112019129270623-pat00005
를 가질 때 피처 포인트 집합
Figure 112019129270623-pat00006
을 샘플링 한다.
생성부(201)는 동일한 클래스의 두 피처 포인트(xk, xl)가 주어지면 각각을 대칭축으로 하여 합성 포인트(x'k, x'l)를 생성할 수 있다. 도 5를 참조하면, 합성 포인트 x'k를 얻기 위해 xl에 xk를 투영하는
Figure 112019129270623-pat00007
를 수학식 1과 같이 정의한다.
[수학식 1]
Figure 112019129270623-pat00008
여기서,
Figure 112019129270623-pat00009
은 xl의 단위 벡터로,
Figure 112019129270623-pat00010
이다.
합성 포인트 x'k는 수학식 2를 통해 간단히 대수적 공식으로 표현될 수 있다.
[수학식 2]
Figure 112019129270623-pat00011
여기서, α는 합성 포인트가 오리지널 포인트로부터 얼마나 멀리 떨어져 있는지에 관한 것이고 β는 합성 포인트의 놈(norm)이 얼마나 큰지에 관한 것이다. 대칭적인 합성 포인트는 α=2.0, β=1.0일 때 얻을 수 있고, α와 B는 설명과 실험만을 위한 것이며 하이퍼 파라미터에 해당되지 않는다. 다른 대칭적인 합성 포인트 x'l 역시 같은 방법으로 생성될 수 있다.
다시 말해, 대칭축 xl을 기준으로 xk와 대칭인 포인트 x'k을 생성하고 반대로 대칭축 xk을 기준으로 xl와 대칭인 포인트 x'l를 생성한다.
최종적으로, 두 개의 오리지널 포인트와 두 개의 합성 포인트, 즉 네 가지 피처 포인트를 얻을 것이다.
합성 포인트가 대칭적인 속성을 가지고 생성되어야 하는 두 가지 이유가 있다.
첫 번째는 대칭적인 합성이 쌍 사이의 동일한 코사인 유사성과 유클리드(Euclidean) 거리를 제공한다는 것이다(
Figure 112019129270623-pat00012
=
Figure 112019129270623-pat00013
=
Figure 112019129270623-pat00014
). 이렇게 하면 선택한 네거티브 쌍에 포함된 포지티브 포인트가 동일한 유사성과 거리를 가지므로 생성된 포인트가 손실의 포지티브 쌍에 영향을 미치지 않는다.
두 번째 이유는 생성된 합성 포인트는 항상 오리지널 포인트와 동일한 놈(Norm)을 가지기 때문이다. 모든 지표 학습 손실은 놈의 영향을 받을 수 있다. 이를 제어하기 위해 트리플렛 손실은
Figure 112019129270623-pat00015
-정규화를 수행하여 하이퍼-구 공간(hyper-sphere space)에 피처 포인트를 투사하고, N-쌍 및 각도 손실은 공간에서
Figure 112019129270623-pat00016
-정규화 없이 정규화(regularization) 한다.
따라서,
Figure 112019129270623-pat00017
정규화된 포인트에 의해 생성된 합성 포인트는 하이퍼-구 공간에 있을 것이고, 비(non)
Figure 112019129270623-pat00018
정규화된 포인트에 의해 생성된 합성 포인트는 유클리드 공간의 오리지널 포인트와 동일한 표준을 가질 것이다. 이는 훈련 과정 중 표준에 대한 통제의 연속성을 제공하며 최적화를 방해하지 않는다.
단계(S320)는 대칭적인 합성을 이용하기 위해 각 지표 학습 손실에 대해 하드 네거티브 쌍 마이닝을 수행한다. 도 4와 같이 앵커에 기반한 네거티브 쌍을 취하는 대신에 포지티브 클래스의 모든 오리지널 포인트와 합성 포인트를 추가로 사용하여 도 6에 도시한 바와 같이 네거티브 쌍의 수를 확대할 수 있다. 마이닝부(202)는 포지티브 클래스의 4가지 피처 포인트(xi, xj, x'i, x'j)와 네거티브 클래스의 4가지 피처 포인트(xk, xl, x'k, x'l)를 고려하여 먼저 포지티브 포인트와 네거티브 포인트 사이의 16개의 가능한 네거티브 쌍의 유사성을 계산한 후 유사성을 바탕으로 지표 학습 손실에 대해 가장 하드한 네거티브 쌍을 선택한다.
다시 말해, 도 6을 참조하면 각 클래스마다 합성 포인트를 생성하게 되면 두 클래스 사이에 16개의 네거티브 쌍(점선 화살표)을 만들 수 있다. 16개의 네거티브 쌍의 유사성과 유클리드 거리를 계산하여 그 중에 가장 하드한 네거티브 쌍(실선 화살표)를 지표 학습 손실에 사용한다. 이러한 과정이 하드 네거티브 쌍 마이닝에 해당된다.
하드 네거티브 쌍 마이닝 과정은 현재 존재하는 지표 학습 손실(triplet, N-pair, angular, lifted structure loss)에 적용할 수 있다.
포인트 쌍의 코사인 유사성과 유클리드 거리는 대칭 속성(
Figure 112019129270623-pat00019
=
Figure 112019129270623-pat00020
=
Figure 112019129270623-pat00021
)에 의해 동일하기 때문에 단순성을 위해 포지티브 쌍(즉,
Figure 112019129270623-pat00022
)에 대해 오리지널 포지티브 포인트를 사용할 수 있다. 지표 학습 손실과 대칭적인 합성의 조합을 공식화할 수 있다.
Figure 112019129270623-pat00023
를 오리지널 포인트가 있는 포지티브 쌍의 집합이 되게 하고
Figure 112019129270623-pat00024
는 클래스
Figure 112019129270623-pat00025
의 포지티브 포인트, 대칭 합성을 포함한 클래스
Figure 112019129270623-pat00026
의 네거티브 쌍의 집합이 되게 한다.
트리플렛 손실은 수학식 3과 같이 정의되는 샘플의 세 쌍을 고려한다.
[수학식 3]
Figure 112019129270623-pat00027
여기서, m은 마진이고,
Figure 112019129270623-pat00028
는 유클리드 거리이며,
Figure 112019129270623-pat00029
는 힌지 함수(hinge function)를 나타낸다.
대칭 합성을 위해
Figure 112019129270623-pat00030
에서 네거티브 쌍의 유클리드 거리 사이에 최소 풀링으로 하드 네거티브 쌍 마이닝과 트리플렛 손실을 결합한다(수학식 4).
[수학식 4]
Figure 112019129270623-pat00031
리프티드 구조 손실은 각 포지티브 쌍에 대하여 모든 네거티브 쌍에 대한 거리를 비교하고 모든 네거티브 포인트를 마진보다 더 멀리 밀어낸다. 더 정확히 말하면, 수학식 5와 같이 최소화를 수행한다.
[수학식 5]
Figure 112019129270623-pat00032
트리플렛 손실과 유사하게, 수학식 6과 같이 최소 풀링(min-pooling)을 사용하여 대칭 합성 및 리프티드 구조 손실의 조합을 공식화할 수 있다.
[수학식 6]
Figure 112019129270623-pat00033
N-쌍 손실의 경우 추가적인 네거티브 샘플을 트리플렛으로 간주하고 트리플렛은 N-tuplet으로 변환한다. N-쌍 손실은 수학식 7과 같이 정의된다.
[수학식 7]
Figure 112019129270623-pat00034
여기서,
Figure 112019129270623-pat00035
는 임베딩 xi와 xj 사이의 유사성이다.
코사인 유사성 때문에 최대 풀링(max-pooling)을 추가하여 대칭 합성으로 N-쌍 손실을 공식화하고 미니 배치(mini-batch)의 모든 네거티브 클래스에 대해 하드 네거티브 쌍 마이닝을 수행한다(수학식 8).
[수학식 8]
Figure 112019129270623-pat00036
3차 관계를 네거티브 포인트에서 인코딩하기 위해 각도 손실이 제안된다(수학식 9).
[수학식 9]
Figure 112019129270623-pat00037
여기서,
Figure 112019129270623-pat00038
=
Figure 112019129270623-pat00039
이고,
Figure 112019129270623-pat00040
=
Figure 112019129270623-pat00041
이다.
N-쌍 손실과 마찬가지로 수학식 10과 같이 모든 네거티브 클래스에 하드 네거티브 쌍 마이닝을 위한 최대 풀링을 추가하여 대칭 합성과 각 손실 합성을 결합할 수 있다.
[수학식 10]
Figure 112019129270623-pat00042
여기서,
Figure 112019129270623-pat00043
는 클래스
Figure 112019129270623-pat00044
에서 포지티브 포인트 2개와
Figure 112019129270623-pat00045
에서 사용하는 클래스
Figure 112019129270623-pat00046
에서 네거티브 포인트 1개를 갖는 트리플렛 세트이다.
대칭 합성이 지표 학습에 도움이 되는 이유는 다음과 같다.
첫째, 샘플링 전략을 쓰는 손실들은 의미 있는 소수의 데이터만 손실에 사용하고 대다수의 의미없는 데이터를 무시하게 되는데, 이때 합성 피처 포인트를 사용하면 무시될 수 있는 데이터를 이용하여 합성 포인트를 생성할 수 있고 이를 이용하여 증강된 정보를 가지고 학습할 수 있기 때문에 더욱 일반화된 모델을 학습할 수 있다.
둘째, 대칭적인 포인트는 주로 클러스터의 경계선에 생성되기 때문에 하드 네거티브로 이용될 수 있다. 오리지널 포인트와 합성 포인트 내에서 하드 네거티브 쌍 마이닝은 지표 학습 손실이 더 큰 힘으로 다른 클래스를 밀어내도록 하여 클러스터링과 이미지 검색 성능 향상에 도움이 된다.
본 발명의 다른 실시예로서 심층 지표 학습 손실에 대한 임베딩 포인트를 확장하는 방법(embedding point expansion, EE)을 제안한다.
먼저, 관련 기술을 설명하면 다음과 같다.
쿼리 확장 및 데이터베이스 확대
쿼리 이미지 특징을 고려해 볼 때 쿼리와 일치하는 데이터베이스에서 이미지 특징의 순위 목록을 검색하고, 오리지널 쿼리와 함께 높은 순위를 검색한 이미지 특징을 결합한다. 그런 다음, 결합된 이미지 특징을 다시 쿼리하여 매칭 이미지의 확장 집합을 검색하고 필요에 따라 프로세스를 반복한다. 쿼리 확장과 마찬가지로, 데이터베이스 확대(DBA)는 이미지 특징의 품질을 개선하기 위해 데이터베이스의 모든 이미지 특징을 자신과 이웃의 조합으로 대체한다. 본 실시예에서의 임베딩 포인트 확장은 이러한 개념 즉, 이웃의 특징을 활용하여 이미지 표현을 증강시키기 위한 이미지 특징의 조합을 이용할 수 있다. 본 실시예에 따른 임베딩 포인트 확장은 후 처리가 아닌 훈련 단계에서 사용된다. 보다 구체적으로, 본 실시예들은 지표 학습 손실에 대한 시멘틱 정보를 증강시키기 위해 동일한 클래스에서 다수의 조합을 생성한다.
MS(multi- simiarity ) 손실
상기한 지표 학습 손실(triplet, N-pair, angular, lifted structure loss) 이외에도 새로운 지표 학습 손실로서 MS 손실을 이용할 수 있다.
MS 손실은 지표 학습 손실에 대한 최근 연구 중 하나로, 모델이 정보 쌍을 수집하고 가중하는 것을 가능하게 하는 자기 유사성과 상대적 유사성을 공동으로 측정하는 것이다.
이하 수학식에서 라벨
Figure 112019129270623-pat00047
는 상기 수학식에서의 라벨
Figure 112019129270623-pat00048
Figure 112019129270623-pat00049
과 동일하고,
Figure 112019129270623-pat00050
는 유클리드 거리로 상기 수학식 에서의
Figure 112019129270623-pat00051
와 동일하다.
MS 손실은 포지티브 쌍과 네거티브 쌍 모두를 위한 쌍 마이닝을 수행한다.
Figure 112019129270623-pat00052
의 네거티브 쌍은 수학식 11의 조건으로 선택되고
Figure 112019129270623-pat00053
의 포지티브 쌍은 수학식 12의 조건으로 선택된다.
[수학식 11]
Figure 112019129270623-pat00054
[수학식 12]
Figure 112019129270623-pat00055
여기서,
Figure 112019129270623-pat00056
는 주어진 마진이다. 앵커 xi의 경우 포지티브 쌍과 네거티브 쌍의 인덱스 집합을 각각
Figure 112019129270623-pat00057
Figure 112019129270623-pat00058
로 나타낸다. 그런 다음, MS 손실을 수학식 13과 같이 공식화할 수 있다.
[수학식 13]
Figure 112019129270623-pat00059
여기서, α, β, λ는 하이퍼 파라미터이고, N은 훈련 샘플의 수를 나타낸다. MS 손실 또한 마찬가지로 임베딩 특징에서
Figure 112019129270623-pat00060
-정규화를 사용한다.
도 7을 참조하면, 본 발명에 따른 심층 지표 학습 방법의 다른 예는 다음의 두 단계를 따른다.
단계(S710)에서 생성부(201)는 임베딩 공간에서 오리지널 포인트를 결합하여 증강된 이미지 표현을 가진 합성 포인트를 생성할 수 있다.
단계(S720)에서 마이닝부(202)는 오리지널 포인트와 합성 포인트를 이용하여 지표 학습 손실에 대해 하드 네거티브 쌍 마이닝을 수행할 수 있다.
도 8을 참조하면, 첫 번째 단계(S710)에서는 동일한 클래스의 한 쌍의 임베딩 포인트가 주어지면 임베딩 포인트 라인에 선형 보간을 수행하여 n+1개의 부분으로 등분한 후 등분에 따른 내부 분할 합성 포인트를 n개 생성한다. n은 합성 포인트의 수로, 도 8에서는 n=2이다. 두 번째 단계(S720)에서는 오리지널 포인트와 합성 포인트의 네거티브 쌍 내에서 가능한 한 가장 하드한 네거티브 쌍을 선택한다. 도 8에서 사각형과 원은 서로 다른 두 클래스를 나타내고, 실선 사각형과 실선 원은 오리지널 포인트를 나타내고, 점선 사각형과 점선 원은 합성 포인트를 나타낸다.
다시 말해, 생성부(201)는 두 점 사이를 n+1개로 균등하게 나눈 지점에 합성 포인트를 생성함으로써 n개의 합성 포인트를 생성할 수 있고, 마이닝부(202)는 오리지널 포인트와 합성 포인트 사이에서 하드 네거티브 쌍 마이닝을 수행할 수 있다.
본 실시예는 증강된 정보를 포함하는 합성 포인트를 활용함으로써 보다 일반화된 모델을 통해 성능을 향상시킬 수 있고 쌍 기반 지표 학습 손실과 결합될 수 있을 정도로 간단하고 유연하다.
심층 지표 학습 방법을 구체적으로 설명하면 다음과 같다.
단계(S710)는 임베딩 포인트 확장(EE)을 위해 동일한 클래스의 피처 포인트를 임베딩 공간에 결합하여 지표 학습 손실에 대한 정보를 증강시킴으로써 복수의 합성 포인트를 생성하는 과정이다.
구체적으로, 도 9를 참조하면 임베딩 포인트 확장(EE)은 두 피처 포인트
Figure 112019129270623-pat00061
사이의 선형 보간을 통해 내부적으로 포인트를 n+1개의 균등한 구간으로 분할하는 합성 포인트를 생성한다.
임베딩 공간의 동일한 클래스에서 두 개의 피처 포인트
Figure 112019129270623-pat00062
가 주어지면 두 개의 피처 포인트
Figure 112019129270623-pat00063
사이를 n+1개로 균등하게 분할하고 내부적으로 분할 포인트
Figure 112019129270623-pat00064
를 분할 구간에 생성함으로써 합성 포인트
Figure 112019129270623-pat00065
의 집합을 얻을 수 있다.
[수학식 14]
Figure 112019129270623-pat00066
[수학식 15]
Figure 112019129270623-pat00067
여기서, n은 생성되는 포인트의 수이다. 트리플렛 손실, 리프티드 구조 손실, MS 손실과 같이
Figure 112019129270623-pat00068
-정규화를 사용하는 지표 학습 손실에 대해서는 다음과 같이
Figure 112019129270623-pat00069
-정규화를 합성 포인트에 적용해야 한다.
[수학식 16]
Figure 112019129270623-pat00070
[수학식 17]
Figure 112019129270623-pat00071
여기서,
Figure 112019129270623-pat00072
Figure 112019129270623-pat00073
-정규화된 합성 포인트이고,
Figure 112019129270623-pat00074
Figure 112019129270623-pat00075
-정규화된 합성 포인트의 집합이다.
Figure 112019129270623-pat00076
-정규화된 합성 포인트는 동일한 표준과 함께 하이퍼-구 공간에 배치될 것이다.
임베딩 공간에서 내부적으로 n+1의 동등한 구간에 분할 포인트를 생성하는 세 가지 이점이 있다. 첫째, 클러스터된 임베딩 공간에서 각 클래스의 특징 포인트 쌍을 고려할 때, 가장 하드한 네거티브 쌍의 유사성은 각 클래스로부터 각 쌍의 라인 세그먼트(line segment) 사이 최단 거리(즉, 도 8의
Figure 112019129270623-pat00077
)가 될 것이다. 그러나, 고차원 공간에서 유한 길이의 세그먼트 사이 최단 거리를 계산하는 것은 계산적으로 비용이 많이 든다. 대신에, 각 클래스의 내부 분할 포인트 사이 거리를 계산함으로써 더 적은 계산으로 문제를 근사하게 만들 수 있다. 둘째, 합성 포인트의 라벨은 클래스 클러스터 내에 포함되기 때문에 높은 수준의 확실성을 갖는다. 기존 샘플 생성 방법은 완전 연결 계층(fully connected layer)과 소프트맥스(softmax) 손실을 이용하여 합성 포인트의 라벨을 제어하는 반면, 본 발명에 따른 샘플 생성 방법은 기하학적 관계(geometrical relation)를 고려하여 합성 포인트 라벨의 확실성을 보장할 수 있다. 셋째, 본 발명의 합성 포인트 생성 방법은 임베딩 공간에서 간단한 선형 보간법을 수행하기 때문에 처리 속도와 메모리에 영향을 미치지 않는다.
단계(S720)에서는 임베딩 포인트 확장(EE)으로 생성된 합성 포인트를 이용하여 각 지표 학습 손실에 대해 하드 네거티브 쌍 마이닝을 수행하는 것으로, 합성 포인트와 오리지널 포인트 사이에서 하드 네거티브 쌍 마이닝을 수행할 수 있다. 단계(S720)는 상기한 단계(S320)의 하드 쌍 마이닝 과정과 동일하다.
하드 쌍 마이닝은 네거티브 쌍에 대해 행해지고, 오리지널 포인트는 포지티브 쌍에 사용된다. 그 이유는 합성 포인트가 내부적으로 두 개의 포인트를 나누고 있기 때문에 오리지널 포인트와 합성 포인트 사이의 하드 포지티브 쌍 마이닝이 항상 오리지널 포인트의 쌍이 되기 때문이다.
상기한 임베딩 포인트 확장(EE)과 함께 대표적인 지표 학습 손실의 조합을 공식화하면 다음과 같다.
임베딩 포인트 확장(EE)이 결합된 트리플렛 손실은 트리플렛 손실에 대한 가장 하드한 쌍이 가장 작은 유클리드 거리를 가진 쌍이기 때문에 네거티브 쌍에 최소 풀링을 추가함으로써 수학식 18과 같이 공식화할 수 있다.
[수학식 18]
Figure 112019129270623-pat00078
여기서,
Figure 112019129270623-pat00079
는 클래스
Figure 112019129270623-pat00080
에서의 포지티브 포인트, 합성 포인트를 포함한 클래스
Figure 112019129270623-pat00081
에서의 네거티브 포인트를 이용한 네거티브 쌍의 집합이다.
임베딩 포인트 확장(EE)이 결합된 리프티드 구조 손실 또한 임베딩 포인트 확장을 추가하기 위해 네거티브 쌍의 유클리드 거리의 최소 풀링을 사용해야 한다. 임베딩 포인트 확장(EE)이 결합된 리프티드 구조 손실은 수학식 19과 같이 힌지 손실을 최소화하는 것으로 구성된다.
[수학식 19]
Figure 112019129270623-pat00082
임베딩 포인트 확장(EE)이 결합된 N-쌍 손실은 네거티브 쌍에 최대 풀링을 사용하여 수학식 20과 같이 공식화할 수 있다. N-쌍 손실에 대한 가장 하드한 쌍이 트리플렛 손실 및 리프티드 구조 손실과 달리 가장 큰 유사성을 가진 쌍이기 때문이다.
[수학식 20]
Figure 112019129270623-pat00083
임베딩 포인트 확장(EE)이 결합된 MS 손실에는 두 가지 종류의 하드 네거티브 쌍 마이닝이 포함된다. 하나는 임베딩 포인트 확장(EE)이고, 다른 하나는 MS 손실이다. 수학식 11의 조건을 수정하여 하드 네거티브 쌍 마이닝을 모두 통합한다.
Figure 112019129270623-pat00084
의 네거티브 쌍은 수학식 21의 조건과 함께 선택된다.
[수학식 21]
Figure 112019129270623-pat00085
그리고, 앵커
Figure 112019129270623-pat00086
의 선택된 네거티브 쌍의 인덱스 집합을
Figure 112019129270623-pat00087
로 정의한다. 그런 다음, 임베딩 포인트 확장(EE) 및 MS 손실의 조합을 수학식 22와 같이 공식화할 수 있다.
[수학식 22]
Figure 112019129270623-pat00088
본 실시예들에서는 오리지널 포인트와 합성 포인트를 이용하여 하드 네거티브 쌍 마이닝을 수행함에 있어 상기한 지표 학습 손실 이외에도 모든 쌍 기반 지표 학습 손실을 적용할 수 있다.
이처럼 본 발명의 실시예들에 따르면, 추가적인 생성 네트워크를 사용하지 않고 임베딩 공간에서의 기하학 계산을 이용하여 하드 샘플을 생성할 수 있어 지표 학습 손실에 대한 하이퍼 파라미터가 프리하고 훈련 시간과 훈련 난이도의 증가 문제를 해결할 수 있다. 그리고, 본 발명의 실시예들에 따르면, 대칭적 합성을 통해 하드 샘플을 생성함으로써 샘플 쌍 사이의 유사성 또는 거리 기준으로 계산되는 모든 지표 학습 손실에 플러그앤플레이 방식으로 사용할 수 있어 학습 성능을 향상시킬 수 있다. 또한, 본 발명의 실시예들에 따르면, 특징점의 조합에 의해 증강 정보를 포함하는 합성 포인트를 생성함으로써 보다 간단하고 유연한 방법을 통해 모델 크기, 훈련 속도, 그리고 최적화 난이도에 영향을 주지 않고 쌍 기반 지표 학습 손실에 결합하여 사용 가능한 모델을 구축할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터 시스템에서 실행되는 심층 지표 학습 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 심층 지표 학습 방법은,
    상기 적어도 하나의 프로세서에 의해, 임베딩 공간에서 주어진 오리지널 포인트(original point)를 이용한 대수 계산(algebraic computation)을 통해 합성 포인트(synthetic point)를 생성하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 오리지널 포인트와 상기 합성 포인트를 이용하여 지표 학습(metric learning)에 사용하기 위한 하드 네거티브 쌍(hard negative pair)을 마이닝하는 단계
    를 포함하는 심층 지표 학습 방법.
  2. 제1항에 있어서,
    상기 합성 포인트를 생성하는 단계는,
    하나의 오리지널 포인트에 다른 하나의 오리지널 포인트를 투영한 포인트를 이용한 대수 계산을 통해 상기 합성 포인트를 생성하는 것
    을 특징으로 하는 심층 지표 학습 방법.
  3. 제1항에 있어서,
    상기 합성 포인트를 생성하는 단계는,
    상기 오리지널 포인트의 대칭 정보 또는, 상기 오리지널 포인트의 조합에 의한 증강 정보를 이용하여 상기 합성 포인트를 생성하는 것
    을 특징으로 하는 심층 지표 학습 방법.
  4. 제1항에 있어서,
    상기 합성 포인트를 생성하는 단계는,
    동일한 클래스의 오리지널 포인트를 임베딩 공간에 결합하여 지표 학습 손실에 대한 정보를 증강시킴으로써 합성 포인트 집합을 생성하는 것
    을 특징으로 하는 심층 지표 학습 방법.
  5. 제1항에 있어서,
    상기 합성 포인트를 생성하는 단계는,
    동일한 클래스의 한 쌍의 오리지널 포인트가 주어지면 오리지널 포인트 사이를 선형 보간을 통해 분할하여 분할 지점에 상기 합성 포인트를 생성함으로써 합성 포인트 집합을 생성하는 것
    을 특징으로 하는 심층 지표 학습 방법.
  6. 제1항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 단계는,
    상기 오리지널 포인트와 상기 합성 포인트를 이용하여 서로 다른 두 클래스 사이의 복수 개의 네가티브 쌍을 만드는 단계; 및
    각 네가티브 쌍의 유사성 또는 거리를 기초로 상기 복수 개의 네가티브 쌍 중 가장 하드한 네가티브 쌍을 선택하여 지표 학습 손실에 사용하는 단계
    를 포함하는 심층 지표 학습 방법.
  7. 제6항에 있어서,
    상기 복수 개의 네가티브 쌍을 만드는 단계는,
    포지티브 클래스의 피처 포인트와 네가티브 클래스의 피처 포인트를 이용하여 포지티브 포인트와 네가티브 포인트 사이의 가능한 네가티브 쌍을 만드는 것
    을 특징으로 하는 심층 지표 학습 방법.
  8. 제1항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 단계는,
    트리플렛 손실(triplet loss) 또는 리프티드 구조 손실(lifted structure loss)에 대해 최소 풀링을 사용하여 하드 네거티브 쌍 마이닝을 수행하는 단계
    를 포함하는 심층 지표 학습 방법.
  9. 제1항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 단계는,
    N-쌍 손실(N-pair loss) 또는 각도 손실(angular loss)에 대해 최대 풀링을 사용하여 하드 네거티브 쌍 마이닝을 수행하는 단계
    를 포함하는 심층 지표 학습 방법.
  10. 제1항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 단계는,
    상기 오리지널 포인트와 상기 합성 포인트를 이용하여 MS 손실(multi-simiarity loss)에 대해 하드 네거티브 쌍 마이닝을 수행하는 단계
    를 포함하는 심층 지표 학습 방법.
  11. 제1항 내지 제10항 중 어느 한 항의 심층 지표 학습 방법을 상기 컴퓨터 시스템에 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  12. 제1항 내지 제10항 중 어느 한 항의 심층 지표 학습 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체.
  13. 컴퓨터 시스템에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    임베딩 공간에서 주어진 오리지널 포인트를 이용한 대수 계산을 통해 합성 포인트를 생성하는 과정; 및
    상기 오리지널 포인트와 상기 합성 포인트를 이용하여 지표 학습에 사용하기 위한 하드 네거티브 쌍을 마이닝하는 과정
    을 처리하는 컴퓨터 시스템.
  14. 제13항에 있어서,
    상기 합성 포인트를 생성하는 과정은,
    하나의 오리지널 포인트에 다른 하나의 오리지널 포인트를 투영한 포인트를 이용한 대수 계산을 통해 상기 합성 포인트를 생성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  15. 제13항에 있어서,
    상기 합성 포인트를 생성하는 과정은,
    상기 오리지널 포인트의 대칭 정보 또는, 상기 오리지널 포인트의 조합에 의한 증강 정보를 이용하여 상기 합성 포인트를 생성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  16. 제13항에 있어서,
    상기 합성 포인트를 생성하는 과정은,
    동일한 클래스의 한 쌍의 오리지널 포인트가 주어지면 오리지널 포인트 사이를 선형 보간을 통해 분할하여 분할 지점에 상기 합성 포인트를 생성함으로써 합성 포인트 집합을 생성하는 것
    을 특징으로 하는 컴퓨터 시스템.
  17. 제13항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 과정은,
    상기 오리지널 포인트와 상기 합성 포인트를 이용하여 서로 다른 두 클래스 사이의 복수 개의 네가티브 쌍을 만드는 과정; 및
    각 네가티브 쌍의 유사성 또는 거리를 기초로 상기 복수 개의 네가티브 쌍 중 가장 하드한 네가티브 쌍을 선택하여 지표 학습 손실에 사용하는 과정
    을 포함하는 컴퓨터 시스템.
  18. 제13항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 과정은,
    트리플렛 손실 또는 리프티드 구조 손실에 대해 최소 풀링을 사용하여 하드 네거티브 쌍 마이닝을 수행하는 것
    을 특징으로 하는 컴퓨터 시스템.
  19. 제13항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 과정은,
    N-쌍 손실 또는 각도 손실에 대해 최대 풀링을 사용하여 하드 네거티브 쌍 마이닝을 수행하는 것
    을 특징으로 하는 컴퓨터 시스템.
  20. 제13항에 있어서,
    상기 하드 네거티브 쌍을 마이닝하는 과정은,
    상기 오리지널 포인트와 상기 합성 포인트를 이용하여 MS 손실(multi-simiarity loss)에 대해 하드 네거티브 쌍 마이닝을 수행하는 것
    을 특징으로 하는 컴퓨터 시스템.
KR1020190167101A 2019-12-13 2019-12-13 심층 지표 학습 방법 및 시스템 KR102365450B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190167101A KR102365450B1 (ko) 2019-12-13 2019-12-13 심층 지표 학습 방법 및 시스템
JP2020204341A JP7041239B2 (ja) 2019-12-13 2020-12-09 深層距離学習方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190167101A KR102365450B1 (ko) 2019-12-13 2019-12-13 심층 지표 학습 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20210075709A KR20210075709A (ko) 2021-06-23
KR102365450B1 true KR102365450B1 (ko) 2022-02-21

Family

ID=76432117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190167101A KR102365450B1 (ko) 2019-12-13 2019-12-13 심층 지표 학습 방법 및 시스템

Country Status (2)

Country Link
JP (1) JP7041239B2 (ko)
KR (1) KR102365450B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114625923B (zh) * 2022-03-18 2024-01-09 北京百度网讯科技有限公司 视频检索模型的训练方法、视频检索方法、装置以及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Theoretically Sound Upper Bound on the Triplet Loss for Improving the Efficiency of Deep Distance Metric Learning 1부*
Deep Metric Learning via Lifted Structured Feature Embedding 1부*

Also Published As

Publication number Publication date
JP7041239B2 (ja) 2022-03-23
JP2021096848A (ja) 2021-06-24
KR20210075709A (ko) 2021-06-23

Similar Documents

Publication Publication Date Title
US10853726B2 (en) Neural architecture search for dense image prediction tasks
US11669744B2 (en) Regularized neural network architecture search
CN110612538B (zh) 生成输入数据项的离散潜在表示
US20200342316A1 (en) Attention-based decoder-only sequence transduction neural networks
EP3380939B1 (en) Adaptive artificial neural network selection techniques
US11842220B2 (en) Parallelization method and apparatus with processing of neural network model for manycore system
EP4040378A1 (en) Burst image-based image restoration method and apparatus
US20200057947A1 (en) Response inference method and apparatus
CN115359314A (zh) 模型训练方法、图像编辑方法、装置、介质与电子设备
JPWO2017072890A1 (ja) データ管理システム、データ管理方法およびプログラム
EP4118658A1 (en) Retrosynthesis using neural networks
KR102365450B1 (ko) 심층 지표 학습 방법 및 시스템
KR102305575B1 (ko) 이미지 간 유사도를 이용한 유사 영역 강조 방법 및 시스템
KR102371487B1 (ko) 명목형 데이터를 포함하는 데이터를 기반으로 하는 학습 방법 및 장치
CN114239858B (zh) 一种用于分布式图模型的图学习方法及设备
US11755671B2 (en) Projecting queries into a content item embedding space
JP6012814B1 (ja) 逐次クラスタリング装置、方法、及びプログラム
WO2023055614A1 (en) Embedding compression for efficient representation learning in graph
Chang et al. Deep unitary convolutional neural networks
US11775871B1 (en) Optimizing machine learning based on embedding smart data drift
US20220101174A1 (en) Sharing and executing custom machine learning algorithms
US20240028899A1 (en) Stickification using anywhere padding to accelerate data manipulation
KR102289411B1 (ko) 가중치 기반의 피처 벡터 생성 장치 및 방법
KR20230164314A (ko) 도메인 일반화를 위한 학습 방법 및 장치
JP2022160741A (ja) データ処理装置、データ処理システム及びデータ処理方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant