Open njs03332 opened 8 months ago
assign roles -s 0317 -c 1 2 3
scaled dot-product attention 층
트랜스포머에서는 점곱으로 유사도 측정
Q: 행마다 query 하나를 담은 행렬, 크기=[nqueries, dkeys]
K: 행마다 key 하나를 담은 행렬, 크기=[nkeys, dkeys]
V: 행마다 value 하나를 담은 행렬, 크기=[nkeys, dvalues]
QKT: 쿼리/키 쌍마다 하나의 유사도 점수를 담고 있음, 크기=[nqueries, nkeys]
소프트맥스 함수의 출력도 동일한 크기이지만 모든 행의 합이 1
최종 출력의 크기=[nqueries, dvalues]
하나의 행은 하나의 쿼리에 해당
각 행은 쿼리 결과 (값의 가중치 합)을 나타냄
스케일링 인자는 소프트맥스 함수가 포화되어 그레이디언트가 너무 작아지지 않도록 유사도 점수를 낮춤
소프트맥스 함수를 계산하기 전에 유사도 점수에 아주 큰 음수를 더해 일부 키/값 쌍을 제외하도록 마스킹처리할 수 있음. (마스크된 멀티-헤드 어텐션에서 사용하는 방법)
인코더에서 이 식이 배치에 있는 모든 입력 문장에 적용됨
디코더의 마스킹된 어텐션 층에서 이 식이 배치에 있는 모든 타깃 문장에 적용됨
keras.layers.Attention 층은 배치에 있는 여러 문장에 위 식을 효율적으로 적용하는 스케일드 점-곱 어텐션을 구현함
멀티-헤드 어텐션 층 구조