inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실무 중심의 딥러닝 NLP 심화: LLM 아키텍처와 파인튜닝 실전

Self-Attention 계산 과정 설명

self-attention에서 Wq, Wk, Wv weight matrix 학습과정 질문드립니다.

해결된 질문

189

David

작성한 질문수 13

0

self-attention에 등장하는 Wq, Wk, Wv weight matrix들에 대한 학습과정 질문입니다.

attention score계산 시 query vector에 대해(예를들어 강의에서 설명하신 student vector) key vector들(am, a, student 벡터)의 attention score가 낮게 나온다면, 그게 loss가 되는건가요? 예를들어, Wq, Wk, Wv weight들이 충분히 학습되지 않았을 때를 생각해보면, "I" vector가 Query vector일 때, "student" key vector의 attention score가 가장 높게 나오지 않고 "am" key vector와 attention score가 가장 높게 나올 경우엔 loss가 발생하고 "student" key vector와의 score가 높게 나오도록 Wq, Wk, Wv가 업데이트 된다고 이해하면 될까요?(I와 student는 word embedding에 의해 유사성이 있다고 판단하고)

딥러닝 tensorflow NLP

답변 3

1

YoungJea Oh

"Wq, Wk, Wv 에 의해 계산된 attention score 자체가 직접적으로 loss가 되는 것은 아닙니다. Loss는 Transformer 모델 출력의 softmax 확률 분포와 실제 정답 레이블 간의 Cross-Entropy Loss로 정의됩니다. 다만, Wq, Wk, Wv가 충분히 학습되지 않은 경우, 올바른 attention score가 계산되지 않을 것입니다. 이는 Self-Attention 메커니즘이 문장 내 토큰들 간의 관계를 정확히 학습하지 못했음을 의미합니다. 그 결과, 출력 단의 softmax 확률 분포가 왜곡되어 Cross-Entropy Loss가 커지게 됩니다.

이 Loss를 줄이기 위해 Backpropagation(오차 역전파)과 Gradient Descent(경사 하강법)가 적용됩니다. 이를 통해 Wq, Wk, Wv가 점점 올바른 방향으로 업데이트되고, 올바른 Attention Score를 계산할 수 있도록 학습이 진행됩니다."

좋은 질문 감사합니다.

0

David

답변 감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. David님께서 self-attention에서의 Wq, Wk, Wv weight matrix의 학습 과정에 대해 질문 주셨네요.

Transformers의 self-attention 메커니즘에서, Query(Q), Key(K), Value(V) 행렬을 통해 각 단어의 중요도를 계산합니다. 이때 학습 과정에서 중요한 건, 모델이 문장의 문맥이나 의미를 잘 이해하여 특정 단어 쌍의 관련성을 정확히 포착하는 것입니다.

예를 들어, ‘I am a student’ 문장에서 ‘I’가 Query일 때 ‘student’와의 관련성이 높게 나와야 한다면, 이는 모델에 의해 학습되어야 할 패턴입니다. 초기에는 모델이 이런 패턴을 제대로 잡지 못해 ‘am’과의 점수가 높게 나올 수 있습니다. 이럴 경우, 모델은 손실(Loss)이 발생하여, 역전파(backpropagation) 과정을 거치면서 Wq, Wk, Wv 매트릭스가 학습됩니다. 이 과정에서 모델은 점차 ‘I’와 ‘student’의 관계를 더 강화하도록 업데이트됩니다.

자세한 학습 과정과 관련된 논의를 살펴보려면 다음 URL을 참고해 보세요:

이 두 게시물에서는 질문자님께서 물어보신 self-attention 메커니즘의 근본적 원리에 대해 더욱 심도 있는 논의를 볼 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

트랜스포머 FeedForward 관련 질문

0

69

2

파라미터갯수에대한질문(030_IMDB_movie_reviews)

0

60

1

Transformer 번역기 분석 - Part1 따라치기 질문

0

69

2

Encoder-Decoder 질문 드립니다.

0

71

2

model 코드 부분을 따라하다가 전 값이 이상해서요

0

83

1

서적 추천

0

75

1

NLP와 LLM의 차이점

0

550

2

encoder-decoder model 질문입니다.

1

73

1

구글번역기에 대해서 궁금한점이 있습니다.

0

122

2

로드맵에대해서...

0

119

2

Bag of Word (BOW)와TF-IDF시 대명사인 I의행방

0

94

2

강의 교재 최신화 요청

0

142

4

코랩 환경 설정할 때 질문이 있습니다.

0

248

1

transformer 훈련 마친 모델 공유 가능할까요?

0

216

2

130_Transformer.ipynb transformer.summary() 에러

0

182

2

강사님 궁금한게 있어 문의 드립니다.

0

128

1

강사님 Tensorflow 실습코드 중 궁금한 점이 있습니다.

0

124

1

패딩과 관련한 질문 드립니다.

0

171

1

Encoder Decoder 부터 Simple Chatbot까지 이상답변

0

218

1

seq2seq 모델

0

323

1

강의 내용중 질문있습니다.

0

197

1

Transformer 번역기 부분에 대해 질문 있습니다.

0

212

1

320_Custom_Sentiment_Analysis_navermovie.ipynb 실행 시 오류 납니다.

0

314

2

201_classify_text_with_bert_tfhub_Kor.ipynb 오류

0

342

2