본문 바로가기
🤖AI/bert

[BERT]BERT란?

by haegomm 2025. 1. 9.

🔍 BERT란? 

Bidirectional Encoder Representations from Transformers

1. BERT의 핵심 개념

  • Bidirectional Representations을 학습하는 딥러닝 기반 NLP 모델
  • 트랜스포머(Transformer) 구조 중 인코더(Encoder) 부분만 활용
  • BERT는 문장 전체를 양방향(Bidirectional)으로 읽고, 문장의 앞뒤 문맥을 동시에 사용해 단어의 의미 이해

2. Pre-training 방식

1. Masked Language Model (MLM)

  • MLM은 문장 내에서 일부 단어를 [MASK]로 랜덤하게 가리고, 이를 복원하는 방식입니다.
    좌우 문맥(양방향)을 모두 활용하여 마스킹된 단어를 예측하며 GPT와 달리 문장 전체에서 좌우를 모두 참고하기 때문에 더 정확하게 문장을 이해할 수 있습니다.
  • 예시:
    • 입력: "나는 [MASK]를 좋아한다."
    • 목표: "[MASK] = 축구"

👉 보충:

MLM에서는 문장의 약 15%의 단어가 마스킹됩니다.
하지만, 실제 학습 시 [MASK] 토큰을 많이 사용하면 모델이 과적합(overfitting)될 수 있고 모델이 MASK만 예측하는 것에 과도하게 의존하는 것을 방지하기 위해 아래와 같은 비율로 마스킹을 합니다. 

  • 80%는 [MASK] 마스킹
  • 10%는 다른 랜덤 단어 대체
  • 10%는 원래 단어 유지

 

2. Next Sentence Prediction (NSP)

  • 두 문장이 주어졌을 때, 두 번째 문장이 실제로 첫 번째 문장의 다음 문장인지를 예측하는 방식입니다.
  • 문장 간의 논리적 관계와 문장 연결성을 학습하는 데 도움이 됩니다.
  • 예시:
    • A: "나는 영화를 보러 갔다."
    • B: "영화는 정말 재미있었다."

(BERT는 문장 B가 문장 A의 실제 다음 문장(True)인지, 아니면 무작위 문장(False)인지 예측합니다.)

 

👉 보충:

50%는 실제로 문장 순서가 연결된 문장(True), 나머지 50%는 랜덤하게 추출된 문장(False) 으로 학습하여 문장 레벨에서 BERT가 텍스트 간의 관계를 더 잘 이해하도록 할 수 있습니다. 

3. Fine-tuning

1. BERT Fine-tuning 개념

BERT는 Pre-training(사전 학습) 단계에서 방대한 양의 데이터로 기본적인 언어 구조를 학습합니다.

이렇게 사전 학습된 BERT는 다양한 자연어 처리(NLP) 작업에 바로 활용할 수 있도록 설계됩니다.

2. Layer  추가 = Fine-tuning

BERT는 이미 강력한 언어 이해 능력을 갖추고 있기 때문에,

특정 작업(Task)에 맞게 추가로 복잡한 모델을 설계할 필요가 없습니다.

👉 BERT 위에 "얇은 레이어(하나의 단순한 Fully Connected Layer)"만 추가해도 매우 높은 성능을 발휘합니다.

  • 🎨 비유로 이해해보기
    • BERT(Pre-trained): 대학 졸업생 (이미 탄탄한 기본 지식 보유)
    • Fine-tuning: 졸업생이 회사에 입사해, 특정 직무를 훈련하는 과정
    • 새로운 직무를 맡기 위해 얇은 layer(=실무 훈련) 만 추가해주면 됩니다.
    • 기존에는 모든 직무마다 처음부터 새롭게 훈련(모델 설계)해야 했지만,BERT는 기본기를 갖춘 상태에서 가벼운 훈련만으로도 최고 성능을 낼 수 있습니다.

3. 왜 Layer 하나 추가하는 게 강력한가?

✅ 기존 방식의 문제점

: 기존 NLP 모델은 특정 작업(Task)마다 새로운 모델을 처음부터 설계해야 했습니다.
즉, 감정 분석, Q&A, 번역 등 모든 작업마다 개별적인 모델을 만들어야 했고 시간, 비용, 데이터가 많이 소요됐습니다.

 

✅ BERT의 혁신 (Layer 하나로 끝나는 이유)
: BERT는 이미 방대한 데이터로 언어의 전반적인 구조와 패턴을 학습했기 때문에

Fine-tuning 시 BERT 위에 얇은 Fully Connected Layer 하나만 올리면 됩니다.


새로운 데이터셋에 맞게 전체 모델을 미세 조정(Fine-tuning) 하는 방식은

기존 모델들을 훨씬 효율적으로 대체하고,모든 NLP 작업에서 SOTA(최고 성능)를 기록했습니다.

 

 


https://www.youtube.com/watch?v=IwtexRHoWG0&t=963s

 

'🤖AI > bert' 카테고리의 다른 글

[BERT]Input Embedding  (0) 2025.01.09
[BERT]Input/Output Representations  (0) 2025.01.09
[BERT]BERT의 Architecture  (0) 2025.01.09