자연어 처리 딥러닝 모델
Seq2Seq
- 한계점
RNN 기반 모델 : 시퀀스 데이터를 처리할 때 시간 축으로 순차적으로 처리하면서 hidden state에 시퀀스의 정보를 담아가기 때문에 시간에 따라 오래된 정보가 일부 소실될 수 있다는 문제가 있음. (vanishing gradient problem)
CNN 기반 모델 : 입력 데이터에 대해 고정된 크기의 필터를 적용하는 구조이기 때문에 입력 데이터의 길이나 구조가 다양한 경우 처리에 제약이 있음. (자연어 처리 분야에서 입력 데이터의 길이나 구조가 다양한 경우가 많음)
Transformer
현대의 자연어 처리 네트워크에서 핵심
Attention 기법만 잘 활용해도 자연어 처리 task에서 좋은 성능을 얻을 수 있다.
RNN이나 CNN을 전혀 필요로 하지 않음.
1.입력과 출력의 형태
- 입력 : source sentence의 단어들의 sequence
- 출력 : target sentence의 단어들의 sequence가 되며, 각 단어는 번역된 결과물의 한 부분
2.Encoder 와 Decoder 의 역할
- Encoder : 입력 시퀀스를 처리하여 각 단어의 임베딩 벡터를 생성하고, 이를 Self-Attention과 Feed-Forward Network를 통해 인코딩함.
(이를 통해 입력 시퀀스의 의미를 추출하고, 각 단어의 상대적인 위치 정보를 포착할 수 있음) - Decoder : 출력 시퀀스를 생성하기 위해 Encoder에서 생성된 인코딩 벡터와 이전 출력값을 입력으로 받아, Self-Attention과 Encoder-Decoder Attention, 그리고 Feed-Forward Network를 통해 디코딩함.
(이를 통해 출력 시퀀스의 각 단어를 생성하고, 출력 시퀀스의 의미를 포착할 수 있음)
3.Self-Attention 이란?
- 문장 내의 각 단어들 사이의 관계를 계산하여 문장의 의미를 파악하는 기술
- 기존의 RNN이나 CNN과 달리 Self-Attention은 병렬 처리가 가능하여 학습 속도와 성능이 뛰어남.
4.Self-Attention에서 Query, Key, Value의 역할
- Query(쿼리) : 물어보는 주체
- Key(키) : 물어보는 대상 (각각의 attention을 수행할 단어들)
- Value(값) : 행렬곱을 수행한 후 간단한 스케일한 확률값과 비교하는 실제 밸류값
ex) I am a teacher
I -> Query
I am a teacher -> Key
5.Positional Encoding 의 역할
- 문장 내의 각각 단어들에 대한 순서 정보를 주는 역할을 함.
6.Layer Normalization은 어떻게 사용되는지
- 각 레이어의 입력값에 대해 평균과 표준편차를 구한 후 정규화하는 방식. 이를 통해 모델의 학습을 안정화시키고, Gradient vanishing 현상을 방지함.
7.Multi-Head Attention의 작동 원리
- self-attention을 여러 개의 head로 분리하여 각 head에서 attention을 수행한 후 결과를 합치는 것. 이를 통해 모델이 서로 다른 위치나 층에서 각기 다른 종류의 정보를 모델링할 수 있음.
8.Multi-Head Attention에서 Head의 개수가 많아질수록 모델의 성능이 좋아지는 이유
1) Head의 개수가 많아질수록 각 Head가 다른 종류의 정보를 학습하고, 이를 결합하여 최종 출력을 생성하기 때문.
각 Head가 다른 종류의 정보를 학습하면 모델은 입력의 다양한 측면을 고려할 수 있으며, 이를 결합하여 최종 출력을 생성하므로 성능이 향상됨2) Head의 개수가 많아질수록 모델의 표현력이 증가하기 때문. 더 많은 Head를 사용하면 모델은 입력의 미묘한 차이를 더 잘 파악할 수 있으며, 이를 반영하여 더 정확한 출력을 생성할 수 있음. 따라서 Head의 개수가 많아질수록 모델의 성능이 좋아지는 것
9.BERT (Bidirectional Encoder Representations from Transformers) 와 GPT(Generative Pre-trained Transformer)의 차이점
- BERT : 양방향(bidirectional) Transformer Encoder를 사용하며, 사전 학습을 위한 입력 데이터로 Masked Language Modeling(MLM)과 Next Sentence Prediction(NSP) task를 사용. 이를 통해 BERT는 일반적인 언어 모델링 뿐만 아니라, 문장 추론, 자연어 이해, 질문 응답 등 다양한 자연어 처리 태스크에서 좋은 성능을 보임.
- GPT : 단방향(unidirectional) Transformer Decoder를 사용하며, 사전 학습을 위해 언어 모델링의 단방향 예측 문제를 해결하는데 초점을 맞춤. 이를 통해 GPT는 자연어 생성 태스크에서 좋은 성능을 보임.
10.트랜스포머의 성능을 향상시키기 위해 시도된 다양한 변형 기법들
- GPT(Generative Pre-trained Transformer)모델에서 사용된 Autoregressive Language Modeling 방식의 미세조정(fine-tuning)
- T5(Text-to-Text Transfer Transformer)모델에서 사용된 다양한 Task의 fine-tuning 방식
- Pretrained LM에서 Encoder만 활용하여 의미 임베딩을 뽑아 활용하는 방식
- Transformer-XL 모델에서 사용된 Recurrence Mechanism 적용
- ALBERT (A Lite BERT)모델에서 사용된 파라미터 공유 기법
- Reformer 모델에서 사용된 Sparse Transformer 기법
등이 있습니다.