기존 RNN 모델의 성능이 별로였던 이유 - 입 출력이 고정되어 언어에 활용하기 부족한 점이 있다!
what are you doing now ?
너 지금 뭐해 ? - ---------
이렇게 비는 경우가 생긴다.
Seq2Seq - LSTM으로 이루어진 Encoder와 Decoder을 통해 가변적인 길이의 입 출력을 가능하게 한다.
Encoder - 입력된 문장을 context vector에 압축(인코딩)하여 정보 저장 -> 문장 수준의 벡터 활용 가능
Decoder - context vector를 통해 출력 문장 생성
한계 - 고정된 크기의 context vector때문에 정보 손실, LSTM을 사용하기 때문에 Vanishing Gradient 문제 발생
attention의 등장으로 입력 시퀸스의 길이가 길어져도 정보를 유지할 수 있게 되었다.
위 사진을 보면 알듯 디코더에서 나온 hidden state를 가지고 encoder의 hidden state와 dot product를 진행하여 각자의 유사도를 구하고, 그 유사도 점수를 다시 encoder의 hidden state와 가중합하여 decoder의 hidden state와 concat합니다.
이렇게 input의 모든 정보를 빠지지않고 잘 쓸 수 있게 됩니다.
ELMo - 사전학습을 통해 일반화된 언어 특성을 모델 파라미터 안에 함축
양방향 LSTM을 통해 양쪽 문맥을 다 고려하여 확률을 예측한다.
이렇게 사전학습된 임베딩을 통해 빠른 수렴과 학습 속도를 보인다. == 문맥 내 단어의 정보를 충분히 반영하는 벡터 표현
Transformer - attention만으로 구현된 Encoder, Decoder 모델
순서 정보를 첨가하기 위해 Positional encoding 진행
attention에서 Query, key, value 값이 동일하여 단어에 대한 연관성, score를 확실하게 알 수 있다.
여기서 q,k,v를 나눠서 진행하면 Multi-Head Attention이 진행된다.
decoder에서는 masking을 통해 입력 데이터를 전부 주지 않고, 필요한 것 만 사용한다.
GPT - Transformer의 Decoder
대규모 코퍼스로 unsupervised learning 진행 후 특정 작업에 대한 데이터로 fine-tuning
BERT - Transformer의 Encoder 사용하여 양방향 학습
여기선 position 임베딩 뿐만 아니라 segment 임베딩을 추가하여 문장을 구분해준다,
MLM - 마스킹 된 단어 맞추기
NSP - 다음 문장 맞는지 맞추기
'인공지능 > 자연어 처리' 카테고리의 다른 글
Model의 파라미터를 줄이는 방법 - Pruning with LLM 1 (1) | 2024.09.05 |
---|---|
자연어 처리 복습 5 - 사전 학습, 전이 학습, 미세 조정 (4) | 2024.09.03 |
자연어 처리 복습 3 - 토큰화, 임베딩, 언어 모델 (2) | 2024.09.03 |
세미나 정리 8-29 (0) | 2024.08.29 |
자연어 처리 복습 2 - NLP Task, token, 데이터 전처리 (0) | 2024.08.27 |