어텐션 3

TR-04. 멀티-헤드 인코더-디코더 어텐션(Multi-head Encoder-Decoder Attention)

멀티-헤드 인코더-디코더 어텐션은 트랜스포머 디코더의 "두 번째 어텐션 층"에 위치하며, 디코더가 출력 단어를 생성할 때 인코더의 입력 문장 전체를 참고할 수 있게 해주는 핵심 다리 역할을 합니다. 이는 "크로스-어텐션(Cross-Attention)"이라고도 불립니다. 앞서 설명한 '셀프 어텐션'은 문장 내부의 관계를 파악하는 것이 목적이었다면, 이 '인코더-디코더 어텐션'은 서로 다른 두 문장(입력 문장과 출력 문장) 간의 관계를 파악하는 것이 목적입니다.핵심 차이점: Q, K, V의 출처가장 큰 차이점은 Query(Q), Key(K), Value(V)를 가져오는 위치입니다.Query (Q): 디코더의 이전 층(Masked Self-Attention 층)에서 옵니다. 의미: "내가 지금 번역/생성하려는..

TR-03. 멀티-헤드 마스크드 셀프 어텐션(Multi-head Masked Self Attention)

멀티-헤드 마스크드 셀프 어텐션은 트랜스포머 디코더의 첫 번째 하위 계층에서 사용되는 메커니즘입니다. 핵심 기능은 문장을 생성할 때, 모델이 "미래의" 정답 단어를 미리 훔쳐보지 못하도록(cheating) 방지하는 것입니다.1. 왜 "Masked"가 필요한가?트랜스포머의 디코더는 자기회귀적(Autoregressive) 방식으로 작동합니다. 즉, 한 단어씩 순차적으로 문장을 생성합니다.예: "나는" $\rightarrow$ (다음 단어 예측) $\rightarrow$ "학생" $\rightarrow$ (다음 단어 예측) $\rightarrow$ "이다""학생"이라는 단어를 예측해야 하는 시점(Time Step 2)에서, 모델이 정답인 "학생"이나 그 뒤에 올 "이다"라는 정보를 미리 본다면, 그건 예측이 ..

TR-02. 멀티-헤드 셀프 어텐션(Multi-head Self Attention)

멀티-헤드 어텐션은 트랜스포머의 핵심 부품으로, "여러 개의 다른 관점에서" 문장을 동시에 바라보는 메커니즘입니다. '어텐션 헤드' 하나가 스케일드 닷-프로덕트 어텐션 계산기 한 세트라고 생각하시면 됩니다. 멀티-헤드는 이 계산기를 여러 개(예: 8개) 복제하여 병렬로 실행하는 방식입니다.왜 '멀티-헤드'가 필요한가?'싱글-헤드' 어텐션(어텐션을 한 번만 계산)은 문장 내 단어 간의 한 가지 종류의 관계만 학습하는 경향이 있습니다. 예를 들어, "그녀는 강아지에게 밥을 주었다"라는 문장에서 어텐션이 '주어-동사' 관계(그녀는-주었다)에만 집중하도록 학습될 수 있습니다. 하지만 문장에는 다양한 관계가 존재합니다.주어-동사 관계 (그녀는 - 주었다)동사-목적어 관계 (주었다 - 밥을)수식 관계 (강아지 - ..