1. layer의 계산적인 측면 self attention의 layer의 계산적인 측면에서 본다면 input sequence의 길이가 n이고 hidden vector의 차원이 d일때 Q는 n*d차원이고 KT 는 d*n차원이므로 O(n2d) RNN은 d차원의 ht−1이 ht로 변환되기위해서는 Whh라는 d*d행렬을 곱하여 계산되는데 input sequence의 길이 n에 대하여 O(nd2) input sequence의 길이 n과 hidden vector의 차원 d는 의미적으로 큰 차이가 있는데 hidden vector의 차원은 hyperparameter로 선택할수있는 값이다. 그러나 input sequence는 선택할수 없는 값으로 데이터의 길이에 따라..
우리는 softmax(QKT)V로 attention을 구했지만 논문에서는 scaled dot product attention을 제안했다. key,query matrix의 차원 dk의 제곱근으로 QKT를 나눠줬다. 왜 그랬는지 생각해보자. query와 key의 내적은 언제나 하나의 scalar지만 query,key의 차원 dk가 충분히 크다면 내적이 당연히 커진다는 점에 주목했다. 그러면 softmax function이 gradient를 극도로 낮게 만드는 영역이 존재한다는 것이다. We suspect that for large values of dk, the dot products grow large in magnitude, pushing the softmax..
1. 예시로 알아보는 self attention hidden state vector를 만들고자 하는 x1의 query를 q1으로 생성 1에서 x1의 query q1와 x1,x2,x3의 key k1,k2,k3 각각의 내적으로 score를 계산 (3.8,-0.2,5,9) softmax를 취하여 어느 벡터에 집중할지 가중치를 계산 (0.2,0.1,0.7) 가중치인 score와 x1,x2,x3의 value v1,v2,v3의 weighted sum을 구한다. 즉 x1의 hidden vector h1=0.2v1+0.1v2+0.7v3으로 구해진다. 이러면 이제 x1,x2,x3를 학습이 가능한 weight matrix인 WQ,WK,WV로 변환하여 얻은 query,key,value를 이용하였는데 ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.