boost-devs / peer-session

🚀 부스트캠프 AI Tech 1기 U-Stage 4조 피어 세션 자료/질문 모음 (archived)
8 stars 2 forks source link

[펭귄/MJ] BERT의 정확한 구조는 어떻게 될까요? #80

Closed CoodingPenguin closed 3 years ago

CoodingPenguin commented 3 years ago

🙌 질문자


❓ 질문 내용


CoodingPenguin commented 3 years ago

BERT내의 transformer의 입출력은 어떻게 될까요? seq2seq처럼 비슷할까요?

BERT에는 디코더 부분은 없고 인코더 부분만 있다고 합니다. 그래서 인코딩된 걸 바로 Linear Layer와 softmax에 통과시켜서 확률을 출력합니다. 반면, GPT의 경우 인코더 부분은 없고 디코더 부분만 있으며 디코더로 생성된 예측 단어를 출력합니다.

이는 BERT는 문맥을 살펴 [MASKED]된 부분을 유추하고 GPT는 입력 단어 다음에 어떤 단어가 나올지 예측하는 태스크를 하기 때문으로 보입니다.

transformer를 거쳐가면서 [MASK]가 어떻게 채워질까요?

BERT는 인코더를 거쳐가면서 단어 간의 연관성을 파악하고 마지막에 나온 결과값으로 MASK에 어떤 단어가 들어갈지 유추합니다.

어떤 부분에서 self-supervised learning이 이루어지는 걸까요?

우선 자기지도 학습(self-supervised learning)이 무엇인지 알아야 합니다. 비지도 학습(unsupervised learning)은 주어진 데이터셋에 라벨이 없는 경우의 학습을, 지도 학습(supervised learning)은 주어진 데이터셋에 라벨이 있는 경우의 학습을 말합니다. 자기지도 학습은 그 중간에 있는 학습으로 데이터셋에 라벨이 없지만 학습 시 직접 라벨을 만들어 학습을 하는 것을 말합니다. BERT의 경우 원 데이터는 단순 시퀀스 데이터로 라벨이 없지만 [MASKED] 토큰을 만듦으로써 [MASKED]되기 전에 원래 토큰을 맞추는 즉, 직접 라벨을 생성하는 것으로 볼 수 있습니다.


참고자료