본문 바로가기
  • CobsLab upgrades your company value by AI technology
펀디멘탈 논문

시각화 툴의 필요성-Transformer Interpretability Beyond Attention Visualization

by dmkdmk 2022. 8. 18.

안녕하세요 콥스랩(COBS LAB)입니다.

오늘 소개해 드릴 논문은 ‘Transformer Interpretability Beyond Attention Visualization’입니다.

해당 내용은 유튜브 ‘딥러닝 논문 읽기 모임' 중 ‘Transformer Interpretability Beyond Attention Visualization' 영상 스크립트를 편집한 내용으로, 영상으로도 확인하실 수 있습니다. (영상링크:https://youtu.be/XCED5bd2WT0)

 

Transformer 모델은 자연어 처리 분야에서 수많은 SOTA 네트워크에 쓰였으며 점차 컴퓨터 비전, 추천 시스템 등 다양한 분야에서도 쓰이기 시작하는 추세입니다. Transformer 네트워크의 중요성은 그 네트워크의 예측 과정을 이해하기 위한 시각화 툴의 필요성을 야기하며 이러한 시각화 툴은 모델을 디버깅하고, 모델이 편향되지 않았는지 검증하며 하위 테스크들을 수행하는데 도움이 됩니다.

 

Transformer 네트워크 내에서 가장 중요한 구성요소는 Self attention layer인데 이 구성 요소는 모든 두 토큰 간의 pairwise 한 attention value를 할당합니다. 자연어 처리 분야에서 토큰은 보통 워드이며 비전 테스크에서 토큰은 보통 패치와 관련될 수 있습니다.

 

본 논문이 Transformer에 대한 해석 가능성을 다룬 모델이다 보니 Transformer에 대한 사전 지식이 있어야 이해하기가 수월할 것 같아 그 핵심이 되는 Self attention과 attention Visualization에 대해 간략하게 설명하고 넘어가겠습니다.

 

attention이랑 키와 Query similarity  펑션을 확률 화해서 가중치를 생성하고 value값과 곱해진 벡터들을 더하는 과정이라고 정의할 수 있으며 attention 스코어란 Query와 키의 유사도 즉, 벨류에 곱해지는 가중치를 의미합니다.

 

attention이 어떻게 작동하는지 알기 위해서는 Query, 키, value라는 세 가지 입력 요소에 대해서 알아야 하는데 Query는 물어보는 주체이고 키는 물어보는 대상입니다. 그리고 value는 리턴하는 값으로 볼 수 있습니다.

 

attention value를 계산하는 과정입니다. 우선 Query와 키를 dot product를 사용해서 계산하고 P의 차원수의 루트 값을 취한 값으로 나누어 고정하게 됩니다. 그다음 필요하다면 mask를 씌워줍니다. 마스크는 특정 단어를 참고하지 않도록 만들기 위해서 사용되는데 마스크 값으로 무한값을 넣어서 소프트맥스의 출력이 0에 가까워지도록 합니다. 그 다음 소프트맥스를 취해서 확률 화하고 마지막으로 value값을 곱해줘서 최종적으로 가중치가 적용된 attention value 피처 값을 도출해냅니다.

 

딥러닝이 어떤 요소에 더 많은 초점을 두어서 어떠한 결과를 만들어냈는지와  같은 과정을 분석할 때에는 attention Visualization을 사용할 수 있습니다.

 

화면에서 밝게 표시된 부분은 확률 값이 높은 부분이고 표시된 색깔들을 보면서 출력하는 단어가 입력 단어 중에서 어떤 단어에 더 많은 가중치를 두어서 결과를 만들어 냈는지 알 수 있습니다.

 

Transformer 모델을 시각화하기 위한 common practice는 attention을 relevancy 스코어로 여기는 것입니다. 이는 주로 싱글 layer 단위에서 행해집니다.

 

다른 방법으로는 Multiple layer를 결합하는 것이 있는데 그중 하나를 예시를 들면 주로 각 토큰마다 얻어지는 attention을 평균 내는 방법입니다. 하지만 이 방법은 시그널을 모호하게 할 수 있으며 각 layer의 역할을 고려하지 못하는 문제가 존재합니다.

 

이에 대한 대안으로 Rollout Method가 나오게 되었는데 이 방법은 connection과 pairwise attention을 고려하기 위해서 attention이 선형적으로 결합해 다음 context로 들어간다고 가정함으로써 모든 attention 스코어를 재할당합니다. 이 방법은 싱글 layer attention의 화로에 있어서 좋은 결과를 보였지만 너무 간단한 가정에 의존하여 관련 없는 토큰이 종종 하이라이트 되었습니다.

 

이에 본 논문에서는 layer를 통과하면서 sum of relevancy가 유지되도록 relevancy를 할당하고 이를 전파하는 파이프라인을 따릅니다.

 

Transformer 네트워크에 의사 결정 과정을 해석하기 어려운 이유는 크게 세 가지입니다.

먼저 극도로 skip connection과 attention operator에 의존합니다. 문제는 두 개 모두 two activations maps를 혼합할뿐더러 각각 유니크한 챌린지로 이어진다는 것입니다. 특히 Transformer는 Relu가 아닌 비선형 활성화 함수를 적용하기 때문에 positive와 negative feature node로 이어집니다.

 

이런 non positive value를 조심히 다루지 않는다면 Skip connection은 수치적으로 불안정해질 수 있습니다. 또한 Self attention은 naive propagation을 거치면서 relevancy의 총량을 유지하기 힘들기 때문에 굉장히 어려운 문제가 될 수 있습니다.

 

본 논문에서는 위 문제들을 해결하기 위해 아래와 같은 세 가지 방법을 제안합니다.

 

먼저 positive와 negative attribute에 모두 적용될 수 있는 relevancy propagation 룰을 도입하며 add나 matrix multiplication과 같은 non parametric layer에 대한 normalization term을 제안합니다. 마지막으로 attention과 relevancy 스코어를 통합하고 이 통합된 결과를 multiple attention block에 대해서도 결합합니다.

 

지금까지 인풋 이미지와 CNN이 주어진 local relevancy를 나타내는 heat-map을 생성하기 위해서 많은 방법들이 제안되었으며 대부분의 방법들은 gradient method나 attribution method 두 클래스 중 하나에 속하게 됩니다.

먼저 gradient base method는 역전파를 통해 개선된 각 layer의 입력과 관련된 gradient를 기반으로 하며 대표적으로 지금 설명드릴 GradCAM이 있습니다.

 

GradCAM는 CAM의 확장으로 CAM의 경우에는 활용할 수 없었지만 GradCAM는 gradient를 사용함으로써 해당 문제를 해결하였습니다. 우선 CAM에 대해서 간략히 설명하자면 일반적인 CNN구조는 convolution layer가 몇 장 있고 fully connected layer가 따라붙는 구조를 띄는 반면 CAM은 화면에서도 알 수 있는 것처럼 convolution layer 이후에 GAP layer를 거치게 됩니다. GAP layer는 입력 이미지 feature map에 depth 각각에 대해 모든 값의 평균을 출력합니다. 예를 들어 입력 이미지 feature map의 depth가 4라고 하면 총 4 개의 값으로 이루어진 백터를 얻게 됩니다. 따라서 극단적인 차원 축소라고 볼 수도 있습니다. GAP이 끝난 뒤에는 각 클래스로 연결되는 fully connected layer를 붙여 fine tuning 시킵니다.

 

GradCAM는 CAM에서 웨이트로 주었던 각각의 feature map에 가중치를 gradient로 대신 주게 됩니다. 따라서 GAP이 없는 모델의 경우에도 활용할 수 있기 때문에 어떤 모델에도 활용할 수 있다는 장점이 있습니다. 다시 말해 GradCAM을 만들기 위해서는 convolution layer에서 gradient를 활용하여 해당 gradient와 convolution layer의 feature map과 곱 연산을 수행하여 추가적으로 Relu 활성화 함수를 거친 값을 input 이미지에 heat-map 표현해주게 됩니다.

 

GradCAM은 어떤 클래스에 대해 GradCAM을 보여주느냐에 따라서 다른 heat-map을 생성하게 됩니다. 예시 사진에는 개와 고양이 그림이 존재하는데 어떤 클래스에 heat-map을 그리게 할 것인가에 따라서 화면 그림에 c와 i와 같이 차이가 나며 빨간색일수록 강한 영향을 미치는 것을 표현하고 파란색일수록 적은 영향력을 미치는 것을 나타냅니다. e와 i에서는 파란색이 해당 클래스에 evidence에 해당합니다.

 

attribution  propagation method의 대표적인 방법으로는 layer wise relevancy propagation이 있는데 LRP는 neural network가 어떤 결정을 내렸을 때 어떤 부분을 보고 그러한 결정을 내렸는지 분해를 통해 파악하는 방법입니다. 다시 말해 인풋 x가 D차원으로 이루어졌다고 하면 D차원 각각의 피처들이 최종 아웃풋을 도출하는 데 서로 다른 영향력을 가지고 있다고 가정하고 기여도를 계산하여 분석하게 됩니다. 화면에 그림처럼 수탉 사진을 훈련된 분류기에 넣어주면 그 분류기가 수탉이라는 결과를 내주게 되는데 heat-map에서 각 픽셀들의 relevancy 스코어를 색깔로 표시해 두며 수탉의 부리나 머리 부분을 보고 해당 입력의 클래스가 수탉임을 출력했다는 것을 알 수 있습니다.

 

LRP의 과정을 살펴보면 relevancy 스코어를 출력해서 입력 방향 top down 방식으로 기여도를 재분배하게 됩니다. 여기서 relevancy 스코어라는 것은 x가 출력에 얼마나 영향을 주는지, X의 변화에 따라서 Y의 변화가 얼마나 큰 지를 보여줍니다. 이때 각 뉴런은 어느 정도의 기여도를 갖고 있으며 각 layer마다 전체 relevancy는 보존되어야 합니다. 하지만 지금까지 설명한 x AI의 방법들은 모두 Transformer의 직접적으로 어떻게 적용할지 명확하지 않으며 연산량과 성능 측면에서 좋지 않습니다.

 

Transformer를 위한 시각화 방법 분야에서는 아직 그렇게 많은 기여가 없으며 기껏 해봐야 attention 스코어를 활용한 정도입니다. 현재 이런 접근법들은 다른 종류의 연산을 수행하는 네트워크 일부분뿐만 아니라 attention 구성 요소 대부분을 간과합니다. 가령 Self attention head는 Query, key, value 등의 연산을 수행하는데 이를 내적 하여 얻어진 attention 스코어에만 초점을 두는 것은 근시안적인 접근이라고 할 수 있습니다.

 

지금까지의 연구들은 FPN과 같은 Self attention을 제외한 다른 layer들은 고려하지도 않았습니다. 따라서 본 논문에서 제안하는 방법은 prediction에서 인풋까지 모든 layer를 전파합니다.

 

본 논문에서 제안하는 방법을 전체적으로 설명하자면 Transformer 내 각 layer에 있는 attention head의 스코어를 연산하기 위해서 LRP 베이스 relevancy를 사용합니다. 그 후 attention 그래프를 통해 이 스코어를 통합하며 이때 반복적으로 negative contribution을 지우는 방식으로 relevancy와 gradient 정보를 모두 고려함으로써 스코어를 통합합니다.

결과는 self attention 모델을 위한 class specific visualization이 나오게 됩니다. 본 논문의 저자들은 제안 방법을 아래 네 가지로 나누어 설명하고 있습니다.

 

먼저 relevancy와 gradient를 구하는 방법입니다.

화면 좌측 수 식의 체인 룰을 사용해서 아웃풋 Y에 대한 gradient를 개선합니다. relevancy 스코어라는 것은 인력의 변화에 따른 출력의 변화 정도로 볼 수 있습니다.

 

LRP 베이스 relevancy를 사용하기 때문에 LRP에서 사용하는 식과 동일한 우측 상단에 수식과 같은 Deep Taylor decomposition을 이용합니다. ln(X, Y)는 텐서 x와 y의 layer 연산이며 전형적으로 이 두 텐서 x는 layern에 대한 인풋 feature map과 웨이트입니다.

 

Relevance propagation은 역전파의 방향과 동일하기에 아웃풋과 가까운 n-1 layer에서 nlayer 방향으로 나아갑니다. 즉, n-1 번째 layer에서 n번째 layer로 거슬러 올라갈 때 n번째 layer의 제이슨 뉴런에 대한 타당성입니다. 해당 타당성을 정의하기 위해 n번째 layer에 쓰이는 XY와 연산자 L에 대한 정보 그리고 n-1번째 layer의 타당성을 활용하면 됩니다.

relevance propagation 식은 아래에 conservation rule을 만족합니다

.

LRP는 비선형 활성화 함수를 가정하는데 그렇기에 non negative feature map이 결과로 나오며 이때 relevancy propagation rule은 왼쪽과 같이 정의될 수 있습니다. 양수가 아닌 값은 relu에 의해 0으로 할당되기 때문에 생략 가능하며 나머지는 앞에 relevancy 수식에 notation을 그냥 원소로 분해한 것뿐입니다.

 

Gelu와 같은 relu 외에 비선형 활성화 함수는 positive와 negative value를 모두 반환합니다. 이를 다루기 위해 좌측 LRP propagation은 여러 인덱스인 Q의 부분 집합을 구축함으로써 우측과 같이 수정될 수 있습니다. 다시 말해 오직 positive weight relevance만 고려합니다.

 

Transformer 모델에는 두 개의 feature map 텐서를 혼합하는데 관여하는 두 개의 연산자 skip connection과 매트릭스 multiplication이 있습니다. 위에 연산 들은 두 개의 인풋 텐서를 관통하는 relevance propagation을 필요로 하며 두 텐서 u와 v에 대한 relevance propagation은 한 편의 수식과 같이 연산합니다. 이러한 연산은 positive negative 값들을 모두 산출합니다. relevance의 총합은 보존될 수 있기 때문에 합연산의 경우 하단의 식처럼 보존 법칙이 성립합니다. 다만 행렬 법의 경우에는 일반적으로 이 보존 법칙이 성립하지 않습니다. skip connection에 대한 타당성 전파를 할 때 보존 법칙에 의해 relevancy 스코어의 합은 상수로 유지되어야 하고 relevancy 스코어가 보통 큰 값을 가지는 경향이 있기 때문에 numerical instabilities를 마주할 수밖에 없습니다.

 

본 논문에서는 skip connection에 수치적인 이유와 행렬곱에 따른 attention 메커니즘에 lack of conservation을 다루기 위해서 아래 수식과 같은 normalization을 적용합니다. 화면에 식과 보존 법칙과 relevancy 초기화에 따라 최종적으로 각 layer n에 대해 각 layer의 relevance 합은 1이라는 결과를 얻습니다. 이를 통해 보존 법칙이 성립하고 각 텐서의 relevance sum이 유괴되는 장점을 얻을 수 있습니다.

 

Transformer 모델 m은 D차원의 s토큰에 시퀀스를 입력으로 받습니다. 여기에 classification을 위한 스페셜 토큰도 존재합니다. 그 후 모델은 길이가 c인 분류 확률 벡터 y를 반환하며 이는 클래시 피케이션 토큰을 이용해서 계산합니다.

 

self attention 모듈은 embedding 차원 d에 하위 차원에 해당하는 d위치에서 연산이 진행되며 hdh는 d이고 h는 head의 개수입니다. self attention 모듈은 화면과 같이 정의되는데 모두 block b에서 연산된다고 가정합니다. 여기서 Ab는 h x s x s차원의 attention map이며 Ob는 h x s dh차원의 아웃풋입니다. 이때 각 row i는 토큰 i에 관한 인풋의 모든 토큰의 attention coefficients이고 소프트맥스가 적용되기 때문에 b의 각 attention head의 row의 합은 1이 됩니다.

 

각 head는 각각 다른 역할을 만든다고 볼 수 있고 그 head에 대한 attention map에 row i를 참고하면 i번째 토큰에 대한 다른 모든 토큰의 pairwise 한 확률분포를 알 수 있습니다. 앞에서 언급한 내용을 토대로 각 attention map Ab의 relevance propagation과  gradient를 얻을 수 있습니다.

 

화면에 식은 모두 타겟 클래스 t에 관한 값이며 relevance는 layer에 대해 gradient는 벨류에 대해 정의된다고 이해하면 됩니다. 최종 아웃풋 c는 화면에 수식과 같은 weighted attention relevance로 정의됩니다. 제안 방법에서는 weighted attention relevance를 개선하기 위해서 gradient relevance 곱의 positive relevance만 고려합니다. 수식을 확인해 보면 각 토큰을 self inhibition 막기 위한 identity 매트릭스 i를 추가하였는데 이는 Transformer block 중 skip connection을 설명하기 위함입니다.

 

대안 방법이 최종적인 결과 행렬 c는 Transformer의 인풋이 S 토큰 시퀀스일 때 s x s차원을 갖습니다. 각 row는 해당 row를 표현하는 토큰과 나머지 모든 토큰들 사이에 relevance map에 해당합니다.

 

본 연구는 클래시 피케이션에 관련된 모델이기 때문에 클래시피케이션에 대한 설명을 담은 cls 토큰만 고려됩니다. 다시 말해 Cls로 클래시피케이션이 작동된다고 할 수 있습니다. 따라서 cls에 대응하는 row Cls로부터 relevance map이 추출됩니다. 이 row는 클래시피케이션 토큰에 대한 각 토큰의 영향력을 계산한 스코어를 포함합니다.

 

본 논문에서는 이미지 넷 데이터셋과 이미지넷의 부분데이터인 이미지넷 Segmentation 데이터를 사용하였습니다. 성능 측정 방법은 비주얼 도메인에서는 총 두 가지 실험을 진행하였는데 positive와 negative perturbation에서는 AUC results를 사용하였고 Segmentation 성능 측정을 위해서는 pixel accuracy mAP를 사용하였습니다.

 

성능 비교 대상은 크게 attention map, class specific, relevance propagation 세 가지 카테고리로 분류되는데 사전 지식에서 언급한 rollout method, 단순한 raw attention, GradCAM, 그리고 LRP 모델입니다.

 

본 논문에서는 정량 적인 방법으로 평가하기 위해서 여러 실험을 진행하였는데 가장 먼저 Qualitative Evaluation에서는 다양한 베이스라인과 제안 방법에 시각적인 비교를 진행하였습니다.

 

베이스 라인은 일관성 없는 성능을 생성하는 반면 제안 방법에 결과는 더 명확하고 일관된 시각화를 제공합니다. 또한 클래스가 2개 있는 이미지에서도 GradCAM을 제외한 모든 방법은 두 클래스에 대해 유사한 시각화를 생성하였는데 제안 방법은 개일 때와 고양이일 때 두 가지 다른 정확한 시각화를 제공하였습니다.

 

다음으로 perturbation 테스트를 진행하여 predicted, target 클래스 모두에 대해 negative와 positive perturbation 테스트를 통해 얻어진 AUC결과를 보여주었습니다.

 

negative perturbation의 경우 AUC값이 클수록 성능이 좋고 positive perturbation의 경우 작을수록 성능이 좋은데 제안 방법은 두 실험에서 모두 큰 차이로 더 나은 결과를 달성하였습니다.

 

마지막으로 이미지 넷 Segmentation 데이터셋을 이용하여 실험을 진행한 결과 픽셀 accuracy, mAP, mIoU에 대한 Segmentation 매트릭스에는 화면에 표와 같은데 이 값들은 모두 값이 높을수록 성능이 좋으며 제안방법은 모든 베이스라인을 현저한 차이로 능가하였습니다.

 

positive 한 활성화 함수 skip connection의 빈번한 쓰임 그리고 self attention에 쓰이는 매트릭스 multiplication 모델링의 어려움 때문에 현재 Transformer의 해석 가능성에 대한 문화는 매우 적습니다. 이에 본 논문에서는 Transformer 모델에 의사 결정 과정을 해석하고 시각화하는 방법을 제안하였습니다. 그리고 이 방법은 기존 논문들의 각각의 문제점에 대한 해결책을 제공해 주었습니다.

 

positive와 negative에 모두 쓸 수 있는 relevance propagation 룰을 사용하였고 skip connection 같은 곳에서는 non parametric layer를 위한 정규화 term을 사용하였으며 마지막으로 relevance 스코어를 통합하고 통합된 결과를 결합하여 multiple attention block을 만들었습니다. 이에 제안 모델은 다른 Transformer 해석 가능성에 대한 문헌들과 비교하였을 때 SOTA를 달성하였습니다.

댓글