반응형
1. Transformer 란?
"Attention is All you Need (2017, Google)"
- 자연어 처리와 머신러닝에 사용되는 딥러닝 모델 : OpenAI의 GPT, Google의 Bert
- 기존의 RNN, LSTM보다 빠르고 효율적 텍스트 처리
2. 기존 모델(RNN, LSTM)과의 차이점
- 입력 데이터를 순차적으로 처리해야 해서 속도가 느리고, 긴 문장을 다루기 어려움
- Transformer는 병렬 처리가 가능하고 문장의 모든 단어를 한꺼번에 처리할 수 있도록 설계
3. Transformer의 핵심 개념
- Self-Attention : 문장 안의 각 단어가 다른 단어들과 얼마나 관련이 있는지 계산하는 과정
- Multi-Head Attention : Self-attention 을 여러개 동시 수행하는 기법으로 다양한 시각에서 문맥을 파악할 수 있으며 번역 요약 같은 작업에서 더 정확한 결과 도출
- Positional Encoding : 각 단어의 위치 정보를 추가로 넣어주는 방식
4. Transformer의 구조
- Encoder : 입력된 문장을 이해하는 역할, 여러 개의 Self-attention 레이어와 Feed Forward 레이어로 구성
- Decoder : Encoder 에서 받은 정보를 바탕으로 새로운 문장 생성
5. Transformer 기반 모델 예시
- Bert(Bidrectional Encoder Representations from Transformers)
- 문장의 왼쪽 오른쪽을 동시 참고하는 모델
- 문장 이해, 감성 분석, 문장 분류 같은 작업에 강함
- T5(Text-to-Text Transfer Transformer)
- 모든 NLP 문제를 입력 -> 출력 변환(Text to Text) 방식으로 해결하는 모델
6. Self-Attention 의 동작 방식
1) Query, Key, Value : 각 단어를 벡터로 변환한 후, 세가지 행렬을 만듬
- query : 이 단어에 대한 질문, key : 어떤 단어인지 알려주는 정보, Value : 실제의 정보
2) Query 와 Key를 곱해서 가중치 계산
query 와 Key를 내적하면 각 단어들 간의 유사도를 구해서, 한 단어가 다른 단어와 얼마나 관련이 있는지 계산
3) Softmax로 정규화 : 계산된 가중치를 softmax 함수에 넣어서 확률값으로 변환
반응형
댓글