1. Introduction
BERT는 Bidirectional Encoder Representations from Transformers의 약자입니다. 최근 자연어 처리 모델과 달리, BERT는 전체 레이어에서 unlabeled 데이터를 왼쪽과 오른쪽 문맥을 모두 고려하여 깊은 양방향으로 사전학습한 모델입니다. 라벨이 없어도 언어를 잘 이해하는 범용 표현 모델을 만드는 게 목적입니다. BERT는 간단하면서도 강력합니다. 실제로 GLUE 벤치마크에서 80% 이상의 점수, SQuAD에서는 F1 93.2로 SOTA를 기록했습니다.
언어 모델에는 사전학습이 다양한 자연어 처리 영역의 성능 향상에 효과적입니다. downstream NLP 태스크는 크게 두 가지가 있습니다.
1. 문장을 전체적으로 분석하여 문장 간 관계를 예측하는 자연어 추론 및 의역같은 문장 수준 과제들이 있고,
2. 토큰 단위의 세밀한 출력을 생성하여 실체 인식 및 질문 응답같은 토큰 수준 과제들이 있습니다.
이때 사전학습된 언어 표현을 downstream에 적용하는 전략은 두 가지가 있습니다.

1. Feature-based
대표적인 예로는 ELMo 모델입니다.
사전학습된 전체 모델과 파라미터를 가져오고, 학습 태스크에 맞는 input feature와 파라미터를 추가하여 학습합니다.
2. Fine-tuning based
대표적으로 GPT-1 모델이 있습니다. GPT-1은 Transformer의 디코더 부분입니다.
사전학습된 전체 모델과 파라미터를 가져오고, 사전학습 모델에 맞는 input feature와 최소한의 파라미터를 추가하여 학습 태스크에 specific한 모델로 재학습합니다.
두 접근법은 같은 사전학습 목적 함수를 공유하며, 단방향으로 학습하는 언어모델입니다. 아래에서 더 자세히 설명하겠습니다.
*downstream이란, 사전학습 모델이 일반적인 언어 능력을 학습한 뒤, 특정 태스크에 맞게 fine-tuning한 모델의 마지막 버전입니다.
2. Related Work
unsupervised feature-based Approaches
사전학습된 단어 임베딩 관련 NLP 연구가 많이 이루어졌습니다. 그 중 ELMo는 한 단계 발전시켰습니다. 왼쪽에서 오른쪽 문맥, 오른쪽에서 왼쪽 문맥으로 각각 학습된 언어 모델의 출력을 이어붙여 문맥적 단어 표현을 얻습니다. 이렇게 만들어진 표현을 태스크별 아키텍처에 추가하면 성능이 향상됩니다. 이와 비슷하게 LSTM 기반 좌우 문맥 예측 방식도 제안되었지만, 둘 다 깊은 양방향은 아니라는 점에서 한계가 있습니다.
unsupervised fine-tuning Approaches
초기 연구는 feature-based 접근처럼 고정된 모델과 단어 임베딩 파라미터만 사전학습했습니다. 하지만 최근에는 unlabeled 데이터를 사전학습한 뒤, downstream에서 모델 전체를 fine-tuning하는 방식이 제안되었습니다. 이 방식의 장점은 랜덤 초기화된 출력층만 새로 학습하면 되기 때문에, 처음부터 학습해야 하는 파라미터가 매우 적다는 점입니다. GPT-1이 단방향으로 사전학습하고, 이를 fine-tuning한 모델입니다. 본 논문이 나온 시점에서 GPT-1이 SOTA를 달성했습니다.
Transfer Learning from Supervised Data
Transfer란 A 작업에서 학습한 모델의 표현/가중치를 B 작업에 재사용하는 전이학습 방식입니다. 보통 큰 데이터셋으로 먼저 사전학습한 뒤, 그 결과를 작은 데이터셋의 새로운 작업을 위해 fine-tuning하는 방식입니다.
대규모 데이터셋을 활용한 지도학습 과제에서도 전이학습은 효과적입니다. 자연어 추론, 기계 번역 등에서 성능이 크게 향상되었고, 컴퓨터 비전에서도 ImageNet으로 사전학습한 모델을 fine-tuning하는 것이 효과적이라는 사실이 입증되었습니다.
3. BERT
BERT는 사전학습과 fine-tuning 2 단계( = 전이학습 )으로 구성됩니다.
- 사전학습 단계 : 라벨이 없는 대규모 텍스트 데이터로 두 가지 비지도 학습을 통해 모델을 학습합니다.
- fine-tuning 단계 : 사전학습된 BERT를 초기화값으로 두고, downstream labeled 데이터를 사용하여 모든 파라미터를 end-to-end로 학습합니다.
downstream 작업마다 fine-tuning된 모델이 별도로 존재하지만, 동일한 사전학습 파라미터로 초기화됩니다. 즉, 사전학습 아키텍처와 downstream 아키텍처의 차이가 거의 없다는 것이 BERT의 특징입니다.
Architecture
모델의 구조는 다층 Bidirectional Transformer Encoder입니다. 두 가지 모델 크기에 대해 살펴보겠습니다.
- BERT BASE : L=12, H=768, A=12, 총 파라미터 ≈ 110M
- BERT LARGE : L=24, H=1024, A=16, 총 파라미터 ≈ 340M
BERT BASE는 비교 목적으로 GPT와 동일한 모델 크기를 선택했습니다. 그러나 중요한 차이는 BERT에서 transformer의 Encoder는 양방향 self-attention을 사용하지만, GPT에서 Transformer의 Decoder같이 각 토큰이 현재의 왼쪽 문맥만 참조할 수 있는 제약된 self-attention을 사용한다는 점입니다.
Input/Output Representations
BERT는 하나의 문장 또는 문장 쌍을 하나의 토큰 시퀀스로 표현할 수 있도록 입력을 설계했습니다. 여기서 말하는 문장은 실제 문법적 의미의 문장이 아니고 연속된 텍스트 구간을 의미합니다. 시퀀스는 BERT에 입력되는 토큰 시퀀스 전체를 뜻하며, 하나의 문장이거나 두 문장을 합친 것일 수도 있습니다.

