본문 바로가기
🤖AI/bert

[BERT]Input/Output Representations

by haegomm 2025. 1. 9.

🔍 BERT: 입력/출력 표현(Input/Output Representations)

BERT의 입력 방식은 하나의 문장뿐만 아니라, 두 개의 문장(예: 질문-답변 쌍) 도 명확하게 표현할 수 있도록 설계되어 있습니다.

즉, BERT는 단일 문장문장 쌍 모두를 다룰 수 있는 구조입니다.

 

Sentence(문장)

  • 여기서 말하는 "문장"은 실제 언어적 문장(linguistic sentence)이 아니라 연속된 텍스트의 임의의 구간(span of contiguous text)을 의미합니다.
  • 예를 들어, 문서의 일부 구절이나 단락의 일부도 "문장"으로 간주될 수 있습니다.

Sequence(시퀀스)

  • BERT에 입력되는 토큰의 연속(입력 토큰 시퀀스)을 의미합니다.
  • 이 시퀀스는 단일 문장일 수도 있고, 두 개의 문장을 하나로 결합한 형태일 수도 있습니다.
  • 예시:
    • 단일 문장: "나는 사과를 먹었다."
    • 문장 쌍: "질문: 사과는 어떤 과일인가요?" + "답변: 사과는 빨갛고 달콤한 과일입니다."

 

1️⃣ BERT의 입력: 두 개의 문장

  • BERT는 두 개의 문장(또는 문장 쌍)을 입력으로 받을 수 있습니다.
  • 하지만 이 문장은 그냥 문장이 아니라, 일부 단어가 마스킹(masking)된 상태입니다.

마스킹된 문장(Masked Sentence)이란?

  • 문장의 각 단어(토큰) 중 일정 비율을 [MASK]로 가려서 입력합니다.
  • 예를 들어,
    • 문장 A: "나는 [MASK]를 먹었다."
    • 문장 B: "사과는 [MASK] 과일이다."

👉 BERT는 이 마스킹된 단어를 예측하는 방식으로 학습합니다.

 

2️⃣ Unlabeled Sentence란?

  • "언레이블 된 문장"이라는 표현은, 이 문장이 레이블(정답)이 붙어 있는 데이터가 아니라는 의미입니다.
  • 즉, Supervised Learning(지도 학습)이 아니라 Self-Supervised Learning(자기 지도 학습) 방식으로 학습합니다.
  • BERT는 대량의 텍스트 데이터(코퍼스)를 활용해 연속된 두 문장을 입력으로 받아 학습합니다.

👉 두 문장은 실제 텍스트에서 연속된 문장이거나, 랜덤으로 조합된 문장일 수 있습니다.

 

3️⃣ 특별한 토큰: [CLS]와 [SEP]

BERT는 문장 구조를 명확하게 하기 위해 특별한 토큰을 사용합니다.

  • [CLS] (Classification):
    • 모든 문장(시퀀스)의 시작을 알리는 첫 번째 토큰입니다.
    • 이 토큰의 최종 벡터는 문장 전체를 대표하는 벡터로 사용됩니다.
    • 문장 분류, 감정 분석 등의 작업에서 [CLS]의 출력 벡터를 활용합니다.
  • [SEP] (Separator):
    • 두 문장을 구분하는 토큰입니다.
    • 문장 A와 문장 B 사이, 또는 문장의 끝에 위치해 문장 경계를 명확하게 합니다.

👉 예시:

[CLS] 나는 사과를 [MASK]다 [SEP] 사과는 맛있다 [SEP]

 

 

4️⃣ BERT의 레이어와 히든 벡터(출력)

  • 입력된 문장은 BERT의 여러 개의 Transformer 레이어(인코더)를 통과하게 됩니다.
  • BERT base는 12개의 레이어, BERT large는 24개의 레이어를 사용합니다.

출력 구조

[CLS] 토큰의 최종 벡터:

  • 레이어를 모두 통과하고 나면, [CLS] 토큰에 해당하는 최종 히든 벡터(hidden vector)가 생성됩니다.
  • 이 벡터는 문장 전체를 요약하는 벡터로 사용됩니다.
  • 예를 들어, 문장 분류(감정 분석)나 문장 유사도 판단에 사용됩니다.

각 토큰의 최종 벡터:

  • 문장 내 각 단어(토큰)마다 최종 히든 벡터가 생성됩니다.
  • 이 벡터는 문장 내 특정 단어의 의미를 포함하고 있습니다.
  • 마스킹된 [MASK] 토큰을 복원할 때 사용됩니다.

 

5️⃣ BERT의 두 가지 주요 학습 작업

  1. Masked Language Model(MLM)
    • 문장 속 일부 단어를 마스킹하고, 그 단어를 복원하는 작업입니다.
    • 문장의 양쪽 문맥을 모두 활용해 마스킹된 단어를 예측합니다.
  2. Next Sentence Prediction(NSP)
    • 두 문장이 실제로 서로 연속된 문장인지, 아닌지를 예측하는 작업입니다.
    • 두 문장이 실제로 다음 문장인지(1), 또는 **랜덤하게 선택된 문장인지(0)**를 분류합니다.

👉 이 두 가지 작업을 동시에 학습시키는 것이 BERT의 핵심입니다.

 


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

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

[BERT]Input Embedding  (0) 2025.01.09
[BERT]BERT의 Architecture  (0) 2025.01.09
[BERT]BERT란?  (1) 2025.01.09