본문 바로가기

NLP 자연어 처리, Natural Language Processing

Zero Shot Learning(제로샷 학습, 0shot)

출처 : https://en.wikipedia.org/wiki/Zero-shot_learning

Zero shot learning(ZSL)은 기계 학습에서 설정된 문제로, Test 때 Learner는 훈련 중에 관찰되지 않은 클래스의 샘플을 관찰하며, 이들이 속한 범주를 예측해야 한다. 이 문제는 컴퓨터 비전, 자연어 처리, 기계 인식에서 널리 연구되고 있습니다.

 

배경과 역사

 

자연어 처리의 제로 샷 학습에 대한 첫 논문은 AAAI'08에 등장했지만 학습 패러다임에 주어진 이름은 데이터없는 분류였습니다.

[1] www.aaai.org/Papers/AAAI/2008/AAAI08-132.pdf

 

컴퓨터 비전의 제로 샷 학습에 관한 첫 논문은 제로 데이터 학습이라는 이름으로 같은 컨퍼런스에서 발표되었습니다.

[2] www.aaai.org/Papers/AAAI/2008/AAAI08-103.pdf

 

이후에 더 잘 알려진 다른 논문에서 대중화되었고, 제로 샷 학습이라는 용어는 몇 년 전에 컴퓨터 비전에 도입 된 원 샷 학습을 따라 잡았습니다.

 

컴퓨터 비전에서 제로 샷 학습 모델은 클래스 표현과 함께 본 클래스에 대한 매개 변수를 학습했으며 추론 중에 인스턴스를 새 클래스로 분류할 수 있도록 클래스 레이블 간의 표현 유사성에 의존합니다.

 

자연어 처리에서 개발된 주요 기술적 방향은 분류될 문서의 의미적 공간과 동일한 의미적 공간에서 레이블을 나타내는 "라벨 이해" 기능을 기반으로 합니다. 이것은 제로샷 분류의 가장 순수한 형태인 주석이 달린 데이터를 관찰하지 않고 단일 예제의 분류를 지원합니다. 첫 논문에서는 명시적 의미 분석(Explicit Semantic Analysis, ESA) 표현을 사용했지만 이후 논문은 조밀한(Dense) 표현을 포함한 다른 표현을 사용했다. 이러한 접근 방식은 다국어 도메인과 미세한 엔티티 입력 및 기타 문제에도 확장되었습니다. 표현에만 의존하는 것을 넘어, 계산 접근 방식은 텍스트 수반과 질문 답변과 같은 다른 작업으로부터의 전송에 의존하도록 확장되었습니다.

 

AAAI'08에 제출된 원본 논문은 또한 단일 사례를 분류할 수 있는 능력을 넘어, 사례 집합이 동일한 분포에서 나온다는 가정하에 성능을 반-감독적인 방식으로 부트스트랩할 수 있다고 지적합니다.

 

분류자가 학습 중에 이미 관찰한 클래스로 새로운 샘플을 올바르게 분류할 것으로 예상되는 기계 학습의 표준 일반화와는 달리, 제로 샷에서는 분류기를 훈련하는 동안 클래스의 샘플이 제공되지 않았습니다. 따라서 도메인 적응의 극단적인 경우로 볼 수 있습니다.

 

제로 샷 클래스에 대한 전제 조건 정보

 

당연하지만 제로샷 클래스에 대한 어떤 형태의 사이드 정보가 제공되어야 하며, 이러한 유형의 정보는 여러 가지 유형이 될 수 있습니다.

 

속성을 이용한 학습 : 클래스는 미리 정의된 구조화된 설명과 함께 제공됩니다. 예를 들어, 조류 설명의 경우, "빨간 머리", "긴 부리"를 포함할 수 있습니다. 이러한 속성은 종종 구조화된 구성 방식으로 구성되며, 이러한 구조를 고려함으로써 학습을 향상시킬 수 있습니다. 이 접근 방식은 주로 컴퓨터 비전에 사용되었지만, 자연어 처리에서도 몇가지 예가 있습니다.

 

텍스트 설명을 통해 학습을 하는 것 : 위에서 지적했듯이, 이것은 자연어 처리에서 추구하는 핵심 방향이었습니다. 여기서 클래스 레이블은 의미를 가지기 위해 사용되며 정의 또는 자유 텍스트 자연어 설명으로 보강되는 경우가 많습니다. 예를 들어, 클래스에 대한 위키 백과 설명을 포함할 수 있습니다.

 

클래스 유사성 : 여기서 클래스는 연속 공간에 내장됩니다. 제로 샷 분류기는 샘플이 해당 공간의 특정 위치에 해당한다고 예측할 수 있으며, 훈련 중에 이러한 샘플이 관찰되지 않았더라도 가장 가까운 임베디드 클래스가 예측 클래스로 사용됩니다.

 

일반화된 제로 샷 학습

 

위의 제로 샷 설정은 테스트 시 제로샷 샘플, 즉 보이지 않는 새로운 클래스의 샘플만 주어진다고 가정합니다. 일반화된 제로샷 학습에서는 새로운 클래스와 알려진 클래스의 샘플이 모두 테스트 시간에 나타날 수 있습니다. 주어진 샘플이 새로운 것인지 아니면 알려진 것인지 추정하는 것이 매우 어렵기 때문에, 이는 테스트 시 분류자에게 새로운 과제를 제기합니다. 이러한 문제를 해결하기 위한 접근방식은 다음과 같습니다.

 

게이트 접근법 : 먼저 추가 모듈을 학습하여 주어진 샘플이 새 클래스인지 또는 이전 클래스읹니 여부를 결정합니다. 게이터는 어려운 결정[3]을 출력할 수 있지만 부드러운 확률론적 결정을 방출하면 이 접근법[4]의 정확도가 더욱 향상됩니다.

[3] arxiv.org/pdf/1301.3666.pdf

[4] arxiv.org/pdf/1812.09903.pdf

 

생성적 접근 방식 : 생성 모델은 보이지 않는 클래스의 특징 표현을 생성하도록 학습됩니다. 그런 다음 표준 분류기는 보이는 것과 보이지 않는 모든 클래스의 표본을 사용하여 학습됩니다.[5]

[5] arxiv.org/pdf/1808.00136.pdf

 

+ NLP TASK Zero Shot Sample 추가 필요

반응형