입력 : 아래 세 가지 임베딩의 합으로 표현합니다.
- token embedding : Wordpiece 토큰화를 사용하여 3만개 토큰 사전을 사용합니다.
- [CLS] 토큰 : 모든 시퀀스 맨 앞에 추가합니다. 해당 토큰의 최종 은닉 상태는 전체 시퀀스의 대표 벡터로 사용됩니다.
- [SEP] 토큰 : 문장 쌍 입력 시 문장 사이를 해당 토큰으로 분리하여 구분합니다.
- segment embedding : 각 토큰에 segment embedding을 추가해, 문장이 A인지 B인지 구분합니다. 예를들어, A면 0, B면 1 로 구분합니다.
- position embedding : Transformer에서 사용한 positional encoding처럼 토큰 위치 정보를 추가합니다.
BERT에서 Wordpiece가 효과적인 이유는 어휘 크기와 문장 길이가 균형이 있고, 의미있는 단위를 보존하여 일반화 성능을 높이기 때문입니다. 문자 단위는 어휘 사전은 작지만 문장이 길어져 모델이 비효율적이고, 단어 단위는 어휘 사전이 너무 커져서 파라미터가 폭증하는 문제가 있습니다. 그리고 Wordpiece는 사전에 없는 희귀 단어를 조합으로 표현해 OOV 문제를 줄여서 성능을 높입니다.
* 서브워드는 단어를 자주 쓰이는 부분 단위로 쪼갠 것입니다. Wordpiece는 서브워드 알고리즘 중 하나입니다.
출력 : [CLS] 벡터는 자연어 추론이나 감정 분석, 분류같은 문장 단위 작업에 사용되고, 각 토큰 벡터는 시퀀스 태깅, NER, QA 등 토큰 단위 작업에 사용됩니다.
3.1 Pre-training BERT
BERT의 사전학습 과정은 위키백과나 책 corpus같은 대규모 데이터셋을 사용합니다. 길고 연속적인 시퀀스를 학습하는 것이 중요하기 때문에 문서 단위 corpus를 사용합니다.
BERT를 비지도 학습 과제 MLM과 NSP를 사용해 사전학습했습니다. MLM은 토큰 수준, NSP는 문장 수준을 학습하기 위해 사용했습니다.

