어텐션 메커니즘이란 무엇인가

어텐션 메커니즘은 신경망에서 출력을 생성할 때 모델이 입력의 가장 관련성이 높은 부분에 집중할 수 있도록 하는 기술입니다.

어텐션 메커니즘은 딥러닝 모델, 특히 기계 번역, 텍스트 요약, 이미지 캡셔닝과 같은 시퀀스-투-시퀀스 작업에 주로 사용되는 기술입니다. 이는 모든 정보를 고정 크기의 컨텍스트 벡터로 압축하는 기존 모델(기본 RNN 등)의 긴 입력 시퀀스 처리 능력의 한계를 해결합니다. 어텐션은 모델이 출력 시퀀스의 각 부분을 생성할 때 입력 시퀀스의 특정 부분에 동적으로 집중할 수 있도록 합니다. 아키텍처 측면에서, 이는 디코더의 현재 상태와 인코딩된 입력 시퀀스의 각 요소 간에 '어텐션 점수'를 계산하는 것을 포함합니다. 이 점수들은 일반적으로 소프트맥스 함수를 사용하여 정규화되어 '어텐션 가중치'를 생성합니다. 이러한 가중치를 사용하여 입력 요소들의 가중 합은 현재 디코딩 단계에 특화된 컨텍스트 벡터를 형성합니다. 이를 통해 모델은 가장 관련성 높은 입력 정보에 '주의'를 기울일 수 있으며, 장거리 의존성 이해가 필요한 작업에서 성능을 향상시킵니다. 단점으로는 비어텐션 모델에 비해 계산 복잡성과 메모리 사용량이 증가하지만, 정확도 향상과 더 긴 시퀀스를 처리할 수 있는 능력은 종종 상당합니다.

        graph LR
  Center["어텐션 메커니즘이란 무엇인가"]:::main
  Pre_deep_learning["deep-learning"]:::pre --> Center
  click Pre_deep_learning "/terms/deep-learning"
  Pre_linear_algebra["linear-algebra"]:::pre --> Center
  click Pre_linear_algebra "/terms/linear-algebra"
  Rel_transformer_architecture["transformer-architecture"]:::related -.-> Center
  click Rel_transformer_architecture "/terms/transformer-architecture"
  Rel_context_window["context-window"]:::related -.-> Center
  click Rel_context_window "/terms/context-window"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 지식 테스트

1 / 3

🧒 5살도 이해할 수 있게 설명

긴 이야기를 읽을 때, 지금 무슨 일이 일어나고 있는지 이해하는 데 도움이 되도록 이전에 읽었던 특정 문장을 다시 찾아보는 것과 같습니다.

🤓 Expert Deep Dive

어텐션 메커니즘은 가변 길이의 컨텍스트 의존적 정보 검색을 가능하게 함으로써 시퀀스 모델링을 근본적으로 향상시킵니다. 아키텍처 측면에서, 이는 쿼리-키-값(QKV) 패러다임을 도입합니다. 디코더의 현재 상태는 일반적으로 쿼리로 사용되며, 인코더의 은닉 상태는 키와 값으로 작용합니다. 쿼리와 각 키 간의 정렬 점수는 점수 함수(예: 점곱, 덧셈)를 통해 어텐션 가중치를 결정합니다. 이 가중치 분포를 통해 모델은 값의 가중 합으로 컨텍스트 벡터를 계산하여 효과적으로 관련 정보를 검색할 수 있습니다. 트랜스포머에 사용되는 셀프 어텐션은 이 메커니즘을 인코더와 디코더 사이뿐만 아니라 입력 시퀀스 자체 내에서도 적용하여, 모델이 서로에 대한 단어들의 중요도를 가중할 수 있도록 합니다. 이러한 병렬화 가능한 계산과 재귀 없이 장거리 의존성을 포착하는 능력은 주요 아키텍처 장점입니다. 취약점은 어텐션 패턴을 조작하는 적대적 공격이나 왜곡된 데이터 분포에서 학습된 편향으로 인해 발생할 수 있습니다.

🔗 관련 용어

선행 지식:

📚 출처