본문 바로가기
성공지식백과 로고성공지식백과
GLOSSARY

텍스트 인코더 (Text Encoder)

중급

이 페이지는 AI 문맥에서 자주 쓰이는 텍스트 인코더 (Text Encoder)의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.

텍스트 인코더(Text Encoder)는 입력 문장을 신경망으로 처리해 다른 계산에 사용할 수 있는 벡터 표현으로 바꾸는 구성요소입니다. 토크나이저가 만든 입력을 받아 단어와 문맥의 관계를 학습한 수치 표현을 만듭니다. 이 표현은 이미지와 문장의 유사도를 비교하거나 이미지 생성의 조건으로 쓸 수 있으며, 출력 형태와 활용 방식은 모델에 따라 달라집니다.

토큰에서 벡터 표현으로의 변환

문장을 모델에 넣기 전에는 먼저 토크나이저가 텍스트를 처리해 토큰에 해당하는 번호로 바꿉니다. 텍스트 인코더는 그 번호들을 입력으로 받아 신경망 계산을 수행합니다. Transformers의 CLIP 문서는 텍스트 모델에 전달하는 input_ids를 어휘 목록의 토큰 번호로 설명하며, 토크나이저로 이 값을 얻는다고 명시합니다. 입력을 준비하는 단계와 학습된 표현을 계산하는 단계가 구분됩니다.

토큰 번호는 어떤 토큰인지 가리키는 식별자이고, 인코더의 출력은 여러 수치로 이루어진 표현입니다. 둘 다 숫자라고 해서 같은 정보를 담는 것은 아닙니다. 토큰 번호의 크기를 비교해 문장의 의미가 얼마나 비슷한지 판단하지 않습니다. 텍스트 인코더를 거친 결과는 해당 모델이 학습한 관계를 반영하므로, 이를 사용하는 작업에 맞는 출력과 비교 방식을 선택합니다.

텍스트 인코더라는 이름만으로 모든 출력이 문장당 하나의 벡터라고 정해지지는 않습니다. 같은 CLIP 문서는 텍스트 모델의 마지막 층에서 나오는 토큰별 표현과, 모아서 처리한 표현을 구분합니다. 후속 작업이 토큰별 정보를 필요로 하는지 전체 입력을 대표하는 표현을 필요로 하는지에 따라 쓰는 출력이 달라집니다. 출력의 배열 크기와 각 축이 뜻하는 바를 보면 어떤 단위의 정보가 남아 있는지 확인할 수 있습니다.

CLIP의 이미지와 텍스트 비교

CLIP 원 논문은 어떤 설명문이 어떤 이미지에 대응하는지 학습하는 접근을 제시했습니다. 사전에 고정한 물체 종류만 예측하는 대신 자연어 설명을 학습 신호로 활용하는 방식입니다. 이 사례에서 텍스트 인코더는 이미지와 비교할 문장의 표현을 만드는 역할을 합니다. 텍스트 인코더 전체를 CLIP이라는 한 모델 이름과 같은 뜻으로 쓰기보다는, CLIP 안에서 해당 구성요소가 맡는 일을 구분합니다.

Transformers의 CLIP 구조 설명에 따르면 이미지 인코더와 텍스트 인코더는 각각 시각 특징과 텍스트 특징을 만듭니다. 두 특징을 같은 차원의 공간으로 투영한 뒤 유사도를 계산합니다. 이미지와 문장을 원래 형식 그대로 비교하는 대신 학습된 수치 표현을 비교하는 과정입니다. 차원 수뿐 아니라 두 표현이 서로 대응하도록 함께 학습된 관계도 비교의 바탕이 됩니다.

사진에 어울리는 설명을 고르는 작업에서는 여러 후보 문장을 인코딩하고 사진의 표현과 비교할 수 있습니다. 이 점수는 모델의 표현 공간에서 얻은 대응 정도이며, 문장에 적힌 모든 사실을 검증한 판정과는 다릅니다. 비슷한 장면을 설명하는 문장들 사이에서 세부 관계나 수량이 달라질 수도 있습니다. 어떤 설명이 더 적합한지 평가하려면 그 작업에서 구분해야 할 차이를 실제 후보와 함께 살핍니다.

생성 조건과 모델 구성의 확인

Stable Diffusion 파이프라인 문서는 토크나이저와 텍스트 인코더를 별도 구성요소로 두고, 프롬프트 임베딩을 생성 과정의 입력으로 받는 방식을 설명합니다. 텍스트 인코더는 프롬프트의 표현을 준비하며, 이미지를 만드는 다른 구성요소가 이를 조건으로 사용합니다. 문장을 표현으로 바꾸는 단계와 최종 이미지가 만들어지는 단계가 연결돼 있는 구조입니다.

텍스트 표현을 만든다는 기능은 다음 단어를 이어 써서 문장을 생성하는 기능과도 구분됩니다. 이미지 생성 파이프라인의 텍스트 인코더가 문장을 받아들인다고 해서 그 구성요소만으로 대화 답변을 생성하는 것은 아닙니다. 입력을 어떤 표현으로 만들고, 다음 구성요소가 그 표현을 어떻게 쓰는지를 보면 역할이 드러납니다. 같은 텍스트를 다루는 신경망이라도 학습 목적과 출력 사용 방식은 달라질 수 있습니다.

파이프라인을 구성할 때는 텍스트 인코더에 맞는 토크나이저와 기대하는 출력 형태를 함께 확인합니다. 다른 인코더가 같은 크기의 벡터를 만든다는 이유만으로 기존 구성요소와 교체할 수 있다고 판단하지 않습니다. 학습된 표현의 의미와 후속 모델이 받는 조건이 맞아야 하기 때문입니다. 생성 결과가 프롬프트와 어긋났다면 입력 처리, 사용한 텍스트 표현, 생성 모델의 조건 사용을 나누어 살펴볼 수 있습니다.

RELATED TERMS

관련 용어

텍스트 인코더 (Text Encoder)와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.