Masked Language Model (MLM)
보통 깊은 양방향 모델이 단방향 결합 모델보다 훨씬 강력하다고 봅니다. 하지만 사용자가 조건을 주는 표준 컨디셔널 언어 모델은 왼쪽에서 오른쪽, 오른쪽에서 왼쪽 방향으로만 학습하거나 그 두 방향의 결과벡터만을 단순하게 붙여 concat 할 수 있습니다. 양방향 컨디셔널 모델을 그대로 쓰면 각 단어가 자신을 간접적으로 보게 되어 답을 알게 됩니다. 그럼 모델이 쉽게 정답 단어를 예측해버립니다. 즉, 기존 언어 모델로는 깊은 양방향 표현을 제대로 학습할 수 없습니다.
*컨디셔널 모델은 입력 조건에 따라 확률 분포를 모델링하는 모델입니다. 사용자가 입력에 어떤 조건을 주었을때 출력을 예측하는 모델입니다. 표준 컨디셔널 모델은 이전 단어들이 조건이고 다음 단어가 타겟입니다. 양방향 컨디셔널 모델은 단어 좌우 문맥 전체를 조건으로 하여 중간 단어를 예측하는 것이 타겟입니다.
깊은 양방향 표현을 학습하기 위해, 입력 토큰의 일부를 랜덤으로 마스킹하고, 그 마스킹된 토큰들을 예측하도록 학습시킵니다. 이 과정을 Masked Language Model이라고 부릅니다. 본 논문에서는 Cloze task라고 부르기도 합니다. MLM은 토큰 단위에서 양방향 문맥을 이해하기 위해 학습합니다. 이때 마스킹된 토큰의 최종 은닉 위치 벡터를 문장 전체에 대한 softmax 출력층에 넣어 원래 단어를 예측합니다. 마스킹된 단어만 예측하며, 전체 입력을 복원하지는 않습니다. 본 논문에서는 각 시퀀스의 wordpiece 토큰 중 15%를 무작위로 마스킹하여 실험했습니다.
하지만 [MASK] 토큰은 사전학습에서만 사용되고, fine-tuning 단계에서는 사용하지 않으므로 사전학습과 fine-tuning 사이에 불일치가 생깁니다. 이를 해결하기 위해 80%는 [MASK] 토큰으로 대체, 10%는 랜덤 토큰(오답)으로 대체, 10%는 원래 토큰(정답) 그대로 유지 했습니다. 그후, 해당 위치의 은닉 벡터를 사용해 원래 단어를 예측합니다. 손실함수는 크로스 엔트로피를 사용했습니다.
Next Sentence Prediction (NSP)
질문응답, 자연어 추론 등 많은 downstream 작업은 두 문장 간의 관계 이해가 필요합니다. 하지만 일반적인 언어 모델링만으로는 이런 관계를 직접적으로 학습할 수 없습니다. 문장 관계를 이해하는 모델을 학습하기 위해, 단일 언어 코퍼스에서 쉽게 생성할 수 있는 이진 분류 과제인 NSP를 추가했습니다. NSP는 원인과 결과, 시제 같은 의미적 관계보다는 두 문장이 문맥적으로 이어지는지 문맥 흐름을 학습하기 위한 목적입니다. 자연스러운 문장은 앞 문장부터 뒤 문장으로 이어지므로, 순방향 연결성을 학습하는 게 중요했기 때문에 미래 문장만 한정해서 보고 분류했습니다. 하지만 과거-현재-미래 문장 관계를 반영하지 못하고, 깊은 의미적 관계 학습이 제한적이기 때문에 후속 연구에서는 NSP를 사용하지 않습니다.
Sentence A : I woke up late this morning.
Sentence B1 : So I skipped breakfast. (IsNext)
Sentence B2 : My cat is hairy. (NotNext)
예를 들어, 문장 A와 B를 선택할 때, 50% 확률로 B가 A 뒤에 나오는 문장일 경우 IsNext(정답), 50% 확률로 B가 corpus에서 랜덤으로 가져온 문장일 경우 NotNext(오답)로 구분합니다. 모델은 B가 A의 다음 문장인지 아닌지 이진 분류를 수행합니다. 이때 [CLS] 토큰의 최종 표현 벡터인 C를 NSP 입력으로 사용합니다.
다시 말해서 NSP는 문장 쌍 단위로 판단하는 작업입니다. 문장 전체 관계를 보고 이진 분류를 해야하기 때문에 특정 토큰 단위가 아니라 시퀀스 전체 의미가 필요합니다. [CLS]는 이미 문장 A와 B의 의미 정보를 통합한 벡터이므로, NSP 입력으로 사용하는 게 적합합니다.
이전 NSP 관련 연구들은 문장 임베딩만 downstream 작업에 전이했습니다. 문장 임베딩만 전이하면 모델은 고정되고 파라미터가 업데이트되지 않습니다. 그래서 빠르고 가볍게 학습이 되지만 깊은 조정이 불가능해서 성능에 한계가 있습니다.
BERT는 fine-tuning 시 end-to-end로 모든 파라미터를 전이시켜 downstream 모델을 초기화합니다. 모델 전체를 가져와 모든 파라미터를 전이하면 downstream 데이터에 맞게 조정할 수 있습니다. 모든 파라미터를 전이시킨다는 건 모두 새로 학습한다는게 아니라 이미 학습된 파라미터를 가져오는 겁니다. 문장 임베딩만 전이하는 것보다 비교적 느리지만 성능이 훨씬 좋아지기 때문에 모든 파라미터를 전이시키는 방식이 더 좋습니다.
3.2 Fine-tuning BERT
BERT의 fine-tuning은 매우 단순합니다. Transformer의 Self-Attention 메커니즘 덕분에, BERT는 단일 텍스트든 문장 쌍이든 입력과 출력만 적절히 바꿔주면 다양한 downstream 작업에 바로 적용할 수 있습니다.
방법은 사전학습된 BERT 위에 태스크별로 작은 분류기 레이어를 추가한 후, 전체 모델을 end-to-end로 fine-tuning합니다. GLUE 같은 문장 분류 작업에서는 [CLS] 토큰 벡터 → 선형층(가중치 W) → Softmax 과정을 거쳐 최종 라벨을 예측합니다.
기존의 문장 쌍 처리 방식은 보통 두 텍스트를 독립적으로 인코딩한 뒤, 양방향 Cross-Attention을 추가로 적용해 텍스트 간 관계를 학습했습니다. 왜 Cross-Attention을 추가했을까요? 독립적으로 인코딩하면 두 텍스트 간 유사도나 관계를 충분히 파악하기 어렵기 때문입니다.
* Self-Attention: Q, K, V가 모두 같은 시퀀스에서 나옴 → 내부 관계 모델링.
* Cross-Attention: Q는 시퀀스 A, K와V는 시퀀스 B → 서로 다른 시퀀스 간 관계 모델링.
그런데 BERT는 이 두 단계를 하나로 통합했습니다.
두 문장을 하나로 이어붙여(concat) Transformer 입력으로 넣고 Self-Attention을 수행하면, 시퀀스 내 모든 토큰이 서로를 볼 수 있게 됩니다.
이 과정에서 문장 내부 관계 + 문장 간 관계가 동시에 모델링되며, 별도의 Cross-Attention 모듈 없이도 양방향 문장 관계 정보가 동시에 학습됩니다. 즉, 문장 쌍 관계 학습도 Self-Attention 한 번으로 처리할 수 있다는 게 BERT의 큰 강점입니다.
fine-tuning 후 출력은 [CLS] 벡터와 각 토큰 벡터로 나옵니다. 앞서 말했듯이 [CLS] 토큰은 입력 시퀀스 맨 앞에 추가되는 특수 토큰으로, 학습 과정에서 문장 전체 의미를 요약하는 벡터로 최적화됩니다. 토큰 임베딩을 하면 단일 벡터로 나와서 바로 분류층(dense+softmax)에 넣기 적합합니다. 그래서 자연어 추론이나 감정 분석 같은 문장단위 라벨을 예측할 때 효율적입니다.
각 토큰의 출력 벡터는 self-attention을 거쳐 문맥적으로 의미가 반영된 고차원 벡터로, 그 토큰이 문맥에서 어떤 역할을 하는지 세부 정보를 표현합니다. 따라서 단어 단위로 라벨을 달아야 하는 시퀀스 태깅에 적합합니다. 각 단어의 문맥적 의미를 보존하기 때문에 토큰 단위의 태깅, span 추출에 최적이므로 질문 응답의 위치 예측에도 활용됩니다.
질문응답 예시
질문 : what is the capital of Korea?
지문 : Korea is largest city is Seoul, which is also its capital.
여기서 Korea와 capital을 연결해야 Seoul이 정답임을 알 수 있습니다. 예시처럼 질문과 지문 사이의 관계, 정답 토큰의 앞뒤 문맥을 다 이해하여 정답이 단일 단어인지, 연속된 단어인지 등 정확한 경계와 의미를 파악해야 합니다. Seoul이 아닌 New York, Hong Kong, Ho Chi Ninh 등 연속된 단어가 정답일 수 있기 때문에 단어 구간(span)을 정확히 선택해야 합니다. SQuAD같은 QA에서는 답변이 지문 안에 연속된 단어 구간으로 존재합니다. 모든 토큰 위치에 대해 해당 토큰이 단어 구간의 시작과 끝일 확률을 구하고, 가장 높은 점수 구간을 선택해서 경계를 파악하고, self-attention으로 의미를 파악합니다.
4. Experiments
본 논문에서는 11개의 NLP 작업에 대해 BERT fine-tuning을 진행했습니다.
GLUE
GLUE는 다양한 자연어 이해 작업을 모아놓은 컬렉션입니다. 이 데이터셋에 대해 배치 크기 32, 에포크 3으로 설정하고 fine-tuning을 수행했습니다. 각 작업마다 최적의 학습률을 5e-5, 4e-5, 3e-5, 2e-5 중에서 선택했습니다.

