[Deep Learning] 인코더 디코더 모델
인코더 모델 (Encoder Models)
인코더 모델 (encoder models)은 Transformers 모델의 인코더 모듈만 사용한다. 각 단계에서 어텐션 계층 (attention layer)은 초기/원본 입력 문장 (initial sentence)의 모든 단어에 액세스할 수 있다. 이러한 모델은 종종 양방향 (bi-directional) 주의 집중 (attention)을 수행하는 것이 특징이며, auto-encoding model 이라고 부르기도 한다.
이러한 모델의 사전 학습 (pre-training) 과정에서 일반적으로 주어진 초기 문장을 다양한 방법을 사용하여 손상시키고 (ex: 임의의 단어를 masking), 손상시킨 문장을 다시 원래 문장으로 복원하는 과정을 통해서 모델 학습이 진행된다.
인코더 모델은 문장 분류 (sentence classification), 개체명 인식 (named-entity recognition), 혹은 더 일반적으로 단어 분류 (word classification) 및 추출형 질의응답 (extractive question answering) 등과 같이 전체 문장에 대한 이해가 필요한 작업 (task)에 가장 적합하다. 대표적인 모델은 다음과 같다.
|
디코더 모델 (Decoder Models)
디코더 모델 (decoder models)은 Transformer 모델의 디코더 모듈만 사용한다. 각 단계에서 주어진 단어에 대해 어텐션 레이어는 문장에서 현재 처리 단어 앞쪽에 위치한 단어들에만 액세스할 수 있다. 이러한 모델을 일반적으로 자동 회귀 모델 (auto-regressive models) 이라고 한다.
디코더 모델의 사전 학습은 일반적으로 문장의 다음 단어 예측을 수행함으로써 이루어진다. 이러한 모델은 텍스트 생성 (text generation)과 관련된 작업에 가장 적합하다. 대표적인 모델은 다음과 같다.
|
인코더-디코더 모델 (Encoder-Decoder models)
인코더-디코더 모델 (sequence-to-sequence 모델이라고도 함)은 Transformer 아키텍처의 두 부분, 즉 인코더와 디코더 모두를 사용한다. 각 단계에서 어텐션 계층은 초기/원본 입력 문장의 모든 단어에 액세스할 수 있는 반면, 디코더의 어텐션 레이어는 문장에서 현재 처리 단어 앞쪽에 위치한 단어들에만 액세스할 수 있다.
이러한 모델의 사전 학습은 인코더 또는 디코더 모델의 목적 함수 (objectives)를 사용하여 수행될 수 있지만 일반적으로 약간 더 복잡한 처리 과정이 수반된다. 예를 들어, 임의의 텍스트 일부분 (text span, 여러 단어를 포함할 수 있음)을 하나의 마스크 특수 단어 (mask special word)로 대체하여 사전 학습되며, 학습 목표는 이 마스크 단어가 대체할 텍스트를 예측하는 것이다.
인코더-디코더 모델은 요약 (summarization), 번역 (translation) 또는 생성형 질의응답 (generative question answering) 등과 같이 주어진 입력에 따라 새로운 문장을 생성하는 작업에 가장 적합하다. 대표적인 모델은 다음과 같다.
|