세대 구분(계보)과의 혼동 주의 희소표현 - 카운트 - 예측 - 문맥 - LLM 계보에서 FFNN은 다음과 같은 위치를 가진다.
- 과거 (독립적 모델): 1~2세대 시절에는 FFNN 자체가 하나의 독립적인 모델(예: MLP)로 쓰이기도 했음
- 현재 (구성 요소): 4세대(문맥 기반)인 트랜스포머 아키텍처 내부에서는 전체 시스템을 이루는 하나의 부품으로 사용됨
1세대 - 희소표현 (Sparse Representation)
원핫 인코딩
: 메모리가 낭비되며, 단어 상호간 의미를 담지 못함
2세대 - 카운트 기반 (Count-based, 통계적 접근)
BOW
단어의 등장 개수 기반의 표현
TDM
문서에서 등장하는 단어들의 빈도를 행렬로 표현
TF-IDF
LSA
SVD(특이값 분해)를 활용하여 잠재적인 의미 반영
3세대 - 분포 기반 / 예측 기반 (Distributed/Predictive, 단어 수준 기반)
Word2Vec
GloVe
- Global Vectors for Word Representation
전체 문장의 통계정보를 반영
• 카운트 기반과 예측 기반을 모두 사용하는 방법론 • Word2Vec과 비슷한 목적을 가지고 있지만, 약간 다른 방식으로 단어의 분산 표현을 학습합니다. • 동시 등장 행렬(co-occurrence matrix)을 사용하여 단어 간의 동시 등장 빈도를 계산합니다. 이 동시 등장 행렬을 기반으로 목적 함수를 정의하고, 이를 최적화하여 단어의 임베딩을 학습합니다. ◦ 동시 등장 행렬은 행과 열을 전체 단어 집합의 단어들로 구성하고, i 단어의 윈도우 크기(Window Size) 내에서 k 단어가 등장한 횟수를 i행 k열에 기재한 행렬을 말합니다. • 전역적인 통계 정보를 활용하여 단어의 의미를 표현하기 때문에, 문맥을 고려하지 않는 Word2Vec보다는 좀 더 의미적인 임베딩을 얻을 수 있습니다. • 주로 대규모의 텍스트 데이터를 사용하여 학습되며, 학습된 모델을 통해 단어 간의 유사도, 단어 간의 관계 등을 분석할 수 있습니다.
FastText
하나의 단어를 여러 개로 잘라서 벡터로 계산
• 페이스북에서 개발 • 메커니즘 자체는 Word2Vec의 확장이라고 볼 수 있습니다. Word2Vec와 FastText와의 가장 큰 차이점이라면 Word2Vec는 단어를 쪼개질 수 없는 단위로 생각한다면, FastText는 하나의 단어 안에도 여러 단어들이 존재하는 것으로 간주합니다. 내부 단어. 즉, 서브워드(subword)를 고려하여 학습합니다. • 장점 ◦ 내부 단어(Subword)를 통해 모르는 단어(Out Of Vocabulary, OOV)에 대해서도 다른 단어와의 유사도를 계산할 수 있다. ◦ 단어가 희귀 단어라도, 그 단어의 n-gram이 다른 단어의 n-gram과 겹치는 경우라면, Word2Vec과 비교하여 비교적 높은 임베딩 벡터값을 얻습니다. ◦ Word2Vec에서는 오타가 섞인 단어는 임베딩이 제대로 되지 않지만 FastText는 이에 대해서도 일정 수준의 성능을 보입니다.
4세대 - 문맥 기반 (Contextualized Word Embedding)
ELMo
: 양방향 언어 모델을 적용
- Embeddings from Language Models
• 사전 훈련된 언어 모델을 이용하여 단어의 문맥적 의미를 잘 반영하는 풍부한 임베딩 벡터를 생성하는 것이 특징입니다. • 기존 워드 임베딩인 Word2Vec이나 GloVe 등이 다의어를 구분할 수 없었던 문제점을 해결함. • 주요 특징과 동작 방식 ◦ 사전 훈련 (Pre-training): ▪ ELMo는 양방향 LSTM(Long Short-Term Memory)을 기반으로 한 언어 모델을 사용하여 사전 훈련됩니다. 양방향 LSTM은 단어를 좌->우 방향과 우->좌 방향으로 순차적으로 읽어들이는 두 개의 LSTM을 결합하여, 문맥 정보를 보다 풍부하게 반영하는 특징을 가지고 있습니다. ▪ 사전 훈련 단계에서는 대규모의 텍스트 데이터를 이용하여 언어 모델을 학습합니다. 이때, 문맥에 따라 단어의 임베딩 벡터를 생성하는데 사용되는 기술을 ELMo라고 합니다. ◦ 문맥 임베딩 (Contextual Embedding): ▪ ELMo는 단어 임베딩을 생성할 때 문맥 정보를 함께 고려합니다. 예를 들어, “bank”이라는 단어는 “bank account”와 “river bank”와 같은 문맥에 따라 다른 의미를 갖습니다. ELMo는 이러한 문맥 정보를 반영하여 단어의 임베딩 벡터를 생성합니다. ▪ 문맥 임베딩은 각 단어를 언어 모델에 입력하여 얻게 된 은닉 상태들을 결합하여 최종적인 임베딩 벡터를 구성합니다. ◦ 사전 훈련된 모델의 재사용: ▪ ELMo는 사전 훈련된 언어 모델로부터 얻은 임베딩을 다른 자연어 처리 작업에 활용합니다. 예를 들어, 질의 응답, 감정 분석, 기계 번역 등의 작업에 ELMo 임베딩을 사용하여 높은 성능을 얻을 수 있습니다. ▪ 또한, ELMo는 미세 조정(fine-tuning)을 통해 특정 작업에 맞게 추가로 학습될 수도 있습니다.
BERT
GPT(Generative Pre-trained Transformer)
• 텍스트 생성 작업에 특화된 사전 훈련된 언어 모델입니다. • Transformer 아키텍처를 기반으로 하며, 비지도 학습 방식으로 대량의 텍스트 데이터를 사용하여 사전 훈련됩니다. • 텍스트의 일부를 입력으로 받아 이후에 이어질 텍스트를 생성하는 방식으로 동작합니다. 모델은 이전 텍스트 문맥을 이해하고, 다음 단어를 예측하는 데 필요한 정보를 학습합니다. • 자연어 생성 작업에 특히 유용하며, 문장 생성, 기계 번역, 요약, 대화 시스템 등 다양한 응용 분야에서 활용될 수 있습니다. • 사전 훈련된 언어 모델로 제공되며, 파인튜닝을 통해 특정 작업에 맞게 추가적인 훈련을 수행할 수도 있습니다. • 주요 특징과 동작 방식 ◦ 사전 훈련 (Pre-training): ▪ GPT는 비지도학습으로 사전에 대규모의 텍스트 데이터를 사용하여 사전 훈련됩니다. 이때 사전 훈련은 언어 모델 기반으로 이루어지며, 문맥에 따라 다음 단어를 예측하는 작업을 수행합니다. ▪ 사전학습에서는 입력 시퀀스의 각 위치에서 다음 단어를 예측하는 언어 모델을 구성합니다. 이를 위해 크로스 엔트로피(Cross Entropy)나 마스크드 언어 모델(Masked Language Model)과 같은 손실 함수를 사용하여 학습합니다. 이때, 입력 시퀀스는 주로 문장이나 문서로 구성되며, 단어를 토큰화하여 처리합니다. ▪ 트랜스포머의 어텐션 메커니즘과 멀티 헤드 어텐션을 활용하여 입력 문장의 문맥 정보를 캡처하고, 각 단어의 임베딩 벡터를 생성합니다. ▪ 사전 훈련된 GPT 모델은 일반적인 자연어의 특성과 구조를 학습하므로, 후속 작업에서 다양한 NLP 작업에 유용하게 사용됩니다. ▪ 사전학습된 언어 모델은 텍스트의 통계적 특성과 문법, 의미, 상관관계 등을 이해한 상태가 됩니다. ▪ 디코더의 경우 Autoregressive Language Model(자기회귀 언어 모델)의 파라미터를 서전에 회적화 하는 과정입니다. ◦ 미세 조정 (Fine-tuning): ▪ 사전 훈련된 GPT 모델은 다양한 자연어 처리 작업에 맞게 미세 조정될 수 있습니다. 미세 조정은 적은 양의 레이블이 있는 태스크 데이터를 이용하여 모델의 가중치를 업데이트하는 과정입니다. ▪ 각 특정 작업에 대해 GPT 모델을 적용하고, 특정 태스크에 대한 레이블을 기준으로 모델을 조정하여 해당 작업에 적합하도록 합니다. ▪ 미세 조정은 주로 사전학습된 언어 모델의 일부 파라미터만 업데이트하여 특정 작업에 더 적합한 상태로 만듭니다. ▪ 미세 조정을 통해 사전 훈련된 GPT 모델은 다양한 NLP 작업에서 높은 성능을 보여줍니다.
5세대 - LLM
PaLM(Pretraining and Language Model)
• 머신러닝 기반의 언어 모델 • 텍스트 데이터의 패턴을 학습하여 문장 생성, 텍스트 분류, 기계 번역 등 다양한 자연어 처리 작업에 활용할 수 있습니다. • 자연어 처리 분야에서 강력한 성능을 보여주고 있으며, 대규모 데이터셋과 미세 조정 기술을 활용하여 다양한 자연어 처리 작업에 적용될 수 있습니다. 이를 통해 보다 정확하고 유연한 언어 모델을 구축할 수 있습니다. • 구성 ◦ 사전 훈련 단계 : 대규모의 텍스트 코퍼스를 사용하여 언어 모델을 사전에 학습시킵니다. 이 과정에서 문장의 다음 단어를 예측하거나 문맥을 이해하는 등의 과제를 수행하여 모델의 언어 이해 능력을 강화합니다. 대표적인 사전 훈련 방법으로는 Word2Vec, GloVe, BERT, GPT 등이 있습니다. ◦ 미세 조정 단계 : 사전 훈련된 PaLM을 특정 자연어 처리 작업에 맞게 조정합니다. 예를 들어, 텍스트 분류 작업을 수행하는 경우, 미세 조정 단계에서는 분류 모델의 출력 레이어를 추가하고, 사전 훈련된 PaLM을 초기 가중치로 사용하여 분류 작업에 특화된 학습을 진행합니다. 이를 통해 작은 규모의 레이블된 데이터로도 높은 성능을 달성할 수 있습니다.