자연어 처리 트랜스포머 2강(Attention, Self-Attention, Multi-Head Attention)
Вставка
- Опубліковано 20 вер 2024
- 현재 Chatgpt와 같은 전세계 자연어처리 모델(LLM)들을 이루는 가장 핵심 아키텍처인 트랜스포머(Transformer)에 대해 자세히 알아봅시다. 이번 영상에서는 트랜스포머의 핵심 개념인 Attention에 대해 알아보겠습니다.
트랜스포머에 대한 더 많은 내용은 아래 제 블로그에 있으니 꼭 한번 들려주세요.
추가적으로 AI 및 인공지능에 관심있는 여러분들을 위해 현재 오픈 카카오톡방을 운영하고 있습니다. 들어오셔서 AI관련 다양한 정보 공유하시고 가세요.
그럼 공부한 번 해볼까요?
1. Attention
codingopera.ti...
2. Multi-Head Attention
codingopera.ti...
AI 오픈카카오톡방
open.kakao.com...
진짜 강의 퀄리티 대한민국에서 최고로 높습니다. 초등학생도 이해하겠어요. 채널에 강의가 더 풍성해지면 좋겠습니다.
이렇게 칭찬해주셔서 정말 감사합니다. 제가 유튜브를 이제 제대로 시작해서 앞으로 많은 관심과 사랑 부탁드릴께요 💕
11:37 어떤분께서 오픈카톡방에서 multi-head attention의 value metrics는 어떻게 계산 하냐고 물어보셨는데, 이 부분과 같이 softmax 함수를 사용하여 계산합니다!
1 문장 내에서 단어들간의 관계들을 구하는데 갑자기 embedding 단어에다가 QKV vector를 왜 곱하나요?
그리거 QKV 값은 어떻게 사전에 결정되나요?
2. attention value matrix값은 student와 어떤 단어와의 관계 값을 의미하나요?
Q, K, V에 사용되는 nn.Linear가 2로 설정하여 강의를 진행해주셧는데
강의의 편의르 위해 2로 설정하신건가요? 아니면 통상적으로 2를 많이 쓰는건가요?
그리고 nn.Linear의 층 개수는 하이퍼 파라미터에 속하는건가요?
그렇다면 대표적으로 몇층을 쌓나요?
@@user-w9qcxxl5va 질문주셔서 감사합니다. 네 맞습니다. nn.Linear 층 수를 몇 층으로 쌓을지는 하이퍼 파라미터입니다. 제 경험상 통상적인 코드를 봤을때는 2층으로 많이 구현했습니다.
안녕하세요. 우선 정말 좋은 강의 감사합니다!
10:40 부터 질문있습니다.
정규화를 위해서 분모로 나눠준다는 개념은 이해가 잘되었습니다!
그러나 애초에 4개와 100개로 다른 상황이 어떻게 생기게 되는지 궁금해서 댓글을 남겼습니다.
1강에서 I/am/student로 예시를 들어주셨을 때, 모두 1x4의 같은 형태의 차원으로 embedding 되는 것으로 보았고,
Q, K, V 의 layer크기도 계속 변하지 않고 동일할 것 같은데,
어떤 상황에서 4개와 100개처럼 다른 열의 크기가 나올 수 있는건가요??
@@davin6021 아주 좋은 질문이십니다. 네 맞습니다, 하나의 모델에서 embedding size는 동일합니다. 그러나 해당 정규화를 진행하면 embedding size가 상이한 다른 모델과도 attention을 비교할 수 있어 말씀드렸습니다. 또한 이 개념은 attention 정규화의 이해를 돕기위해 설명한 개념임을 생각해주시면 감사하겠습니다. 좋은 질문 감사합니다!! 😀
Query layer, Key layer, value layer의 weight 값은 어떻게 정해지나요? gradient descent로 정해진다면, loss function은 어떤 정답을 기준으로 잡는 건가요? 감사합니다.
Query, Key, Value layer들은 Transformer모델의 구성품으로 전체 모든 Transformer 네트워크들이 통합되어 업데이트됩니다. 이때 모델은 통합 loss 값을 줄이기 위해 업데이트 되므로 각 Q, K, V layer의 weight값이 최적화됩니다. 이 과정에서 각 layer간 weight가 달라지게 되는 것이지요. :)
Q, K, V weight들의 초기 값(initial value)들은 어떻게 셋팅되나요?
질문주셔서 감사합니다. Q, K, V layer의 weight값들은 일반적인 뉴럴네트워크의 초기설정과 마찬가지로 랜덤하게 세팅됩니다 😀. 또 궁금한점이 있으시면 언제든 댓글주세요 :)