쉽게 말하면, 인코더는 문장, 사진, 소리 같은 입력을 컴퓨터가 계산하기 쉬운 숫자 묶음으로 바꾸는 신경망 부품이다. 이 숫자 묶음에는 과제에 필요한 정보가 남고 잡음은 버려지며, 분류, 검색, 군집화 같은 다음 단계가 이 결과를 받아 쓴다.
| 분류 | 신경망 구성 요소 |
|---|---|
| 역할 | 입력을 압축된 잠재 표현(벡터)으로 변환 |
| 대표 구조 | 트랜스포머 인코더, 오토인코더, 비전 트랜스포머(ViT), CLIP 등 |
| 모델 규모 | 인코더 전용 BERT 계열 약 5천만~15억 개 매개변수 |
| 주요 활용 | 분류, 생성, 번역, 검색, 군집화, 이상 탐지 |
1. 개요
머신러닝에서 인코더(encoder)는 텍스트, 이미지, 오디오, 코드 같은 입력을 압축된 구조적 표현으로 바꾸는 신경망 구성 요소다. 이 표현은 잠재 표현(latent representation), 문맥 벡터, 임베딩 벡터라고도 부른다. 인코더는 과제에 필요한 정보는 남기고 잡음은 버리도록 학습하며, 분류, 검색, 군집화, 디코딩 같은 후속 구성 요소가 쓸 수 있는 고정 길이 또는 가변 길이 벡터를 만든다.
현대 시스템에서 인코더는 토큰 ID를 벡터로 바꾸는 조회 테이블만큼 작을 수도 있고, 10억 장의 이미지로 학습한 220억 매개변수 비전 트랜스포머만큼 클 수도 있다. BERT 같은 인코더 전용 언어 모델은 대체로 5천만~15억 개 매개변수이며, 함께 쓰이는 디코더 전용 대규모 언어 모델보다 훨씬 작다. 인코더는 오토인코더, 시퀀스-투-시퀀스 모델, 트랜스포머 기반 시스템 등 여러 구조의 기반 부품이다. 입력의 핵심 특징을 담아 분류, 생성, 번역, 검색, 군집화, 이상 탐지를 가능하게 한다.
인코딩 개념은 차원 축소와 표현 학습의 초기 연구로 거슬러 올라가지만, 인코더는 2000년대와 2010년대 딥러닝이 부상하면서 특히 두드러졌다. 오늘날 인코더 구조는 자연어 처리, 컴퓨터 비전, 음성, 멀티모달 AI의 영향력 있는 모델 여럿을 떠받친다. 의미 검색 엔진, 검색 시스템, 이미지 분류기, 문장 유사도 도구, CLIP 같은 멀티모달 모델의 지각 구성 요소가 이를 활용한다.
2. 작동 원리
인코더는 문장, 이미지, 오디오 클립 같은 입력을 일련의 학습된 변환을 거쳐 고정 길이 또는 가변 길이 표현으로 바꾼다. 이 표현은 주어진 과제에 가장 관련 있는 정보를 보존하고, 잡음이나 중복은 버리도록 설계된다.
가장 단순한 단층 인코더는 다음 식으로 나타낸다.
E(x) = σ(Wx + b)x는 입력, W는 가중치 행렬, b는 편향 벡터, σ는 비선형 활성화 함수다. 실제 현대 인코더는 이런 층을 여러 겹 쌓아 풍부한 계층적 특징을 학습하는 깊은 신경망 구조를 이룬다.
인코더의 출력인 잠재 표현(또는 은닉 상태)은 디코더, 분류기 헤드, 검색 색인 같은 후속 구성 요소의 입력이 된다. 트랜스포머 인코더에서 출력은 입력 토큰마다 하나씩 생기는 문맥화된 벡터의 열이며, 각 벡터는 셀프 어텐션을 통해 입력의 다른 모든 토큰의 영향을 받는다. 합성곱 이미지 인코더의 출력은 보통 여러 크기에서 공간 구조를 담은 특징 맵들을 쌓은 것이다.2
인코더는 보통 표현이 어떤 목표와 맞도록 손실 함수로 학습된다. 오토인코더는 재구성 오차를, BERT 계열은 마스크된 토큰 예측을, CLIP과 Sentence-BERT는 대조 정렬을, 라벨이 있는 과제에서는 지도 분류 손실을 쓴다. 인코더의 성격을 정하는 것은 특정 구조보다 이 학습 목표의 선택이 훨씬 크다.
3. 인코더의 종류
인코더의 설계 공간은 놀라울 만큼 넓다. 같은 이름 아래 정수 ID를 벡터로 바꾸는 단순한 아핀 투영부터, 10억 장의 이미지로 학습한 220억 매개변수 비전 트랜스포머까지 모두 포함된다.
| 축 | 양 끝 | 예시 |
|---|---|---|
| 무손실 대 손실 | 무손실: 입력 정보가 모두 보존된다. 손실: 설계상 정보를 버린다 | 무손실: 위치 인코딩, 원-핫 인코딩. 손실: 오토인코더, 임베딩, MAE |
| 선형 대 비선형 | 선형: 인코더가 행렬 곱 하나다. 비선형: 비선형 층을 쌓는다 | 선형: PCA, 고전적 단어 임베딩(조회 테이블). 비선형: BERT, ViT, 오토인코더 |
| 대칭 대 비대칭 | 대칭: 인코더와 디코더가 서로 대응한다. 비대칭: 한쪽이 훨씬 작거나 없다 | 대칭: 고전 오토인코더, U-Net. 비대칭: MAE(무거운 인코더, 가벼운 디코더), BERT(디코더 없음) |
| 결정적 대 확률적 | 결정적: 입력마다 벡터 하나를 낸다. 확률적: 입력마다 분포를 낸다 | 결정적: BERT, ViT, ResNet. 확률적: 변분 오토인코더 |
| 단일 모달 대 멀티모달 | 한 모달리티로만 학습한다 / 다른 모달리티와 함께 학습한다 | 단일: BERT(텍스트), ViT(이미지). 멀티모달: CLIP, SigLIP, ALIGN |
| 인과적 대 양방향 어텐션 | 각 토큰이 과거 토큰만 볼 수 있다 / 모든 토큰을 볼 수 있다 | 인과적: GPT(엄밀히는 디코더). 양방향: BERT, ViT, MAE |
무손실 인코더인 위치 인코딩은 정보를 버리지 않고 형태만 바꾼다. 토큰 인덱스가 어텐션 층이 쓸 수 있는 사인파 벡터로 바뀌면서 같은 내용을 담는다. 반대쪽 극단에서 오토인코더의 병목은 일부러 작게 만들어져, 재구성을 위해 중요한 것만 남기도록 강제한다. 대부분의 실제 서비스용 인코더는 그 중간 어딘가에 있다.
4. 오토인코더
오토인코더는 인코더와 디코더 두 부분으로 이루어진 비지도 신경망 구조다. 인코더는 고차원 입력 공간(X = R^m)의 데이터를 더 낮은 차원의 잠재 공간(Z = R^n, 단 m > n)으로 압축한다. 디코더는 이 압축된 표현에서 원래 입력을 복원하려 한다. 잠재 공간이 입력 공간보다 작으므로 인코더는 가장 중요한 특징만 배우도록 강제되며, 이를 병목(bottleneck)을 만든다고 설명하기도 한다.3
딥러닝에서 오토인코더가 다시 주목받은 계기는 보통 힌턴과 Salakhutdinov가 2006년 학술지 Science에 발표한 논문 「Reducing the Dimensionality of Data with Neural Networks」로 꼽힌다. 두 사람은 제한된 볼츠만 머신을 쌓아 사전 학습하고 역전파로 미세 조정한 깊은 오토인코더가 주성분 분석(PCA)보다 훨씬 나은 저차원 코드를 만들 수 있음을 보였다. 저자들은 이런 망의 가중치를 경사 하강법으로 미세 조정할 수는 있지만, 초기 가중치가 좋은 해에 가까울 때만 잘 작동한다고 설명했다. 이 논문은 2000년대 후반 딥러닝 부흥을 촉발한 계기 중 하나로 널리 꼽힌다.4
오토인코더는 차원 축소, 특징 추출, 데이터 압축, 잡음 제거 등 여러 목적에 쓰인다. 주요 변형은 다음과 같다.
| 변형 | 설명 |
|---|---|
| 표준 오토인코더 | 입력을 압축된 잠재 코드로 바꾸고 다시 복원하는 결정적 매핑을 학습한다 |
| 잡음 제거 오토인코더(DAE) | 손상된 입력에서 원래의 깨끗한 데이터를 복원하도록 학습하며(Vincent et al. 2008), 이로써 견고성이 높아진다5 |
| 희소 오토인코더(SAE) | 잠재 코드에 희소성을 강제해 대부분의 값이 0에 가깝게 만들고, 작고 조밀한 특징을 찾도록 유도한다 |
| 수축 오토인코더(CAE) | 인코더 야코비안에 기반한 규제 항을 더해, 입력의 작은 변화에 표현이 둔감하도록 유도한다 |
| 변분 오토인코더(VAE) | 입력을 고정 벡터 대신 확률 분포의 매개변수로 매핑하며(Kingma and Welling 2013), 생성 모델링을 가능하게 한다6 |
| 마스크드 오토인코더(MAE) | 입력 패치의 높은 비율을 가리고 복원하도록 학습하며, He et al.(2022)이 비전용으로 제안했다7 |
4.1. 잡음 제거 오토인코더
잡음 제거 오토인코더는 2008년 ICML에서 파스칼 빈센트(Pascal Vincent)와 동료들이 소개했다. 인코더는 손상된 입력을 깨끗한 원본으로 되돌리도록 학습한다. 손상은 가우시안 잡음, 드롭아웃 방식의 지우기, 소금-후추 잡음 마스킹 등으로 만들 수 있다. 입력이 일부 훼손되어도 쓸 만한 표현을 만들게 하면, 잡음 제거 학습은 단순 재구성보다 더 견고한 특징을 찾는 경향이 있다. 빈센트 등(2010)의 적층 잡음 제거 오토인코더는 이 방식을 깊은 망으로 확장했다. 한 번에 한 층씩 잡음 제거 층을 학습시키는 방식으로, 역전파가 깊은 구조에서 일상화되기 전까지 심층 신뢰 신경망과 잠시 경쟁했다.5,8
잡음 제거 원리는 현대 자기 지도 학습의 밑바탕에 있다. BERT의 마스크 언어 모델링은 토큰 단위의 잡음 제거 목표이며, 확산 모델은 모든 잡음 수준에서 이미지를 복원하도록 네트워크를 학습한다. 시각용 마스크드 오토인코더는 이 계보를 직접 잇는다.
4.2. 변분 오토인코더
변분 오토인코더(VAE)는 2013년 Kingma와 Welling이 소개했으며, 오토인코더에 확률적 잠재 공간을 도입했다. 표준 오토인코더는 인코더가 잠재 공간의 고정된 한 점을 출력하는 반면, VAE의 인코더는 확률 분포의 매개변수를 출력한다. 보통 잠재 차원마다 가우시안 분포의 평균(μ)과 로그 분산(log σ²)을 낸다.
잠재 샘플을 만들 때는 재매개변수화 기법(reparameterization trick)을 쓴다. z = μ + σ ⊙ ε로 쓰며, ε는 표준 정규 분포 N(0, 1)에서 뽑는다. 이 기법 덕분에 기울기가 샘플링 연산을 거쳐 거슬러 흐를 수 있어, 역전파로 종단간 학습이 가능해진다.6
VAE 인코더는 재구성 오차와 쿨백-라이블러(KL) 발산 항을 합한 손실 함수로 학습한다. KL 항은 학습된 잠재 분포가 표준 정규 사전 분포에 가깝게 머물도록 한다. 이런 규제 덕분에 매끄럽고 연속적인 잠재 공간이 생기며, 새 데이터 샘플을 만들거나 예시 사이를 보간하기에 적합하다.
4.3. 시각용 마스크드 오토인코더
마스크드 오토인코더(MAE)는 Kaiming He 등 연구진이 2022년 제안했으며, 마스크 기반 복원 아이디어를 이미지에 적용했다. MAE는 이미지를 패치로 나누고 큰 비율(보통 75%)을 가린 뒤, 비대칭 인코더-디코더로 빠진 픽셀을 복원하도록 학습한다. 인코더는 보이는 패치만 처리하는 표준 ViT이며, 가려진 패치는 아예 처리하지 않는다. 가벼운 디코더는 인코딩된 보이는 패치와 학습 가능한 마스크 토큰을 함께 받아 전체 이미지를 복원한다.
논문 초록은 핵심 아이디어를 두 가지로 요약한다. 하나는 마스크 토큰 없이 보이는 패치 부분집합에만 작동하는 인코더와 가벼운 디코더로 이루어진 비대칭 구조다. 다른 하나는 입력 이미지의 75%처럼 높은 비율을 가리는 것이 의미 있는 자기 지도 과제가 된다는 점이다.
이 비대칭성 덕분에 MAE는 대규모에서도 실용적이다. 사전 학습 중 인코더는 마스크 토큰을 보지 않으므로 계산의 대부분이 입력 패치의 일부에만 쓰인다. 그 결과 인코더에 마스크 토큰을 넣는 방법보다 약 3배 빠르게 학습하면서 정확도도 높아졌다. 기본 ViT-Huge를 ImageNet-1K로 MAE 학습한 뒤 같은 데이터셋의 라벨만으로 미세 조정하여 상위 1위 정확도 87.8%를 얻었다. 이는 추가 라벨 데이터를 쓰지 않은 방법 가운데 최고 결과다.7
5. 시퀀스-투-시퀀스 인코더
인코더-디코더 틀은 2010년대 초 seq2seq 구조를 거치며 자연어 처리의 표준 패러다임이 되었다. 2014년 두 논문이 사실상 현대의 막을 열었다. Cho, van Merriënboer 등 연구진은 새로운 게이트 순환 유닛(GRU)을 쓰는 순환 신경망 기반 인코더-디코더 틀을 통계 기계 번역에 도입했다. 이어 Sutskever, Vinyals, Le 연구진이 구글에서 「Sequence to Sequence Learning with Neural Networks」를 발표했다. 이 논문은 다층 LSTM을 인코더와 디코더 모두에 썼다. 이 모델은 WMT'14 영어-프랑스어 테스트셋에서 BLEU 34.8을 기록해, 강력한 구문 기반 통계 시스템을 앞섰다.9,10
seq2seq 모델에서 인코더는 입력 시퀀스(예: 원문 문장)를 토큰 단위로 순환 신경망(RNN), 장단기 메모리(LSTM) 네트워크, 또는 게이트 순환 유닛(GRU)으로 처리한다. 입력 전체를 읽은 뒤 인코더는 입력의 의미를 요약한 최종 은닉 상태, 즉 문맥 벡터(context vector)를 만든다.9
디코더는 이 문맥 벡터를 바탕으로 출력 시퀀스를 한 토큰씩 생성한다. 이 구조는 기계 번역, 텍스트 요약, 대화 시스템에 성공적으로 쓰였고, 2017년 트랜스포머가 자리 잡기 전까지 2014년부터 자연어 처리의 지배적 패러다임으로 남았다.
5.1. seq2seq 병목 문제
초기 seq2seq 모델의 근본 한계는 정보 병목이었다. 인코더가 입력 전체를 고정 크기 문맥 벡터 하나로 압축하기 때문에, 길거나 복잡한 입력은 인코딩 과정에서 정보를 잃었다. 문맥 벡터는 입력 길이와 관계없이 전체 요약을 담아야 했고, 그 결과 긴 시퀀스에서 성능이 떨어졌다.
이 병목은 Bahdanau, Cho, Bengio가 2014년 제안한 어텐션 메커니즘으로 해결되었다. 어텐션은 디코더가 마지막 인코더 은닉 상태에만 기대지 않고, 각 디코딩 단계마다 인코더의 모든 은닉 상태를 보도록 한다. 디코더는 인코더 위치마다 다른 가중치를 배워, 각 출력 토큰에 가장 관련 있는 입력 부분에 집중한다. 그 결과 모든 정보를 벡터 하나로 압축할 필요가 없어졌고, 긴 시퀀스 과제의 성능이 크게 좋아졌다. 어텐션은 3년 뒤 트랜스포머를 여는 개념적 열쇠가 되었다.11
6. 트랜스포머 인코더
트랜스포머 구조는 Vaswani 등이 2017년 논문 「Attention Is All You Need」에서 소개했으며, 순환 구조를 셀프 어텐션으로 완전히 대체했다. 이 논문은 순환과 합성곱을 모두 뺀 채 어텐션 메커니즘만으로 이루어진 새 단순 망 구조를 제안했다. 원래 트랜스포머는 기계 번역을 위한 인코더-디코더 구조였고, 그 인코더 절반은 이후 방대한 인코더 전용 모델 계열의 기반이 되었다.
원래 트랜스포머의 인코더는 같은 구조의 층 6개를 쌓은 형태다. 각 층에는 다음 두 개의 하위 층이 있다.
- 멀티헤드 셀프 어텐션 하위 층. 각 토큰이 입력의 모든 토큰을 동시에 참조한다. 원래 모델은 차원 64인 병렬 멀티헤드 어텐션 헤드를 8개 썼으며, 서로 다른 위치에서 서로 다른 표현 부분공간의 정보를 함께 참조하도록 했다.
- 위치별 피드포워드 신경망(FFN) 하위 층. FFN(x) = ReLU(xW₁ + b₁)W₂ + b₂로 정의되며 각 위치에 독립적으로 적용된다. 원래 모델의 피드포워드 차원(d_ff)은 2048, 모델 차원(d_model)은 512였다.2
각 하위 층은 잔차 연결과 층 정규화로 감싸진다. 인코더는 모든 입력 토큰을 병렬로 처리한다. RNN이 토큰을 하나씩 순서대로 처리하는 것과 달리, 이 방식은 최신 하드웨어에서 학습 효율을 훨씬 높인다.
트랜스포머 인코더의 핵심 성질은 양방향 어텐션을 쓴다는 점이다. 각 토큰은 앞뒤를 가리지 않고 입력의 모든 토큰을 볼 수 있다. 디코더는 미래 위치를 보지 못하도록 인과적(마스크) 어텐션을 쓰는데, 이와 대비된다. 양방향성 덕분에 트랜스포머 인코더는 이해 과제에 강하지만, 같은 이유로 자기회귀 텍스트 생성에 바로 쓸 수는 없다.
셀프 어텐션은 입력 순서를 바꿔도 결과가 같은 순열 불변 성질을 가지므로, 토큰 순서를 알려 주는 명시적 신호가 필요하다. 원 논문은 입력 임베딩에 사인파 위치 인코딩 벡터를 더했다. 이후 모델들은 학습된 위치 임베딩, 상대 위치 편향, 회전 위치 임베딩(RoPE) 등을 쓰기도 했다.2
7. 인코더 전용 언어 모델
인코더 전용 구조는 트랜스포머의 인코더 스택만 쓰고 디코더를 두지 않는다. 이 모델들은 입력 전체를 양방향 셀프 어텐션으로 처리해 토큰마다 문맥화된 표현을 만든다. 텍스트 생성보다는 자연어 이해(NLU) 과제를 위해 설계되었다.
가장 영향력 있는 인코더 전용 모델은 Devlin 등이 2018년 발표한 BERT(Bidirectional Encoder Representations from Transformers)다. BERT는 모든 층에서 왼쪽과 오른쪽 문맥을 함께 조건으로 삼아, 라벨 없는 텍스트로부터 깊은 양방향 표현을 사전 학습하도록 설계되었다. 이렇게 사전 학습된 모델은 출력 층 하나만 추가해 여러 과제에 미세 조정할 수 있다.
BERT의 사전 학습은 두 목표로 이루어진다. 마스크 언어 모델링(MLM)은 입력 토큰의 15%를 무작위로 가리고 모델이 맞히게 하며, 다음 문장 예측(NSP)은 두 문장이 연이어 나오는지 예측한다. 가린 15% 위치 중 80%는 특수 토큰 [MASK]로, 10%는 무작위 토큰으로, 나머지 10%는 원래 토큰 그대로 바꾸는 방식을 썼다. 이 기법은 다운스트림 입력에는 [MASK]가 없다는 점에서 생기는 사전 학습과 미세 조정 사이의 불일치를 줄이려는 것이었다.
BERT는 단일 사전 학습 인코더에 작은 헤드만 붙여 미세 조정해도 GLUE, SQuAD, SWAG 벤치마크 모음 전체에서 한꺼번에 최고 수준 결과를 낼 수 있음을 보였다. 이 논문은 현대 NLP에서 가장 많이 인용되는 논문 중 하나이며, BERT식 학습 방법은 긴 계보의 후속 모델을 낳았다.12
| 모델 | 연도 | 층 수 | 은닉 크기 | 매개변수 | 핵심 혁신 |
|---|---|---|---|---|---|
| BERT-Base | 2018 | 12 | 768 | 110M | 양방향 MLM과 NSP 사전 학습 |
| BERT-Large | 2018 | 24 | 1024 | 340M | BERT-Base를 키운 버전12 |
| RoBERTa | 2019 | 24 | 1024 | 355M | NSP 제거, 동적 마스킹, 더 큰 배치, 더 많은 데이터13 |
| ALBERT | 2019 | 최대 24 | 768-4096 | 12M-235M | 층 간 매개변수 공유, 인수분해된 임베딩14 |
| DistilBERT | 2019 | 6 | 768 | 66M | 지식 증류. 크기는 60% 작고 성능의 97%를 유지 |
| ELECTRA | 2020 | 12 | 768 | 110M | MLM 대신 대체 토큰 탐지15 |
| DeBERTa-v3 | 2021 | 24 | 1024 | 304M-1.5B | 분리된 어텐션, SuperGLUE에서 인간 기준선을 처음 넘음16 |
| XLNet | 2019 | 24 | 1024 | 340M | 순열 언어 모델링, 자기회귀 변형 |
RoBERTa(Liu 등, 2019)는 사실상 훈련을 더 강하게 밀어붙인 BERT다. NSP 과제를 없애고, 에포크마다 바뀌는 동적 마스킹을 쓰며, 약 10배 많은 데이터로 더 큰 배치를 써서 학습했다. 아키텍처를 바꾸지 않고도 대부분의 벤치마크에서 원래 BERT를 앞섰으며, 사전 학습 방법이 모델 설계만큼 중요하다는 것을 보여 주었다.13
ELECTRA(Clark, Luong, Le, Manning, 2020)는 MLM 목표를 대체 토큰 탐지로 바꾼다. 작은 생성기 네트워크가 그럴듯한 대체어를 골라 입력 토큰 일부를 바꾸고, 주 인코더는 각 토큰이 원래 것인지 대체된 것인지 분류하도록 학습한다. 손실이 BERT가 가리는 15%만이 아니라 모든 토큰에 대해 계산되므로 표본 효율이 훨씬 높다. 단일 GPU에서 4일간 학습한 작은 ELECTRA 모델이 30배 많은 연산량을 쓴 원래 GPT를 GLUE 벤치마크에서 앞섰다.15
DeBERTa(Pengcheng He 등, 2020)는 분리된 어텐션을 도입한다. 각 단어를 내용과 위치라는 두 벡터로 나타내고, 내용과 상대 위치에 대해 분리된 행렬로 어텐션 점수를 계산한다. DeBERTa-v3는 여기에 ELECTRA식 대체 토큰 탐지를 결합했다. 15억 개 매개변수로 키웠을 때 SuperGLUE 벤치마크에서 인간 기준 성능을 처음 넘은 모델이 되었다.16
인코더 모델은 텍스트 분류, 감성 분석, 개체명 인식(NER), 질의응답, 의미역 결정, 검색 시스템용 밀집 텍스트 임베딩 생성에 널리 쓰인다. 주요 벤치마크의 헤드라인은 디코더 전용 LLM이 차지하지만, 인코더 모델은 훨씬 작고 빠르며 특정 과제에 미세 조정하기 쉬워 실서비스 NLP의 주력으로 남아 있다.
8. 인코더-디코더 모델
인코더-디코더 트랜스포머 모델은 인코더와 디코더 스택을 모두 유지한다. 인코더는 양방향 어텐션으로 입력을 처리하고, 디코더는 인과적 어텐션과 인코더 출력에 대한 크로스 어텐션을 써서 출력을 자기회귀로 생성한다. 입력과 출력이 모두 시퀀스이지만 둘의 관계가 엄격하게 정렬되지 않은 과제, 예를 들어 번역, 요약, 구조화된 생성에 자연스러운 구조다.
| 모델 | 개발사 | 연도 | 매개변수 | 설명 |
|---|---|---|---|---|
| 원래 트랜스포머 | 구글(Vaswani 등) | 2017 | 약 1억 | 인코더 6층과 디코더 6층. seq2seq를 위한 셀프 어텐션을 도입2 |
| T5 | Google Research(Raffel 등) | 2019 | 6,000만~110억 | Text-to-Text Transfer Transformer. 모든 NLP 과제를 텍스트 생성으로 구성17 |
| BART | Meta AI(Lewis 등) | 2019 | 약 1억 4천만~4억 | BERT식 인코더와 GPT식 디코더. 텍스트 훼손으로 사전 학습18 |
| mT5 | 구글 | 2020 | 최대 130억 | 101개 언어로 학습한 다국어 T5 |
| Flan-T5 | 구글 | 2022 | 최대 110억 | 지시 튜닝으로 미세 조정한 T5 |
| UL2 | 구글 | 2022 | 200억 | 여러 잡음 제거 목표를 아우르는 통합 사전 학습 |
T5는 텍스트-투-텍스트 틀을 쓴다. 번역, 요약, 분류, 질의응답을 포함한 모든 NLP 과제를 과제별 접두어(예: "summarize: ...")를 붙여 텍스트 생성 문제로 바꾼다. BART는 토큰 마스킹, 문장 순열, 텍스트 채우기로 텍스트를 훼손한 뒤, 디코더가 원문을 복원하도록 사전 학습된다. 두 모델 모두 원래 트랜스포머 구조를 충실히 따르며, T5는 사인파 인코딩 대신 상대 위치 임베딩을 쓴다.17,18
9. 문장·임베딩 인코더
텍스트 인코더는 텍스트를 의미를 담은 밀집 벡터 표현(임베딩)으로 바꾼다. Word2Vec과 GloVe 같은 초기 방식은 문맥과 무관한 정적 단어 임베딩을 만들었다. 현대 텍스트 인코더는 같은 단어라도 주변 문맥에 따라 다른 표현을 갖는 문맥적 임베딩을 만든다.
기본 BERT는 문장 수준 임베딩에 최적이 아니다. 토큰 수준 출력을 보통 풀링으로 모아 하나의 문장 벡터를 만들어야 하기 때문이다. Reimers와 Gurevych는 2019년 BERT 출력을 단순 평균 풀링하면 GloVe 벡터를 평균한 것보다 나쁜 문장 임베딩이 나온다는 것을 보였다. 또 기본 BERT로 두 문장을 비교하려면 두 문장을 함께 모델에 넣어야 한다. 문장 1만 개 가운데 가장 비슷한 쌍을 찾으려면 약 5천만 번의 추론 실행(약 65시간)이 필요해, 규모가 커지면 사실상 감당할 수 없을 만큼 느리다.
Sentence-BERT(SBERT)는 Nils Reimers와 Iryna Gurevych가 EMNLP 2019에서 소개했으며, 샴(Siamese) 및 트리플렛 네트워크 구조로 BERT식 모델을 미세 조정한다. 두 인코더는 가중치를 공유하며 문장 벡터를 각각 만든다. 손실 함수는 의미가 비슷한 문장 쌍을 벡터 공간에서 가깝게, 다른 쌍을 멀게 밀어낸다. SBERT는 문장 1만 개에서 가장 비슷한 쌍을 찾는 시간을 65시간에서 약 5초로 줄이면서, 함께 넣어 점수를 매기는 BERT와 같은 정확도를 유지했다. 이 연구에서 출발한 SentenceTransformers 라이브러리는 문장 인코더 모델을 학습하고 서비스하는 표준 틀이 되었다.19
구글의 Universal Sentence Encoder(Cer 등, 2018)는 SBERT보다 앞선 모델로, 대형 트랜스포머 기반 모델과 더 작은 심층 평균 네트워크(DAN) 두 가지 변형을 제공했다. 두 변형 모두 512차원 임베딩을 만들며, 정확도 절대값보다 지연 시간이 더 중요한 짧은 텍스트 유사도 과제에서 여전히 실서비스에 쓰인다.20
더 최근의 텍스트 인코더는 규모와 품질을 한층 더 키웠다. MTEB(Massive Text Embedding Benchmark) 리더보드는 E5, BGE, GTE, Nomic Embed, Jina Embeddings, Stella 등 수십 개의 경쟁 모델과 OpenAI 및 Cohere의 다양한 독점 임베딩을 추적한다. 대부분은 BERT식 또는 DeBERTa식 인코더를 백본으로 쓰며, 수억 개의 약하게 라벨된 쌍에 대조 손실을 걸어 미세 조정한다.
10. 비전 인코더
컴퓨터 비전에서 인코더는 이미지에서 공간 특징을 뽑아, 분류, 검출, 분할, 이미지 검색 같은 후속 과제에 맞는 표현으로 바꾼다.
10.1. CNN 기반 인코더
합성곱 신경망(CNN)은 오랫동안 지배적인 이미지 인코더 구조였다. ResNet(He 등, 2015), VGG(Simonyan and Zisserman, 2014), Inception(Szegedy 등, 2015), EfficientNet(Tan and Le, 2019) 같은 모델이 특징 추출 백본으로 쓰인다. 이들은 연속된 합성곱 층으로 이미지를 처리하며 점점 추상적인 시각 특징을 포착한다. 초기 층은 가장자리와 질감을, 깊은 층은 부품과 사물 같은 패턴을 학습한다. 마지막 합성곱 블록에서 평균 풀링한 특징은 분류에 직접 쓰이거나, 이미지 분할 같은 과제를 위해 디코더로 넘겨진다. 이 백본은 트랜스포머 어텐션이 메모리를 너무 많이 쓰는 엣지 기기에서 여전히 많은 실서비스 시스템을 떠받친다.
10.2. 비전 트랜스포머(ViT)
Dosovitskiy 등은 2020년 비전 트랜스포머(ViT)를 소개하며, 트랜스포머 인코더를 이미지 이해에 맞게 적응시켰다. 합성곱으로 픽셀 배열을 처리하는 대신, ViT는 이미지를 고정 크기 패치(보통 16x16 픽셀)로 나누고, 각 패치를 선형으로 임베딩한 뒤 위치 임베딩을 더해 표준 트랜스포머 인코더에 토큰 열로 넣는다. JFT-300M 같은 대규모 데이터로 학습하면 순수 트랜스포머 인코더가 이미지 분류에서 CNN과 같거나 더 나을 수 있음을 보였다. ViT-Base/16, ViT-Large/16, ViT-Huge/14 변형은 이후 비전 과제의 표준 백본이 되었다.21
10.3. Swin 트랜스포머
Swin 트랜스포머(Liu 등, 2021)는 이동하는 국소 어텐션 창을 기반으로 한 계층적 인코더를 도입한다. 셀프 어텐션은 겹치지 않는 국소 창 안에서 계산되며, 번갈아 나오는 블록이 창 격자를 이동시켜 정보가 두 층마다 창 경계를 넘도록 한다. 이 계산 패턴은 합성곱 피라미드에 가까워져, 검출과 분할 같은 밀집 예측 과제에 잘 맞는다. Swin은 강한 결과로 ICCV 2021 Marr Prize를 받았다. ImageNet 상위 1위 정확도 87.3%, COCO 검출 58.7 box AP와 51.1 mask AP, ADE20K 분할 53.5 mIoU를 기록했다.22
10.4. DINO와 DINOv2
DINO(Caron 등, 2021)와 후속작 DINOv2(Oquab 등, 2024)는 이미지 라벨 없이 학습한 자기 지도 비전 인코더다. DINOv2는 2024년 초 Transactions on Machine Learning Research에 실렸으며, Maxime Oquab이 이끈 팀이 Meta AI에서 발표했다. 이 모델은 큐레이션된 1억 4,200만 장의 이미지 데이터셋으로, 모멘텀 인코더를 쓰는 판별형 자기 증류 목표로 사전 학습되었다.23,24
DINOv2의 강점은 선형 프로브만 얹어도 얼린 특징이 분류, 깊이 추정, 분할, 인스턴스 검색 등 여러 다운스트림 비전 과제에서 잘 작동한다는 것이다. 백본을 미세 조정할 필요가 없다. 학습 파이프라인은 비슷한 판별형 자기 지도 방법보다 약 2배 빠르고 메모리는 3분의 1만 쓴다. 로보틱스, 의료 영상, 라벨 데이터가 부족한 환경에서 DINOv2 특징은 널리 쓰이는 기성 비전 백본이 되었다.24
10.5. 비전 인코더로서의 MAE
앞의 오토인코더 절에서 설명한 마스크드 오토인코더는 자기 지도 비전 인코더 역할도 한다. 사전 학습 후 MAE 인코더를 경량 디코더에서 떼어 내 독립적인 특징 추출기로 쓰거나, 다운스트림 과제에 미세 조정한다. MAE 특징은 객체 탐지와 의미 분할 같은 과제에서 지도 학습된 ImageNet 사전 학습과 견줄 만하거나 그보다 강하다.7
11. 멀티모달 인코더
멀티모달 인코더는 둘 이상의 모달리티를 공유 벡터 공간에 투영한다. 이 공간에서 가까이 있는 벡터들은 모달리티가 달라도 의미가 관련된 내용을 나타낸다.
11.1. CLIP
CLIP(Contrastive Language-Image Pre-training)은 2021년 OpenAI가 개발한 대표적인 예다. 이미지와 텍스트에 각각 인코더를 따로 두고, 웹에서 모은 4억 쌍의 이미지-텍스트 데이터로 대조 손실을 써서 두 인코더를 함께 학습한다. 배치의 N쌍마다 맞는 이미지-텍스트 벡터의 코사인 유사도는 최대화하고, 맞지 않는 N²-N개 쌍의 유사도는 최소화한다. 이렇게 얻은 유사도 행렬에 대칭 교차 엔트로피 손실을 적용한다.25
CLIP의 이미지 인코더는 보통 ViT(예: ViT-L/14)이며 ResNet 변형도 있다. 텍스트 인코더는 12층 GPT식 트랜스포머이고, 그 출력을 풀링해 인코더처럼 쓴다.
이 구조의 성과는 작업별 미세 조정 없이 임의의 이미지 범주를 제로샷으로 분류할 수 있다는 점이다. 이미지를 분류하려면 이미지를 임베딩하고, 'a photo of a cat', 'a photo of a dog' 같은 문자열도 임베딩한 뒤, 이미지와 코사인 유사도가 가장 높은 문자열을 고른다. CLIP은 이후 Stable Diffusion과 여러 오픈소스 비전-언어 모델을 포함한 많은 시스템에서 텍스트-이미지 정렬 모듈로 쓰였다.25
11.2. SigLIP와 LiT
SigLIP(Zhai 등, ICCV 2023)은 CLIP의 소프트맥스 정규화 대조 손실을 단순한 쌍별 시그모이드 손실로 바꾼다. 각 이미지-텍스트 쌍은 맞는지 아닌지를 가리는 독립된 이진 분류 문제로 다뤄져, 배치 전체에 걸친 전역 정규화가 필요 없다. 이 변화 덕분에 훨씬 큰 배치 크기로 확장할 수 있고, 작은 배치에서도 성능이 좋으며, 비교적 소박한 하드웨어에서도 잘 작동한다. SigLIP 저자들은 TPUv4 칩 4개만으로 Large LiT 모델을 배치 크기 20k로 학습해 2일 만에 ImageNet 제로샷 정확도 84.5%에 도달했다.26
LiT(Zhai 등, 2022)는 대조 잠금 이미지 튜닝(contrastive locked image tuning)을 도입했다. 이미지 인코더는 강한 사전 학습 비전 모델로 초기화해 고정하고, 텍스트 인코더만 그에 맞춰 학습한다. 표현 학습과 정렬을 이렇게 분리하면, 두 인코더를 처음부터 학습하는 것보다 제로샷 전이가 더 잘 되는 경향이 있다.
11.3. 기타 멀티모달 인코더
구글의 ALIGN, 메타의 ImageBind, 애플의 MM-CLIP 변형은 같은 듀얼 인코더 패턴을 더 많은 모달리티와 잡음이 많은 데이터로 확장한다. ImageBind는 이미지를 기준점으로 삼아 여섯 가지 모달리티(이미지, 텍스트, 오디오, 깊이, 열화상, IMU)를 하나의 임베딩 공간에 학습한다.
12. 오디오·음성 인코더
오디오 인코더는 원시 파형이나 스펙트로그램을 벡터 표현으로 바꿔, 후속 모델이 전사, 분류, 음원 분리, 화자 식별에 쓸 수 있게 한다.
wav2vec 2.0(Baevski, Zhou, Mohamed, Auli, 2020)은 합성곱 특징 인코더와 트랜스포머 문맥 인코더로 이루어진 자기 지도 음성 인코더다. 잠재 음성 표현의 일부를 가리고, 대조 손실로 가려진 구간의 올바른 양자화 표현을 여러 방해 후보 가운데서 맞히도록 학습한다. 라벨 없는 오디오 53,000시간으로 사전 학습한 뒤, 전사된 음성 10분만으로 미세 조정해도 LibriSpeech clean/other 테스트셋에서 단어 오류율 4.8%/8.2%를 얻었다. 매우 적은 라벨 데이터로도 강한 음성 인식이 가능함을 처음 보여 준 결과다.27
Whisper(Radford 등, OpenAI, 2022)는 68만 시간의 약하게 지도된 다국어 오디오로 학습한 트랜스포머 인코더-디코더다. 인코더는 16kHz 오디오를 25ms 창과 10ms 간격으로 처리해 만든 80채널 로그-멜 스펙트로그램을 입력으로 받는다. 자기 지도가 아니라 규모와 약한 지도로 학습해, 제로샷 설정에서 이전의 완전 지도 시스템과 견줄 만한 전사 결과를 내며 99개 언어에서 작동한다.28
HuBERT(Hsu 등, 2021)는 wav2vec 2.0의 대조 손실을 군집 기반 목표로 바꾸어, 가려진 음성 구간의 이산 군집 라벨을 예측한다. 구글의 USM(Universal Speech Model, 2023)과 메타의 MMS(Massively Multilingual Speech, 2023)는 음성 인코더를 수천 개 언어로 넓힌다.
13. 코드 인코더
소스 코드 이해에 특화된 인코더 계열도 있다. CodeBERT(Feng 등, 2020)는 마이크로소프트가 공개한 BERT식 이중 모달 인코더로, GitHub에서 Python, Java, JavaScript, PHP, Ruby, Go 여섯 개 언어의 자연어-프로그래밍 언어 쌍으로 학습했다. 사전 학습에는 ELECTRA식 대체 토큰 탐지를 쓰며, 코드 검색, 코드 문서 생성, 코드와 자연어의 정렬 같은 과제를 지원한다.29
GraphCodeBERT(Guo 등, 2021)는 사전 학습에 데이터 흐름 그래프를 넣어 변수 사이의 구조적 의존성을 포착한다. UniXcoder(Guo 등, 2022)는 코드, 주석, 추상 구문 트리를 아우르는 교차 모달 사전 학습을 통합하며, 인코더와 디코더로 모두 작동한다. StarEncoder(BigCode, 2023)와 CodeT5+(Wang 등, 2023)는 AI 코드 검색, 취약점 탐지, 클론 탐지 같은 도구를 떠받치는 최신 공개 코드 인코더다.
14. 학습 목표
인코더는 모달리티가 달라도 겉보기에는 비슷해 보인다. 이들을 구분하는 것은 학습에 쓴 손실 함수다. 주요 사전 학습 목표는 다음과 같다.
| 목표 | 설명 | 예시 모델 |
|---|---|---|
| 재구성 | 압축되거나 훼손된 입력에서 원래 입력을 예측한다 | 오토인코더, 잡음 제거 오토인코더, VAE, MAE |
| 마스크 언어 모델링(MLM) | 입력에서 무작위로 가린 토큰을 예측한다. 양방향 문맥을 쓴다 | BERT, RoBERTa, DeBERTa, mBERT, XLM-R12 |
| 대체 토큰 탐지 | 각 토큰이 원래 것인지 생성기가 바꾼 것인지 분류한다 | ELECTRA, DeBERTa-v3, CodeBERT15 |
| 대조 학습 | 맞는 쌍은 벡터 공간에서 가깝게, 맞지 않는 쌍은 멀게 한다 | SimCLR, MoCo, CLIP, SigLIP, Sentence-BERT, wav2vec 2.0 |
| 자기 증류 | 인코더의 출력을 자기 모멘텀 평균 교사 복사본의 출력에 맞춘다 | DINO, DINOv2, BYOL |
| 다음 문장 예측(NSP) | 코퍼스에서 두 문장이 연이어 나오는지 분류한다 | BERT(이후 RoBERTa가 제거)12 |
| 순열 언어 모델링 | 무작위 분해 순서에 따라 토큰을 예측한다 | XLNet |
| 구간 훼손 | 연속된 구간을 가리고 그 구간을 예측한다 | T5, SpanBERT |
모든 목표가 오래 살아남은 것은 아니다. 다음 문장 예측은 BERT의 핵심이었지만, RoBERTa와 ALBERT는 이 목표가 중복이거나 심지어 해롭다고 보았다. 2000년대 후반 오토인코더의 희소 부호화 제약은 한때 미래처럼 보였으나, 언어 모델의 해석 가능성 연구를 제외하면 대부분 사라졌다. 반면 대조 학습은 이미지(SimCLR, MoCo)에서 텍스트(Sentence-BERT, SimCSE), 오디오(wav2vec 2.0), 멀티모달(CLIP, SigLIP) 영역으로 확장되어 2020년대의 사실상 지배적인 자기 지도 패러다임이 되었다.
15. 사전 학습 인코더와 전이 학습
현대 딥러닝에서 가장 큰 영향을 준 발전 가운데 하나는 사전 학습된 인코더를 전이 학습에 쓰는 것이다. 과제마다 인코더를 처음부터 학습하는 대신, 먼저 대규모 비라벨 또는 약하게 라벨된 데이터셋에서 자기 지도 목표로 큰 인코더를 사전 학습한다. 이렇게 얻은 인코더는 범용 표현을 담고 있어, 더 작은 과제별 라벨 데이터셋으로 미세 조정할 수 있다.
이 접근은 ULMFiT과 ELMo로 대중화되었고 BERT로 굳어졌다. 이후 비전(ViT, MAE, DINOv2, CLIP), 오디오(wav2vec 2.0, Whisper, HuBERT), 코드(CodeBERT, StarEncoder)로 확장되었다. 장점은 다음과 같다.
- 데이터 효율: 미세 조정에는 처음부터 학습하는 것보다 훨씬 적은 라벨 데이터가 필요하며, 경우에 따라 자릿수 단위로 적다.
- 성능: 사전 학습된 표현은 언어, 시각, 음향에 관한 넓은 지식을 담고 있어 다운스트림 과제에 잘 전이된다.
- 적응성: 하나의 사전 학습 인코더를 분류, 개체명 인식, 의미 유사도, 질의응답, 검색 등 많은 과제에 미세 조정할 수 있다.
- 낮은 비용: 많은 다운스트림 응용에서 가벼운 과제별 헤드만 학습하면 되며, 특히 LoRA 같은 매개변수 효율 방법을 쓸 때 그렇다.
연구에 따르면 미세 조정은 주로 사전 학습 인코더의 상위 층에 영향을 주고, 하위 층은 일반적 특징을 유지한다. 대부분의 경우 미세 조정이 사전 학습에서 얻은 언어나 시각 지식을 밀어내는 치명적 망각을 일으키지는 않지만, 데이터가 적은 환경에서는 그럴 수 있다.
16. 문맥적 임베딩
현대 인코더 구조의 핵심 특징은 문맥적 임베딩을 만들 수 있다는 것이다. Word2Vec이나 GloVe처럼 단어마다 문맥과 무관한 고정 표현 하나를 갖는 정적 단어 벡터와 달리, BERT 같은 인코더 기반 모델은 입력 전체의 문맥에 따라 달라지는 표현을 만든다.12
예를 들어 'river bank'와 'bank account'의 'bank'는 문맥 인코더에서 서로 다른 벡터 표현을 얻는다. 셀프 어텐션이 각 토큰의 표현에 주변 토큰 모두의 정보를 담을 수 있기 때문이다. 이런 문맥적 임베딩은 단어 의미 중의성 해소, 상호참조 해소, 자연어 추론처럼 섬세한 언어 이해가 필요한 과제에서 훨씬 효과적임이 확인되었다.
사전 학습 인코더의 문맥적 임베딩은 추출해 다른 모델의 특징으로 쓸 수도 있으며, 이를 전체 미세 조정과 구분해 특징 기반 전이 학습이라 부르기도 한다. 특징 추출과 미세 조정 중 무엇을 고를지는 데이터셋 크기, 연산 예산, 다운스트림 과제가 사전 학습 분포와 얼마나 다른지에 달려 있다. 사전 학습 분포에 가까운 작은 데이터셋은 얼린 인코더의 특징 추출이 유리한 경우가 많고, 큰 데이터셋이나 먼 과제는 보통 전체 미세 조정을 정당화한다.
17. 인코더와 디코더의 차이
세 가지 트랜스포머 구조 계열은 어텐션 패턴, 학습 목표, 자연스러운 쓰임새가 다르다. 각 계열은 다른 모양의 문제에 맞게 최적화되어 있다.
| 속성 | 인코더 전용 | 디코더 전용 | 인코더-디코더 |
|---|---|---|---|
| 어텐션 유형 | 양방향 | 인과적(마스크) | 양방향 인코더 + 인과적 디코더 + 크로스 어텐션 |
| 일반적인 사전 학습 | MLM, 대체 토큰 탐지 | 다음 토큰 예측 | 구간 훼손, 잡음 제거 |
| 출력 형태 | 토큰별 문맥 표현 | 토큰 단위로 생성된 텍스트 | 입력으로부터 생성된 텍스트 |
| 강점 | 분류, 개체명 인식, 검색, 임베딩 | 개방형 생성, 문맥 내 학습 | 번역, 요약, 구조화된 생성 |
| 텍스트 생성 가능 여부 | 아니오(수정 없이는) | 예, 자기회귀로 | 예, 입력에 대한 크로스 어텐션 사용 |
| 대표 모델 | BERT, RoBERTa, ELECTRA, DeBERTa | GPT, LLaMA, Claude, Mistral | T5, BART, mT5, Flan-T5 |
| 전형적 크기 | 5천만~15억 개 매개변수 | 10억~1조 개 이상 매개변수 | 1억~300억 개 매개변수 |
역사적 흐름은 인코더-디코더(Vaswani 2017)에서 시작해, 인코더 전용(BERT)과 디코더 전용(GPT)이 별도 연구 방향으로 갈라진 짧은 시기를 거쳤다. 이후 GPT-3 이후에는 범용 생성형 LLM의 구조로 디코더 전용이 뚜렷하게 수렴했다. 인코더는 사라지지 않았고, 검색, 분류, 임베딩 생성처럼 여전히 가장 확실하게 강한 역할로 물러났다. 대부분의 현대 검색 증강 생성(RAG) 시스템은 생성에 디코더 전용 LLM을 쓰지만, 검색 단계에는 별도의 인코더 전용 모델이나 대조 이중 인코더를 쓴다.
18. 인코더의 활용
인코더는 생성된 출력이 아니라 입력의 압축되고 비교 가능한 표현이 필요한 곳 어디에나 쓰인다. 가장 흔한 쓰임새는 다음과 같다.
- 분류: 감성 분석, 의도 탐지, 독성 분류, 스팸 필터링, 개체명 인식, 이미지 분류, 오디오 사건 탐지에 쓰인다. 얼린 인코더와 작은 헤드만으로 충분한 경우가 많다.
- 검색과 의미 검색: 인코더가 질의와 문서를 공유 공간에 임베딩하고, 최근접 이웃 탐색으로 가장 가까운 결과를 돌려준다. 밀집 구절 검색(DPR)과 대부분의 현대 검색 및 RAG 시스템의 기반이다.
- 군집화와 주제 모델링: 문장이나 문서 임베딩은 주제별로 자연스럽게 묶이며, BERTopic 같은 도구와 대규모 말뭉치 탐색을 지원한다.
- 이상 및 사기 탐지: 정상 행동의 임베딩이 벡터 공간의 한 영역을 정의하고, 그 밖의 이상치는 표시된다.
- 추천 시스템: 사용자와 아이템 인코더가 함께 공유 임베딩 공간에 투영되며, 유사도로 상품 순위를 매긴다. 투타워 모델은 CLIP과 DPR을 뒷받침하는 이중 인코더 패턴의 산업적 직접 응용이다.
- RAG(검색 증강 생성): 밀집 인코더가 지식 베이스에서 관련 구절을 검색하면, 생성형 LLM이 이를 조건으로 삼아 답한다. 인코더는 LLM이 학습하지 않은 정보에 접근하게 해 주는 핵심 요소다.
- 교차 모달 검색: CLIP식 인코더는 텍스트-이미지 검색(이 캡션과 비슷한 사진 찾기), 이미지-이미지 검색, 제로샷 분류를 가능하게 한다.
- 다운스트림 모델의 기반: 사전 학습된 인코더는 과제별 미세 조정의 출발점인 경우가 많다.30
19. 한계
인코더에는 잘 알려진 한계가 있어, 언제 쓰고 언제 피해야 할지를 정하는 기준이 된다.
가장 근본적인 한계는 순수 인코더가 시퀀스를 생성할 수 없다는 점이다. BERT는 문장이 긍정인지 부정인지는 알려 줄 수 있지만, 긍정 문장을 써 줄 수는 없다. 개방형 생성에는 디코더, 별도의 생성 헤드, 또는 인코더-디코더 구조가 필요하다.
BERT 계열 인코더는 [MASK] 토큰이 만드는 사전 학습과 미세 조정 사이의 불일치 문제도 겪는다. 사전 학습 중 인코더는 전체 토큰의 약 12%가 [MASK]인 입력을 보지만(15%의 80%가 [MASK]로 바뀌므로), 추론 실행 시에는 [MASK]를 전혀 보지 않는다. 이런 학습과 배포 사이의 인위적 간극은 ELECTRA의 대체 토큰 탐지 목표와 원래 BERT의 80/10/10 마스킹 기법을 낳은 동기 중 하나였다.
고정 크기 문장 임베딩과 이미지 임베딩은 공간 구조나 순서 구조를 버리므로, 토큰 수준이나 픽셀 수준의 정밀한 정렬이 필요한 과제에는 쓰기 어렵다. 또 트랜스포머 인코더는 셀프 어텐션 때문에 시퀀스 길이의 제곱에 비례해 연산이 늘어난다. 효율적 어텐션 기법 없이는 책 한 권이나 몇 시간짜리 오디오처럼 아주 긴 입력을 인코딩하기 비싸다.
이중 인코더 검색 모델은 학습에서 보지 못한 질의 방식에 취약할 수 있으며, 질의와 문서를 함께 어텐션하는 크로스 인코더보다 실제 관련성 판단에서 성능이 떨어지는 경향이 있다. 그래서 실서비스 검색 시스템은 흔히 빠른 바이 인코더로 1차 후보를 뽑고, 상위 결과를 더 느리지만 더 정확한 크로스 인코더 재순위기로 다시 정렬한다.30
마지막으로 대규모 사전 학습 인코더는 학습 데이터의 편향과 공백을 물려받는다. BERT는 압도적으로 영어 중심이고, CLIP은 웹에서 긁어모은 이미지-캡션 데이터에 담긴 인구통계적 특성과 고정관념을 반영한다. 코드 인코더는 학습에 쓴 오픈소스 코퍼스의 작성 방식과 버그를 흡수한다. 이런 편향은 인코더 위에 만든 어떤 다운스트림 시스템에도 눈에 띄지 않게 전파될 수 있다.
20. LLM 시대의 인코더
GPT-4, Claude, Gemini 같은 디코더 전용 대규모 언어 모델이 등장하면서 인코더는 쓸모가 없어졌다고 생각할 수 있다. 실제는 더 흥미롭다. 인코더는 검색, 임베딩 생성, 분류라는 세 영역을 지배하며, 이 세 영역은 실제로 규모가 매우 크다. 검색 엔진, RAG 파이프라인, 벡터 데이터베이스, 추천 시스템, 콘텐츠 모더레이션, 멀티모달 AI의 지각 계층 대부분의 중심에 인코더가 있다. 2023~2025년 사이 CLIP, SigLIP, DINOv2 같은 대조 시각-언어 인코더 학습에 쓰인 연산량은 소형 언어 모델에 쓰인 연산량과 비슷한 규모다.
가장 큰 디코더 전용 LLM도 입력 양식을 위해 인코더 방식의 구성 요소에 의존하는 경우가 많다. GPT-4의 비전 기능, Claude의 비전 지원, Gemini는 모두 비전 인코더(대개 대조 학습이나 MAE 목표로 학습한 ViT)를 써서 이미지를 LLM이 참조할 수 있는 토큰형 벡터로 바꾼다. 오디오 모드는 Whisper나 wav2vec 계열에서 내려온 인코더를 쓴다. 도구를 쓰는 에이전트형 LLM은 임베딩 기반 도구 검색을 거치는데, 이는 사실상 인코더 조회다.
즉, 현대 기술 스택은 계층 구조를 이룬다. 인코더가 원시 모달리티와 대규모 지식 저장소를 작고 조밀한 표현으로 바꾸면, 디코더 전용 LLM이 그 표현 위에서 추론해 유용한 출력을 만든다. 각 구조는 문제에서 자기가 맡은 부분에 가장 잘 맞기 때문에 자리를 얻는다.
21. 쉬운 설명(ELI5)
큰 레고 상자가 하나 있다고 생각해 보자. 인코더는 상자 속 레고 조각을 모두 살펴본 뒤, 색, 모양, 전체 아이디어처럼 가장 중요한 것을 담은 간단한 그림을 그리는 친구와 같다. 그 그림은 실제 레고 더미보다 훨씬 단순하지만 무엇이 들어 있는지는 알려 준다. 나중에 다른 친구인 디코더가 그 그림을 보고 레고 세트를 다시 만들거나, 그것에 대한 질문에 답하거나, 분류할 수 있다. 인코더의 일은 크고 복잡한 것을 중요한 세부 사항은 지키면서 더 작고 다루기 쉬운 것으로 바꾸는 것이다.
인코더마다 다른 종류의 그림을 그린다. 비전 인코더는 사진을 보고 그 사진이 무엇에 관한 것인지를 담은 숫자 목록을 적는다. 텍스트 인코더는 문장을 읽고 그 뜻을 담은 숫자 목록을 적는다. 두 사진이 비슷한 것을 보여 주면 숫자 목록도 비슷하고, 두 문장이 비슷한 뜻이면 숫자 목록도 비슷하다. 검색 엔진, 추천 시스템, 그리고 이미지를 볼 수 있는 챗봇이 모두 이 원리로 작동한다.
출처 30개
- AI Wiki: Encoder (2026-06-21 수정본) aiwiki.ai · CC BY 4.0 · 확인 2026-10-22
- Attention Is All You Need arxiv.org · 확인 2026-10-22
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. (AI Wiki 참고문헌) aiwiki.ai · 확인 2026-10-22
- Hinton, G. E. & Salakhutdinov, R. R. (2006). "Reducing the Dimensionality of Data with Neural Networks." Science, 313(5786), 504-507. (AI Wiki 참고문헌) aiwiki.ai · 확인 2026-10-22
- Vincent, P., Larochelle, H., Bengio, Y., & Manzagol, P.-A. (2008). "Extracting and Composing Robust Features with Denoising Autoencoders." ICML 2008. (AI Wiki 참고문헌) aiwiki.ai · 확인 2026-10-22
- Auto-Encoding Variational Bayes arxiv.org · 확인 2026-10-22
- Masked Autoencoders Are Scalable Vision Learners arxiv.org · 확인 2026-10-22
- Vincent, P., Larochelle, H., Lajoie, I., Bengio, Y., & Manzagol, P.-A. (2010). "Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion." Journal of Machine Learning Research, 11, 3371-3408. (AI Wiki 참고문헌) aiwiki.ai · 확인 2026-10-22
- Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation arxiv.org · 확인 2026-10-22
- Sequence to Sequence Learning with Neural Networks arxiv.org · 확인 2026-10-22
- Neural Machine Translation by Jointly Learning to Align and Translate arxiv.org · 확인 2026-10-22
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding arxiv.org · 확인 2026-10-22
- RoBERTa: A Robustly Optimized BERT Pretraining Approach arxiv.org · 확인 2026-10-22
- ALBERT: A Lite BERT for Self-supervised Learning of Language Representations arxiv.org · 확인 2026-10-22
- ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators arxiv.org · 확인 2026-10-22
- DeBERTa: Decoding-enhanced BERT with Disentangled Attention arxiv.org · 확인 2026-10-22
- Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W., & Liu, P. J. (2020). "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer." Journal of Machine Learning Research, 21(140), 1-67 (T5 paper). (AI Wiki 참고문헌) aiwiki.ai · 확인 2026-10-22
- BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension arxiv.org · 확인 2026-10-22
- Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks arxiv.org · 확인 2026-10-22
- Universal Sentence Encoder arxiv.org · 확인 2026-10-22
- An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale arxiv.org · 확인 2026-10-22
- Swin Transformer: Hierarchical Vision Transformer using Shifted Windows arxiv.org · 확인 2026-10-22
- Emerging Properties in Self-Supervised Vision Transformers arxiv.org · 확인 2026-10-22
- DINOv2: Learning Robust Visual Features without Supervision arxiv.org · 확인 2026-10-22
- Learning Transferable Visual Models From Natural Language Supervision arxiv.org · 확인 2026-10-22
- Sigmoid Loss for Language Image Pre-Training arxiv.org · 확인 2026-10-22
- wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations arxiv.org · 확인 2026-10-22
- Robust Speech Recognition via Large-Scale Weak Supervision arxiv.org · 확인 2026-10-22
- CodeBERT: A Pre-Trained Model for Programming and Natural Languages arxiv.org · 확인 2026-10-22
- Dense Passage Retrieval for Open-Domain Question Answering arxiv.org · 확인 2026-10-22