SQuAD v1.1
SQuAD v1.1는 100,000개의 크라우드 소싱 질문/답변 쌍으로 이루어진 컬렉션입니다. 질문과 위키피디아의 답변을 포함하는 구절이 주어졌을때, 구절에서 답변 텍스트 구간을 예측하는 것에 집중합니다. 질문과 구절을 하나의 패킹된 시퀀스로 표현하며, 질문에는 A 임베딩을, 구절에는 B 임베딩을 사용합니다.
단어 i가 답변 span의 시작일 확률은 Ti와 S의 내적을 계산하고 문단 내 모든 단어에 대해 softmax를 취해 계산합니다.
종료 위치에도 동일한 계산을 취합니다. 위치 i에서 j로의 후보 span의 점수는 S·T_i + E·T_j로 정의되며, j ≥ i인 최대 점수 span이 예측으로 사용됩니다. 훈련 목표는 올바른 시작과 끝 위치의 로그 우도(log-likelihood) 합입니다.

S = start pos, E = end pos, T = hidden vertor

SQuAD v2.0
SQuAD v2.0은 SQuAD v1.1 문제를 확장해서 주어진 문단에 짧은 답변이 존재하지 않을 가능성을 고려하여 더 현실적인 문제로 만들었습니다. 예측 방법은 답이 없는 span 점수와 답이 있는 span 최고 점수를 계산하여 비교합니다.
이 질문에 정답이 있나? 없나?를 결정하는 과정입니다.
CLS 토큰 점수(s_null)로 질문에 답이 아예 없는 경우, CLS 토큰 위치를 정답 시작과 끝으로 설정합니다. 정답 없는 위치를 항상 맨 앞에 위치하는 CLS로 표현이 가능해집니다. 답이 있는 span 점수 (s_i, s_j) 답이 있는 경우, 문단 내 i~j 구간 중 가장 점수가 높은 span 하나를 고릅니다. S*T_i + E*T_j로 구하고 이중 최대값을 사용합니다. 다음으로 두 점수를 비교해서 [답 있는 span 점수 > 답 없는 점수 + 임계값]인 경우 답이 있다고 예측합니다. 답 있는 점수와 답 없는 점수 차이가 확실히 커야 더 정확하게 판단할 수 있기 때문에 임계값을 더해줍니다.
SWAG
데이터셋은 113,000개의 문장 쌍 예제를 포함하며, 상식 추론을 평가합니다. 주어진 문장에서 가장 그럴듯한 연속 문장 4개 중에서 선택하는 과제입니다.
입력 1: [CLS] 문장 A [SEP] 문장 B1 [SEP]
입력 2: [CLS] 문장 A [SEP] 문장 B2 [SEP]
입력 3: [CLS] 문장 A [SEP] 문장 B3 [SEP]
입력 4: [CLS] 문장 A [SEP] 문장 B4 [SEP]
이런 식으로 문장 A와 B를 이어붙여 4개의 입력 시퀀스를 구성하고, 각 입력을 BERT에 하나씩 넣어서 CLS벡터를 뽑습니다. 각 CLS 벡터와 fine-tuning 시 추가되는 출력층 파라미터 벡터를 내적하여 각 점수를 산출합니다. 4개의 점수를 softmax로 변환하여 가장 높은 점수를 선택합니다. 이렇게 문장쌍 분류로 변환하여 학습하면 상식적으로 자연스럽게 이어지는 문장을 고를 수 있어 상식 추론을 평가할 수 있습니다.
SWAG 용으로 새로 추가된 학습 파라미터는 CLS 벡터 하나뿐이고, 모두 BERT의 파라미터를 그대로 가져와 fine-tuning했습니다.
5. Ablation Studies
BERT의 여러 측면에 대한 Ablation, 요소 제거 실험을 수행하여 각 요소들의 중요성을 확인하겠습니다.
Effect of Pre-training Tasks
BERTBASE 모델에서 사용한 사전 학습 데이터, fine-tuning 방식, 하이퍼파라미터로 두 가지 사전학습 목표를 평가했습니다.
- NO NSP : MLM으로 학습하지만 NSP 학습은 포함하지 않은 양방향 모델
- LTR & No NSP : MLM 대신 Left to Right 모델로, 왼쪽 문맥만 학습하고 NSP 없이 사전학습된 모델 - GPT-1과 같은 모델

