어텐션과 셀프 어텐션은 관련이 있지만 서로 다른 개념으로, 주로 신경망과 딥러닝 분야에서 사용됩니다.
어텐션은 모델이 예측을 할 때 입력의 특정 부분에 집중할 수 있게 해주는 일반적인 기법입니다. 마치 문제를 풀 때 지문에서 중요한 단어들을 형광펜으로 표시하는 것과 같습니다.
전통적인 어텐션(인코더-디코더 모델 등)에서는:
예를 들어, "고양이가 매트 위에 앉았다"를 영어로 번역할 때, 어텐션 메커니즘은 "cat"을 생성할 때 "고양이"에 집중하도록 도와줍니다.
셀프 어텐션은 입력 시퀀스가 자기 자신에게 어텐션을 적용하는 특별한 형태입니다. 다른 입력 시퀀스에 집중하는 대신, 시퀀스의 각 위치가 같은 시퀀스의 모든 위치(자기 자신 포함)에 집중할 수 있습니다.
주요 특징:
어텐션의 출처: 일반 어텐션은 주로 서로 다른 두 시퀀스를 연결하는 반면, 셀프 어텐션은 하나의 시퀀스 내에서 작동합니다
사용 사례:
아키텍처: 셀프 어텐션은 트랜스포머의 핵심 메커니즘이며, 전통적 어텐션은 RNN 기반 시퀀스-투-시퀀스 모델에서 사용되었습니다
셀프 어텐션은 BERT나 GPT 같은 모델이 양방향으로 문맥을 이해하고, 시퀀스에서 단어들 간의 거리에 관계없이 복잡한 관계를 포착할 수 있게 해주기 때문에 특히 중요해졌습니다.