NLP 8

Transformer 내부 작동 원리: Self-Attention를 중심으로

안녕하세요, 제이덥입니다! 기술 면접을 준비하면서 기초 개념들을 하나씩 정리하고 있는데요. 오늘은 Transformer에 대해 다뤄보려 합니다. 이번 글에서는 Transformer의 탄생 배경이 된 Long-Term Dependency 문제를 간단히 소개하고 논문 Attention Is All You Need에서 제안된 Transformer의 작동 원리를 정리해보겠습니다. 특히 그중에서도 핵심 개념인 Self-Attention에 집중해 개념과 수식을 중심으로 깊이 있게 설명드릴 예정입니다.0️⃣ 탄생 배경 : Long-Term Dependency이전 포스팅에서 Vanilla RNN의 BPTT를 소개하면서 RNN의 Long-Term Dependency 문제에 대해서 다뤘습니다. 이 문제는 이후 Transf..

NLP 2025.03.30

BLEU Score

안녕하세요, 제이덥입니다! 기술 면접을 준비하면서 기초 개념들을 하나씩 정리하고 있는데요. 오늘은 기계 번역 등 생성 모델 평가에 널리 사용되는 BLEU Score에 대해 다뤄보려고 합니다.본격적으로 BLEU Score를 살펴보기 전에, 먼저 Precision, Recall, F1 Score와 같은 전통적인 평가 방법이 번역 품질 평가에 어떻게 활용되는지 간단히 짚고 넘어가겠습니다. 이후, 이러한 지표들의 한계를 보완하기 위해 BLEU Score가 어떤 방식으로 발전했는지 정리해 보겠습니다. 0️⃣ 언어 모델에서 생성한 문장은 어떻게 평가해야할까?언어 모델이 생성한 문장, 특히 번역된 문장은 어떻게 평가하는 것이 좋을까요? 번역 태스크에는 특이한 특징이 있습니다. 바로 생성된 문장의 단어 수나 단어 위치..

NLP 2025.03.16

[NLP] Backpropagation through time(BPTT)의 방법과 Long-Term Dependency 문제

안녕하세요! 제이덥입니다. 최근에 기술 면접을 준비하며, 기초적인 내용부터 하나씩 정리하고 있는데요. 오늘은 Backpropation through time(BPTT)가 이루어지는 방법과 이 때 발생하는 Long-Term-Dependency문제에 대해서 정리해보았습니다.  1️⃣ Backpropagation through time(BPTT)란?Backpropagation througth time(이하 BPTT)는 RNN에서 특정 Timestamp 구간마다 학습 과정 중에 Truncation을 적용하여 학습과정에서 이루어지는 Backpropagation을 말합니다. 일반적으로 딥러닝 모델은 순전파(forward propagation) 이후 예측값과 실제 값(Ground Truth)의 차이를 이용해 손실 함..

NLP 2025.01.05

[NLP] Word Embedding (Word2Vec, Glove)

안녕하세요! 제이덥입니다. 최근에 기술 면접을 준비하며, 기초적인 내용부터 하나씩 정리하고 있는데요. 오늘은 Word Embedding이 무엇인지, 대표적인 Word Embedding 기법인 Word2Vec, GloVe에 대한 내용을 포스팅해보았습니다.  1️⃣ Word Embedding이란?자연어(Natural Language)란 우리가 일상적으로 사용하는 언어를 말합니다. 그리고 언어의 의미를 파악하는데에는 순서가 중요하기에 자연어 데이터는 단어를 기반으로 한 순서가 있는 데이터(Sequence Data)라고 볼 수 있습니다. Word Embedding은 자연어의 기본이 되는 단어를 하나의 점, 벡터로 매핑(mapping)해주는 기법입니다. 그리고 이러한 Word Embedding은 하나의 머신러닝,..

NLP 2024.12.22

[NLP] Bags of Words & Naive Bayes Classifier for Document Classification

안녕하세요! 제이덥입니다. 최근에 기술 면접을 준비하며, 기초적인 내용부터 하나씩 정리하고 있는데요. 오늘은 텍스트 마이닝에서 사용하는 방법들 2가지를 정리해봤습니다. 첫 번째는 텍스트를 숫자로 표현하는 기법인 Bag Of Words(BoW) 표현형과 이를 활용한 Naive Bayes Classifier에 대해 정리해봤습니다.  1️⃣ Bag of Words (BoW)자연어를 다루는 분야를 NLP(Natural Language Processing; 자연어처리), Text Mining(텍스트 마이닝), Information Retrieval(정보 검색)으로 나눌 수 있는데요. Bag of Words는 딥러닝 기술이 적용되기 이전 텍스트 마이닝에서 자주 사용되던 기법입니다. Bag of Words는 단어들의..

NLP 2024.11.10

[NaverBoostCamp] 4월 7주차 학습회고

1. What I Learned... 이번주는 NLP 도메인의 Level 1 기초 대회가 마무리되었다. STS(semantic Textual Similarity)라는 Task의 NLP 도메인 대회를 ai.stages에서 Kaggle과 Dacon과 유사한 플랫폼에서 진행했는데, public 전체 2위 private 전체 1위를 달성하였다. 대회를 진행하며 팀장으로 Github관리 및 Notion 관리를 하고 데이터에 대한 EDA를 진행하고 end-to-end로 Hugging Face 모델을 이용해서 학습하고 튜닝을 진행했다. 그리고 팀에서 내가 한 EDA를 바탕으로 데이터 증강을 진행했는데, 해당 증강으로 성능에 유의미한 향상에 기여한 것 같아 의미가 있는 대회였다. 2주간 많은 노력을 했고, 협업이나 모..

[NaverBoostCamp] 4월 5주차 학습회고

1. What I Learned... 이번주는 도메인 관련 NLP 강의를 듣는 두번째 주였다. 이번주 강의에서는 Seq2seq 모델 부터 BERT 모델까지 많은 내용의 모델에 대해 배웠다. sequence to sequence 모델의 기본적인 구조인 Encode, Decoder 구조, 그리고 발전된 seq2seq with Attention 모델까지 공부하였고, 최근에 가장 각광받고 기본이 되는 모델인 Transformer 모델과 Attention module 그리고, multi head Attention의 연산방식까지 학습했다. 이후에는 GPT-1, BERT 등 새롭게 출시된 다양한 모델의 기본적인 컨셉에 대해서 학습을 한 뒤 2주간의 짧지만 긴 커리큘럼이 마무리 됬다. 특히 이번주에는 과제가 어려웠는데..

[NaverBoostCamp] 3월 2주차 주간 학습회고

1. What I Learned... 이번주에는 PyTorch 모듈에 대한 내용을 배웠다. PyTorch 모듈에 대한 배경지식과 Tensorflow에 비교한 장단점 등 모듈의 기본적인 내용 부터, 연산, 템플릿 만드는 방법에 이르기까지 PyTorch 전반적인 내용에 대해서 학습하였다. 특히 광범위한 내용을 다뤘지만 view, reshape의 차이, matmul, mm의 차이 등 자주 사용되지만 미묘하게 쓰임이 다른 내용까지 세심하게 다룰 수 있어서 좋았다. 이외에도 Troubleshooting, transfershooting, Tensorboard 만드는 방법 등 실습에 유용한 내용들을 배웠고, 나중에 실제로 작업을 하게 될 때 많은 도움이 될 것 같다는 생각이 들었다. 그리고 이번 과제에서 custom..