BERT: 언어 이해를 위한 깊은 양방향 트랜스포머 사전 학습
Transformer의 Encoder만 사용한 모델 BERT. (https://arxiv.org/pdf/1810.04805)
Abstaract
BERT (Bidirectional Encoder Representations from Transformers)
BERT is designed to pre-train deep bidirectional representations from unlabeled text by jointly conditioning on both left and right context in all layers.
BERT는 모든 계층에서 좌우 문맥을 공동으로 고려함으로써, 비지도 텍스트로부터 깊은 양방향 표현을 사전 학습하도록 설계되었습니다.
1. Introduction
사전 학습된 언어 표현을 다운스트림 태스크에 적용하는 기존의 두 가지 주요 전략
- Feature-based (특징 기반) 접근 방식
- 사전 학습된 모델을 고정된 특징 추출기로 사용
- ELMo : 특징 기반 접근 방식 중 하나.
문맥에 따라 동적으로 단어의 벡터 표현을 생성하고, 이를 다른 NLP 모델에 입력 특징으로 제공 - Fine-tuning (미세 조정) 접근 방식
- 사전 학습된 모델 전체를 특정 작업에 맞게 다시 학습시키는 방식
➡️ 두 가지 접근 방식은 사전 학습 중 동일한 목적 함수를 공유하며, 일반적인 언어 표현을 학습하기 위해 단방향 언어 모델을 사용한다.
BERT는 MLM을 통해 단방향성 제약을 완화하고 문맥 이해도를 높인다.
MLM(Masked Language Model)
입력에서 일부 토큰을 무작위로 마스킹하여, 문맥만을 기반으로 마스크된 단어의 원래 어휘 ID를 예측하는 것이 목표.
표현이 좌측 및 우측 문맥을 융합하도록 하여 깊은 양방향 트랜스포머를 사전학습할 수 있게 한다.
NSP (Next Sentence Prediction)
두 문장 간의 관계를 이해하도록 학습 시키는것이 목표.
입력으로 두 개의 문장을 받았을때, 이 두 문장이 실제 의미가 이어지는 관계인지? 다른 주제의 문장인지 예측하도록 학습한다.
3. BERT
BERT는 두 가지 모델 크기에 대한 결과를 보고한다.
|
모델
|
Layers (L)
|
Hidden Size (H)
|
Heads (A)
|
총 파라미터 수
|
|
BERT-BASE
|
12
|
768
|
12
|
110M
|
|
BERT-LARGE
|
24
|
1024
|
16
|
340M
|
BERT-BASE는 OpenAI GPT와 동일한 모델 크기를 같게 하여 비교 할 수 있게함.
BERT의 입력 표현: 3가지 임베딩의 조합
[CLS] token : 시작 토큰, 셀프 어텐션 메커니즘을 통해 문장 A와 B의 전체 정보를 종합하여 문장 전체를 대표하는 하나의 벡터
[SEP] token : 문장을 구분하는 토큰

- Token Embeddings : 각 토큰(단어) 자체의 의미를 나타내는 임베딩입니다. BERT는 WordPiece라는 서브워드(subword) 분절 방식을 사용합니다.
- Segment Embeddings : NSP 학습을 위해 입력된 두 문장, 즉 문장 A와 문장 B를 구분해주는 역할을 합니다.
- Position Embeddings : Transformer는 RNN과 달리 순서 개념이 없기 때문에, 단어의 위치 정보를 알려주기 위한 임베딩이 별도로 필요합니다.

3.1 Pre-training BERT
Task #1: Masked LM (MLM, $\approx$ Cloze task)
- 1단계: 입력된 전체 토큰 중 15%를 예측할 대상으로 랜덤하게 선택합니다.
- 2단계: 1단계에서 선택된 15%의 토큰들에대해 *80/10/10 규칙*에 따라 처리합니다.
- 80%: [MASK] 토큰으로 변경합니다. (예: my dog is hairy → my dog is [MASK])
- 10%: 다른 랜덤 단어로 변경합니다. (예: my dog is hairy → my dog is apple)
- 10%: 원래 단어를 그대로 유지합니다. (예: my dog is hairy → my dog is hairy)
Task #2: Next Sentence Prediction (NSP)
문장과 문장 사이의 관계를 학습하기 위한 단계
3.2 Fine-Tuning BERT

🔥 MNLI / NER / SQuAD❓
MNLI (Multi-Genre Natural Language Inference)
- 자연어 추론(Natural Language Inference, NLI)의 한 종류
- 두 문장 간의 의미론적 관계를 파악하는 작업
- [CLS] 토큰의 표현(C)을 입력받아, (함의, 모순, 중립) 클래스 중 하나를 예측하는 출력 레이어(classification layer)를 추가하여 미세 조정한다.
NER (Named Entity Recognition)
- 텍스트에서 고유 명사(named entity)를 식별하고, 이를 미리 정의된 클래스로 분류하는 작업 (예 : 사람, 조직, 장소, 날짜, 시간 등)
- token-level(토큰 수준)의 작업
SQuAD (Stanford Question Answering Dataset)
- 기계 독해(Machine Reading Comprehension)를 위한 대표적인 데이터셋
- 주어진 문단(Paragraph)과 해당 문단에 대한 질문(Question)이 주어졌을 때, 문단 내에서 질문에 대한 답이 되는 텍스트 **구간(span, 연속된 부분)**을 정확히 찾아내는 것을 목표
- token-level(토큰 수준)의 작업, "Start/End Span" : 답변(Answer) 구문에대한 시작 위치와 종료 위치를 예측
1. Sentence pairs in paraphras-ing (페어플레이징)
두 개의 문장이 의미적으로 동일한지 판단
(예 : "나는 배가 고프다"와 "배고픔을 느낀다" 동일 문장으로 판단!)
2. Hypothesis-premise pairs in entailment (함의)
자연어 추론(Natural Language Inference, NLI) 또는 함의 작업은 주어진 '전제(premise)' 문장에 대해 '가설(hypothesis)' 문장이 어떤 관계에 있는지를 파악하는 것
함의(문장 요약, 함축된 표현), 모순, 중립 세가지로 나뉜다. ➡️ MNLI
3. Question-passage pairs in question answering
'질문'과 '본문(passage)' 텍스트를 읽고, 본문 내에서 질문에 대한 답이 되는 텍스트 구간(span)을 찾아내는 것 ➡️ SQuAD
4. A degenerate text-∅ pair in text classification or sequence tagging
text classification : 문장 전체의 감성 분석(긍정/부정), 스팸 메일 분류 등 입력 텍스트 전체에 대해 하나의 레이블을 할당하는 작업
sequence tagging : 문장 내 각 단어(토큰)에 대해 특정 태그를 할당하는 작업 ➡️ NER
At the output, the token rep-resentations are fed(공급하다) into an output layer for token-level tasks, such as sequence tagging or question answering,
출력에서는 토큰 표현들이 시퀀스 태깅 또는 질의응답과 같은 토큰 수준 작업들을 위한 출력 레이어로 공급되고,
and the [CLS] representation is fed into an output layer for classification, such as en-tailment or sentiment analysis.
[CLS] 표현은 함의 또는 감성분석과 같은 분류를 위한 출력 레이어로 공급된다.
6. Conclusion (결론)
비지도 사전학습(unsupervised pre-training)이 많은 언어 이해 시스템의 필수적인 부분을 입증했다.
deep bidirectional(깊은 양방향) 아키텍처로 더욱 일반화 하여 동일한 사전학습 모델이 광범위한 NLP tasks를 성공할 수 있도록 한다.
'AI > [Paper]' 카테고리의 다른 글
| RAG 논문 읽기 전 : ORQA(Open-Retrieval Question Answering) (0) | 2025.12.23 |
|---|---|
| [논문] GPT-2 : Language Models are Unsupervised Multitask Learners (1) | 2025.12.05 |
| [논문] Attention Is All You Need - Transformer 모델 (0) | 2025.10.28 |