위의 표에서 볼 수 있듯이, NSP를 제거하면 QNLI, MNLI, SQuAD 1.1에서 성능이 크게 저하됩니다. LTR 모델은 MLM 모델보다 모든 작업에서 성능이 낮았으며, 특히 MRPC와 SQuAD에서 큰 성능 저하를 보였습니다. 따라서 양방향 표현 학습의 효과를 확인할 수 있습니다.
LTR 모델 성능을 높이기 위한 시도로 BiLSTM을 추가해보았습니다. 하지만 사전 학습된 양방향 모델보다는 성능이 훨씬 낮았고, GLUE에서 오히려 떨어졌습니다. MLM 모델이 더 Deep Bidirectional한 것을 알 수 있습니다.
마지막으로, ELMo처럼 LTR모델과 RTL모델을 따로 학습하고, 각 토큰을 concat하는 방법도 있습니다. 이 방법 또한 깊은 양방향 모델보다 성능이 낮고, 단일 양방향 모델보다 비용이 두배가 듭니다.
Effect of Model Size
데이터 크기, 레이어 수, 은닉층 수, 헤드 수를 다르게 설정하여 BERT 모델을 학습한 결과를 확인합니다.

크기가 가장 큰 모델이 성능이 가장 높습니다. 하이퍼파라미터가 많아질수록 성능이 올라간다는 것은 이미 증명된 사실입니다. "작업 데이터가 작아도 충분히 사전 학습된 거대한 모델은 성능을 확 끌어올린다."가 핵심입니다.
Feature-based Approach with BERT
이전 연구에서 주로 사용되던 Feature-based 접근도 장점이 있습니다.
- 모든 작업을 Transformer 인코더로 쉽게 표현할 수는 없으므로, 태스크 특화 아키텍처를 추가할 수 있습니다.
- 학습 데이터의 비싼 표현을 한 번만 사전 계산해 두고, 그 위에 값싼 모델을 얹어 여러 실험을 반복할 수 있어 계산 효율성이 높습니다.
CoNLL-2003 개체명 인식(NER) 작업에 BERT를 적용해 feature-based 접근법과 비교했습니다.
- WordPiece 토크나이저 : NER은 대소문자 정보가 중요하기 때문에 대소문자 보존 가능한 토크나이저를 사용.
- 문서 단위 입력: 문맥이 길수록 개체명 인식 정확도가 높아지므로 허용되는 최대 길이까지 입력.
- 시퀀스 태깅: NER은 각 토큰에 PER(person), LOC(location), ORG(organization) 같은 태그를 붙이는 작업. CRF 없이 Softmax 분류로 단순화.
- 서브토큰 처리: BERT는 서브 토큰마다 벡터를 만드는데, NER 태깅은 단어 단위 라벨링이 필요하기 때문에 첫번째 서브토큰 벡터를 단어 대표 벡터로 사용해 분류.
* CRF는 조건부 랜덤 필드로, 현재 라벨에서 이전 라벨들에만 의존하며 미래 정보를 직접적으로 보지 않습니다.
Sentence : He restarted the game quickly.
WordPiece 토큰화: [[CLS], He, re, ##started, the, game, quick, ##ly]
이 때, 첫번째 서브 토큰 벡터인 re, quick에 태그를 붙인다.
위의 예시를 정리하자면, NER에서 BERT는 문서 전체를 입력으로 넣고, wordpiece로 토큰화한 다음, 첫번째 서브토큰으로 태그를 예측합니다.
6. Conclusion
BERT는 Deep Bidirectional Transformer를 사전학습하고 fine-tuning으로 적용하여 범용 NLP 모델 가능성 증명했습니다. 이 모델의 성능은 기존 ELMo와 GPT-1의 장점만 결합한 모델이라고 봐도 될 정도입니다. 모델 발표 이후 RoBERTa, ALBERT 등 모델의 기반이 되었고, GLUE, SQuAD 등 SOTA를 달성한 모델입니다. 그 당시 NLP 모델의 새로운 패러다임이 되었습니다.
Transformer를 Encoder와 Decoder로 나누어 한 부분만 쓴다면 완전히 다른 성격의 모델이 된다는 게 신기하고 재밌었습니다. 한 가지 아쉬운 점은 NSP 태스크에서 문장 관계를 단순히 순서로만 학습했다는 점입니다. 실제 자연어에서 문장 간 관계는 단순히 문장 순서가 아니라 원인에 따른 결과나 대조, 추론 등 다양한 관계가 있습니다. 그런데 BERT의 NSP는 이 관계들을 이진 분류로 단순화해서 의미 관계 학습이 제한되었을 거라 봅니다. 앞으로 후속 연구 모델 관련 논문을 보면서 이러한 점이 해결되는 지 찾아보고 오겠습니다.
'paper_review' 카테고리의 다른 글
| [논문리뷰] WhisperX: Time-Accurate Speech Transcription of Long-Form Audio (0) | 2025.09.08 |
|---|---|
| [논문리뷰] LLaMA: Open and Efficient Foundation Language Models (3) | 2025.08.25 |
| [논문리뷰] GPT-3: Language Models are Few-Shot Learners (6) | 2025.08.18 |
| [논문리뷰] Transformer: Attention is all you need (4) | 2025.08.04 |
| [논문리뷰] Attention: Neural Machine Translation by Jointly Learning to Align and Translate (3) | 2025.07.28 |