본문 바로가기

AI LLM

Cbow, skipgram

728x90

Cbow(continuous bag of words)란?

 

CBOW 모델은 주변에 있는 여러 단어(문맥)를 보고, 그 한가운데에 어떤 단어가 올지를 예측하는 방식으로 작동한다. 마치 빈칸 채우기 문제를 푸는 것과 같다.

  • 이름의 의미: 'Bag-of-Words'라는 이름처럼, 주변 단어들의 순서는 고려하지 않고 주머니(Bag)에 한 번에 담아 처리한다. 신경망에 입력하기 전에 주변 단어 벡터들의 평균을 구하는 과정에서 순서 정보가 사라지기 때문이다.
  • 작동 방식:
    1. 중심 단어를 기준으로 주변 단어(Context)들을 입력으로 받는다.
    2. 이 주변 단어들의 벡터를 평균 내어 하나의 문맥 벡터를 만든다.
    3. 이 문맥 벡터를 통해 원래의 중심 단어(Target)를 예측하도록 학습한다.
  • 구조: 여러 개의 입력을 받아 하나의 출력을 내는 다대일(Many-to-One) 구조.

예시:

문장: "the cute ___ sleeps on the sofa" 입력 (문맥): [the, cute, sleeps, on] 출력 (예측 대상): cat

 

 

Skip-gram 이란?

Skip-gram 모델은 CBOW와 정반대로, 하나의 중심 단어를 보고 그 주변에 어떤 단어들이 올지를 예측하는 방식으로 작동한다.

마치 하나의 단어를 보고 연상되는 단어들을 나열하는 게임과 같다.

  • 이름의 의미: 중심 단어를 통해 문맥 내의 여러 단어들을 건너뛰며(skip) 예측한다는 뉘앙스를 가진다.
  • 작동 방식:
    1. 하나의 중심 단어(Target)를 입력으로 받는다.
    2. 이 중심 단어 벡터를 통해 주변 단어(Context)들을 예측하도록 학습한다.
  • 구조: 하나의 입력을 받아 여러 개의 출력을 내는 일대다(One-to-Many) 구조이다.

예시:

문장: "the cute cat sleeps on the sofa" 입력 (중심 단어): cat 출력 (예측 대상): the, cute, sleeps, on

 

 

 

 

작은 데이터셋을 가지고 있을 땐 Cbow가 유리하고, 큰 데이터셋을 가지고 있다면 skipgram 방식이 더 유리하다.

728x90