어텐션 메커니즘 소개
어텐션 메커니즘은 딥러닝의 성능을 크게 끌어올렸고, 동시에 모델 내부를 들여다볼 단서도 제공한다. 모델을 사후적으로 설명하는 SHAP이나 LIME과 달리, 어텐션 가중치는 모델 아키텍처에 내재되어 있어 모델이 결정을 내릴 때 입력의 어디에 가중치를 두는지 보여 준다. 다만 뒤의 "설명으로서 어텐션의 한계"에서 보듯, 이 가중치가 곧 결정의 이유라고 단정할 수는 없다.
어텐션 메커니즘은 원래 신경망 기계 번역을 위해 개발되었으며, 모델이 각 출력 단어를 생성할 때 입력 문장의 관련 부분에 집중할 수 있게 해 주었다. 이 개념은 이후 컴퓨터 비전, 음성 인식 등으로 확장되어 트랜스포머(Transformer)와 같은 현대 AI 아키텍처의 초석이 되었다.
어텐션의 작동 원리
어텐션의 핵심은 각 요소가 쿼리와 얼마나 관련되는지에 따라 값(value)의 가중합을 계산하는 것이다. 이 과정에는 세 가지 핵심 구성 요소가 관여한다.
쿼리, 키, 값
- 쿼리(Query, Q): 찾고자 하는 것으로, 현재의 초점을 나타낸다
- 키(Key, K): 각 요소가 제공하는 것으로, 관련도 계산에 사용된다
- 값(Value, V): 실제로 집계할 내용이다
어텐션 점수는 쿼리와 각 키 사이의 유사도를 측정하여 계산하며, 이 점수로 값에 가중치를 부여한다. 수학적 정식화는 다음과 같다.
Attention(Q, K, V) = softmax(Q × K^T / √d_k) × V
여기서:
- Q × K^T 는 유사도 점수를 계산한다
- √d_k 는 스케일링 계수이다(키의 차원)
- softmax 는 점수의 합이 1이 되도록 정규화한다
- V 를 곱하여 가중 출력을 얻는다
셀프 어텐션과 트랜스포머
셀프 어텐션(self-attention)은 하나의 시퀀스 내부에 어텐션 메커니즘을 적용하여 각 요소가 다른 모든 요소에 주의를 기울일 수 있게 한다. 이는 BERT, GPT, 비전 트랜스포머(Vision Transformer)와 같은 모델을 구동하는 트랜스포머 아키텍처의 기반을 이룬다.
멀티헤드 어텐션
트랜스포머는 단일 어텐션 대신 여러 어텐션 "헤드"를 병렬로 사용하며, 각 헤드는 서로 다른 패턴을 학습한다. 어떤 헤드는 구문에, 다른 헤드는 의미에, 또 다른 헤드는 장거리 의존성에 집중할 수 있다. 이러한 다면적 어텐션은 더 풍부한 표현과 더 섬세한 해석 가능성을 제공한다.
// WIA-AI-009 어텐션 시각화
const attentionWeights = model.getAttentionWeights(input);
// 텍스트 예: "The cat sat on the mat"
// "sat"을 처리할 때 어텐션은 다음과 같이 나타날 수 있다:
attentionWeights = {
"The": 0.05,
"cat": 0.45, // 주어에 대한 강한 어텐션
"sat": 0.15,
"on": 0.12,
"the": 0.08,
"mat": 0.15 // 장소에 대한 어텐션
}
어텐션 시각화
어텐션 히트맵
텍스트의 경우 행은 출력 위치, 열은 입력 위치인 행렬로 어텐션을 시각화한다. 색이 진할수록 어텐션이 높음을 뜻한다. 이를 통해 각 출력 단어에 어떤 입력 단어가 영향을 주었는지 드러난다.
어텐션 흐름
다층 모델에서는 어텐션이 층을 거치며 어떻게 변화하는지 추적한다. 초기 층은 국소적 패턴(구문)에 집중하는 반면, 더 깊은 층은 전역적 의미를 포착할 수 있다. 이러한 경향은 층별 분석 연구에서 자주 관찰되지만 모든 모델에 일반화할 수는 없다.
헤드별 분석
각 어텐션 헤드가 무엇을 학습하는지 분석한다. 연구에 따르면 일부 헤드는 특정 언어 현상에 특화된다. 예컨대 한 헤드는 주어-동사 일치를, 다른 헤드는 대용어 해소(anaphora resolution)를 담당하는 식이다. 이러한 특화는 모델이 학습한 표현에 대한 통찰을 제공한다.
현저성 맵과 그래디언트 기반 방법
어텐션이 내장되지 않은 모델의 경우, 그래디언트 기반 방법으로 어떤 입력이 출력에 가장 큰 영향을 미치는지 시각화한다.
기본 현저성 맵
각 입력 픽셀/특성에 대한 출력의 그래디언트를 계산한다. 그래디언트가 클수록 영향력이 크다는 뜻이다. 이미지의 경우 모델이 중요하다고 판단한 픽셀이 강조된다.
// 현저성 계산
function computeSaliency(model, input, targetClass) {
// 순전파
const output = model.forward(input);
// 역전파
const gradient = model.backward(targetClass);
// 그래디언트 절댓값 크기 = 현저성
return gradient.abs();
}
통합 그래디언트(Integrated Gradients)
단순 그래디언트는 잡음이 많을 수 있다. 통합 그래디언트는 기준선(예: 모두 0)에서 실제 입력까지의 경로를 따라 그래디언트를 적분함으로써 이를 개선한다. 이 방법은 기여도의 합이 입력과 기준선에서의 출력 차이와 같다는 완전성을 비롯해 SHAP과 유사한 이론적 공리를 만족한다. WIA-AI-009 명세(2단계)의 참조 구성은 기준선 0(zeros), 적분 단계 50을 사용하며, 명세 벤치마크 기준 평균 계산 시간은 약 1,200ms이다.
Grad-CAM(Gradient-weighted Class Activation Mapping, 그래디언트 가중 클래스 활성화 매핑)
CNN의 경우 Grad-CAM은 중요한 영역을 강조하는 거친 위치 지정 맵을 생성한다. 그래디언트와 특성 맵을 결합하여 어떤 공간적 위치가 예측에 기여했는지 보여 준다.
층별 관련성 전파(LRP)
LRP(Layer-wise Relevance Propagation)는 예측값을 네트워크를 따라 역방향으로 재분배하여, 출력을 각 입력의 기여분으로 분해한다. 그래디언트와 달리 LRP는 보존 법칙을 만족한다. 즉 관련성의 합이 예측값과 같다.
LRP 규칙
층 유형마다 서로 다른 전파 규칙을 적용한다.
- 선형 층: 가중치에 기반한 비례 재분배
- ReLU 층: 양의 관련성을 그대로 통과
- 풀링 층: 최대 요소로 재분배
개념 기반 설명
개별 픽셀이나 특성 대신 인간이 이해할 수 있는 개념으로 설명한다.
TCAV(Testing with Concept Activation Vectors, 개념 활성화 벡터를 이용한 검정)
TCAV는 하나의 개념(예: 얼룩말 분류에서의 "줄무늬")이 예측에 얼마나 영향을 미치는지 측정한다. 활성화 공간에서 해당 개념을 나타내는 벡터를 학습한 뒤, 모델의 활성화가 이 벡터와 얼마나 정렬되어 있는지 측정한다.
개념 병목 모델
모델이 해석 가능한 개념을 거쳐서만 예측하도록 명시적으로 강제한다. 모델은 먼저 개념("줄무늬가 있음", "다리가 네 개임")을 예측한 뒤, 이를 이용해 클래스("얼룩말")를 예측한다. 이렇게 하면 추론이 투명해지고 개념 예측에 개입할 수 있다.
양식별 어텐션
비전: 공간 어텐션
비전 트랜스포머는 이미지 패치에 셀프 어텐션을 적용한다. 어텐션 맵은 모델이 이미지의 어느 영역에 집중하는지 보여 준다. 객체 탐지에서는 모델이 객체에 올바르게 주목하는지, 아니면 배경 맥락에 의존하는지를 드러낸다.
언어: 토큰 어텐션
자연어 처리(NLP)에서 어텐션은 단어 간의 의존 관계를 보여 준다. 감성 분석에서는 의견 단어와 그 대상을 강조한다. 질의응답에서는 질문 용어를 관련 지문 구간과 연결한다.
멀티모달: 교차 어텐션
비전과 언어를 결합하는 과제(이미지 캡셔닝, VQA)에서는 교차 어텐션이 이미지 영역과 단어를 연결한다. "개(dog)"를 생성할 때 모델은 이미지 속 개 영역에 주목해야 한다.
설명으로서 어텐션의 한계
어텐션은 강력하지만 설명 방법으로서 한계가 있다.
어텐션 ≠ 중요도
높은 어텐션이 항상 높은 중요도를 의미하지는 않는다. 연구에 따르면 어텐션 가중치를 무작위화해도 예측이 크게 바뀌지 않는 경우가 있으며, 이는 어텐션이 결정을 완전히 설명하지 못할 수 있음을 시사한다.
여러 가능한 설명
모델은 서로 다른 어텐션 패턴으로 동일한 예측에 도달할 수 있다. 관찰된 패턴은 여러 가능성 가운데 하나일 뿐이다.
적대적 어텐션
모델은 실제 추론을 반영하지 않으면서도 그럴듯해 보이는 어텐션 패턴을 만들어 내도록 학습될 수 있다. 이 경우 어텐션은 진정한 설명이 아니라 인간을 위한 연출이 된다.
어텐션 기반 XAI의 모범 사례
- 제거 시험으로 검증: 어텐션이 높은 요소를 제거했을 때 예측이 예상대로 바뀌는가?
- 교차 검증: 일관성을 위해 어텐션을 그래디언트 기반 방법과 비교한다
- 층별 분석: 최종 층의 어텐션만 살피지 말고 모든 층을 따라 추적한다
- 헤드 간 집계: 멀티헤드 어텐션은 집계가 필요하다. 최댓값, 평균, 또는 학습된 조합을 시도한다
- 맥락화: 어텐션만 따로 보면 오해를 부를 수 있다. 모델 아키텍처 전반을 함께 고려한다
WIA-AI-009 어텐션 프로토콜
다음은 어텐션 기반 설명을 단순화한 예시 페이로드이다. 명세의 Phase 1 핵심 구조를 따르는 메시지에서는 어텐션 관련 필드가 explanation 객체 안에 들어가며, 예측 신뢰도는 low, medium, high 중 하나로 표현된다.
{
"standard": "WIA-AI-009",
"explanation_type": "local",
"method": "attention",
"model_architecture": "transformer",
"input": "The quick brown fox jumps over the lazy dog",
"target_token": "jumps",
"attention_weights": {
"layer_8_head_3": {
"The": 0.02,
"quick": 0.08,
"brown": 0.12,
"fox": 0.58, // 주어에 대한 어텐션
"jumps": 0.05,
"over": 0.08,
"the": 0.02,
"lazy": 0.03,
"dog": 0.02
}
},
"visualization_type": "heatmap",
"confidence": 0.94
}
장 요약
어텐션 메커니즘은 모델이 예측할 때 어떤 입력 요소에 가중치를 두는지 드러냄으로써 내재적인 해석의 단서를 제공한다. SHAP이나 LIME 같은 사후 방법과 달리 어텐션은 모델 아키텍처에 내장되어 있어, 트랜스포머 기반 모델에 대한 자연스러운 설명의 원천이 된다.
쿼리-키-값 패러다임은 학습된 관련도에 따라 입력의 가중 조합을 계산한다. 멀티헤드 어텐션은 모델이 서로 다른 패턴을 동시에 포착하게 하여 다면적 해석 가능성을 제공한다. 어텐션 히트맵과 흐름도 같은 시각화는 이 정보를 인간 사용자가 접근할 수 있게 한다.
어텐션 외에도 그래디언트 기반 방법(현저성 맵, 통합 그래디언트, Grad-CAM)과 전파 방법(LRP)이 신경망 해석 가능성에 대한 상호 보완적 접근법을 제공한다. TCAV와 같은 개념 기반 방법은 저수준 특성이 아니라 인간이 이해할 수 있는 개념으로 설명한다.
그러나 어텐션에는 한계가 있다. 높은 어텐션이 항상 높은 중요도와 같지는 않으며, 모델은 그럴듯하지만 오해를 부르는 어텐션 패턴을 만들어 내도록 학습될 수 있다. 따라서 어텐션 설명은 제거 시험과 다른 XAI 방법과의 교차 검증을 통해 검증해야 한다.
복습 문제
- 어텐션 메커니즘의 쿼리-키-값 프레임워크를 설명하라. 이 세 구성 요소는 어떻게 상호작용하는가?
- 어텐션과 셀프 어텐션의 차이는 무엇인가?
- 멀티헤드 어텐션은 모델 성능과 해석 가능성을 각각 어떻게 향상시키는가?
- 어텐션 기반 설명을 SHAP 및 LIME과 비교하라. 각각의 장점과 한계는 무엇인가?
- 현저성 맵과 통합 그래디언트의 핵심 차이는 무엇인가?
- "어텐션 ≠ 중요도" 문제를 설명하라. 높은 어텐션 가중치가 왜 오해를 부를 수 있는가?
- Grad-CAM은 그래디언트와 특성 맵을 어떻게 결합하여 시각적 설명을 생성하는가?
- TCAV란 무엇이며, 어떻게 개념 기반 설명을 가능하게 하는가?
- 어텐션 가중치를 위한 시각화 기법 세 가지를 기술하라.
- 어텐션 기반 설명이 모델의 실제 추론을 반영하는지 확인하려면 어떻게 검증해야 하는가?