-
[AI] Week3 학습 정리AI 2023. 3. 23. 17:59728x90
RNN
RNN은 Short-Term dependency를 잘 잡지만, Long-Term dependency는 잘 못잡는다.
→해결하기 위해 LSTM 나옴
LSTM은 Gate 3개 사용
→ Parameter 많이 필요
→ Parameter 줄이기 위해 Gate하나 없앤 Gated Recurrent Unit 나옴
Attention
Attention이란?
Decoder에서 출력 단어를 예측하는 시점마다 Encoder에서의 전체 입력 문장을 다시 한 번 참고하는 것
Self-Attention이란?
단어 간의 관계성 연산 결과를 활용하여 연관성이 높은 단어끼리 연결해주기 위해 활용하는 것
Attention 과 Self-Attention 의 차이
Attention과 Transformer의 Self-Attention는 비슷하지만 차이가 있습니다.
Attention Self-Attention Q, K, V 생성 Q는 Decoder Cell에서 도출되고, K와 V는 Encoder Cell에서 도출됨 Q, K, V 모두 동일한 vector(Embedding vector)에서 도출됨 Time Step Time Step활용 O Time Step 활용 X 데이터 보존
(Long-term Dependency)X
Hidden Layer 연산 결과(Hidden State Vector)를 다음 Model에 적용시키는 방식으로 이전 정보를 전달 -> 시간이 지남에 따라 어쩔 수 없이 초기 해석 정보가 지워지게 됨, Hidden Layer에 정보가 쌓이다 보면 초기 정보가 사라지는 현상O
Encoder는 모든 단어에 대해, Decorder는 직전 예측 단어에 대해 Q(hidden vector)를 구하여 해당 값을 활용.
이전 해석 정보에 대한 Hidden State Vector를 보존하여 Self-Attention 연산→ 각 단어에 대한 온전한 연산이 수행하게 되어 초기 정보가 반영될 수 있다.self-attention 연산 과정 정리
1. Input 단어들을 활용하여 Embdding Vector 도출 2. Embedding Vector를 활용하여 Queries, Keys, Values Vector를 생성 Embedding Vector 1개당 (Q, K, V) 쌍 1개씩 도출됨 3. Q, K, V를 활용하여 점수 계산 특정 단어의 Query Vector를 활용하여 모든 단어의 Key Vector와 내적을 통해 Score를 구함 Score : 해당 단어에 대한 Encode를 수행할 때, 다른 단어들에 얼마나 집중해야 할지를 결정해줌 4. Score를 d_k로 나눠줌 ( score / sqrt(d_k) ) 5. 나눠준 모든 값을 softmax함수에 통과시킴 ( exp ) 6. softmax * value vector 7. sum
<2023-03-23 개인적인 회고>
마스터 클래스를 듣고 느낌점:
"데이터 엔지니어링이 지금의 차별화다.
수학 수식 및 논문을 읽는 것도 중요하지만 대용량의 파이프라인을 구축하고 처리하는 것을 할 줄 아는 것이 중요하다."라고 하셨습니다. ㅜㅜ 슬픈 내용도 있었지만 방향성을 잡아주신것 같아 좋은 시간이었습니다.
728x90'AI' 카테고리의 다른 글
[AI] Gradient Descent Methods (경사하강법) (0) 2023.04.04 [AI] Optimization(최적화) (0) 2023.04.03 [AI] Neural Network, 활성 함수, MLP (0) 2023.04.03 [AI] 딥러닝 기초 (0) 2023.03.31 [AI] seaborn (0) 2023.03.27