이번 포스팅에서는 BERT의 구조에 대해서 설명하겠습니다. BERT의 구조 개요트랜스포머의 인코더 부분만 사용두 가지 방의 사전학습 방법 이용Masked Language Model (MLM): 문장 중간을 마스킹 처리하고 해당 단어를 맞추는 학습Next Sentence Prediction (NSP): 두 문장이 관계가 있는지 없는지를 학습이를 통해 문장의 앞 뒤 문맥에 따른 예측이 가능입력값은 토큰 임베딩, 문장 세그먼트 임베딩, 포지션 임베딩을 합친 벡터로 최대 길이는 512 BERT 모델의 구조BERT는 트랜스포머의 인코더 부분만을 사용한 언어 모델 입니다. BERT는 주어진 텍스트의 문맥을 양방향으로 이해하는데 특화되어 있습니다.BERT 모델은 크기에 따라 두 가지 주요 버전을 제공합니다. BERT..
이번 포스팅 부터는 구글에서 발표한 언어 모델인 BERT(Bidirectional Encoder Representations from Transformers)에 대해서 알아보겠습니다.BERT란 어떤 언어 모델이고, 어떤 특징을 가지고 있으며, 어떻게 동작하는지 하나 하나 살펴볼 예정입니다. BERT(Bidirectional Encoder Representations from Transformers) 란?2019년도에 Google AI Language가 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT 2019)에서 발표한 논..
이전 포스팅까지 트랜스포머 모델에 대해서 알아보았습니다. 이번 포스팅에서는 트랜스포머 기반 모델인 GPT와 BERT에 대해서 간략하게 알아보겠습니다. GPT와 BERTGPT (Generative Pre-trained Transformer)와 BERT (Bidirectional Encoder Representations from Transformers)는 둘 다 자연어 처리(NLP)에서 널리 사용되는 트랜스포머 기반 모델입니다.GPT는 트랜스포머의 인코더 부분만을 사용한 모델이고, BERT는 트랜스포머의 디코더만을 사용한 모델입니다.GPT와 BERT 각각의 특징에 대해서 알아보겠습니다. GPT (Generative Pretrained Transformer)GPT는 Gnerative Pretrained ..
트랜스포머의 마지막 포스팅 입니다. 피드 포워드 신경망, 잔차 연결, 레이어 정규화에 대해서 알아보겠습니다. 피드 포워드 신경망 (Feed Forward Neural Network)트랜스포머 모델 내의 각 인코더와 디코더 레이어는 피드포워드 신경망(FNN)을 포함하고 있습니다. FNN은 인코더와 디코더의 각 레이어에서 입력을 받아 비선형 변환을 수행하는 완전 연결 네트워크입니다. 구체적으로, FNN은 두 개의 선형 변환과 그 사이에 위치하는 활성화 함수(예: ReLU)로 구성됩니다.FNN은 어텐션 레이어의 출력에서 나온 정보를 처리하여, 각 위치의 숨겨진 상태를 독립적으로 업데이트 하여, 각 위치의 정보를 더 풍부하고 복잡한 표현으로 변환해주는 역할 수행합니다. 잔차 연결 (Residual Connec..
멀티 헤드 어텐션의 상세 동자 과정에 대해서 알아보겠습니다. 멀티 헤드 어텐션 (Multi-head Attention)멀티 헤드 어텐션을 간단히 말하면 셀프 어텐션을 여러번 수행하는것 입니다. 마스크드 멀티 헤드 어텐션은 멀티 헤드 어텐션과 동일한 과정을 수행하지만 타겟의 일부를 마스킹 처리하는것이 멀티 헤드 어텐션과 다른 점입니다. 멀티 헤드 어텐션은 수행 순서는 다음과 같습니다.각 헤드는 독립적으로 셀프 어텐션을 수행. 각 헤드는 동일한 입력에 대해 다른 Q,K,V 가중치 행렬을 사용하여 셀프 어텐션 계산모든 헤드의 셀프 어텐션 출력 결과를 이어 붙여 각 헤드의 분석결과 통합도출한 결과에 최종 가중치 W0를 곱하여 최종 출력 만듦결과적으로 결과는 각각의 헤드가 분석한 결과의 총 합멀티 헤드 어텐션은 ..
이전 포스팅까지는 트랜스포머의 셀프 어텐션과 멀티 헤드 어텐션에 대해서 알아봤고, 이번 포스팅에서는 셀프 어텐션의 상세한 동작 과정에 대해서 알아보겠습니다. 셀프 어텐션의 계산 과정 (Self Attention in Detail)셀프 어텐션의 동작 과정을 벡터 계산 과정과 행렬 계산 과정으로 두 번에 걸쳐서 설명하겠습니다. 벡터 계산으로 셀프 어텐션 과정 알아보기 (Self Attention using Vector)셀프 어텐션을 계산하는 첫 단계는 인코더의 입력 벡터들로부터 각 단어에 대한 세 가지 벡터인 Query, Key, Value를 생성하는 것입니다.이는 각 단어의 임베딩을 훈련 과정에서 학습한 세 개의 행렬(WQ, WK, WV)에 곱하여 이루어집니다.예를 들어, x1을 WQ 가중치 행렬로 곱하면..
Comment