[Paper Review] What does BERT look at? An analysis of BERT’s attention
What does BERT look at? An analysis of BERT’s attention
이번 포스팅에서는 What does BERT look at? An analysis of BERT’s attention 이라는 논문을 살펴보도록 하겠습니다. 이 논문은 제목에서도 알 수 있듯 BERT의 attention 자체를 분석한 논문으로, BERT가 attention 을 통해 어떤 linguistic knowledge를 담아낼 수 있는지를 연구하였습니다. BERT의 구조나 작동원리에 대한 포스팅은 나중에 따로 해보도록 하고, 그럼 지금부터 BERT’s attention에 대해 자세히 알아보도록 하죠!
Introduction
BERT와 같은 pre-trained 모델이 NLP 분야를 비롯한 여러 분야에서 좋은 결과를 보여주고 있다는 사실은 너무나 자명합니다. 그렇다면 단순한 성능 말고, 그러한 pre-trained 모델이 linguistic knowledge 같은 information을 잘 함유하고 있을까요? 아니면 그냥 원인을 조금이라도 알기 힘든 Black box 모델 그 자체인걸까요? 이 논문에서는 BERT의 attention map을 분석함으로써 이러한 pre-trained 모델이 attention을 통해 linguistic information을 어느정도 포함하고 있다는 것을 보여줍니다. 모델의 결과값인 vector representation이 아닌 attention map을 분석했다는 측면이 이 논문의 특징 중 하나입니다.
Common patterns of Attention
이 논문에서는 Attention map이 가지는 몇가지의 common patterns를 발견하여 제시합니다. 본 리뷰에서는 필자가 중요하다고 생각한 2가지의 patterns를 중심으로 살펴보도록 합시다.
-
1. “No-op” [SEP] token : 위 그림 중 3번째 figure를 보면 [SEP] 토큰에 attention이 많이 걸리는 것을 볼 수 있습니다. 일부 학자들은 그 이유로 [SEP] 토큰이 segment에 대한 종합적인 정보를 담고있기 때문에 주장하기도 하였으나, 그렇다기엔 other tokens -> [SEP] 보다 자기자신으로부터의 attention이나 다른 [SEP] 토큰으로부터의 attention이 더 큰 값을 보였기에 저자들은 사뭇 다른 주장을 펼칩니다. 그것은 바로 [SEP] 토큰이 no-op 이라는 겁니다. 이것은 [SEP]에 걸린 attention이 하는 역할이 딱히 중요하지 않다는 의미입니다. 저자들은 이 주장에 대한 2가지 근거를 제시합니다.
- 1) 일부 Attention head는 특정 dependency relationship (ex) 동사-목적어, 명사-관형사 등) 을 규명하는데 강한 두각을 드러내는데 (이후에 좀 더 자세한 설명이 들어갑니다!), 이렇게 강하게 드러나는 relationship과 관련없는 토큰들이 [SEP]에 attention이 걸리게 됩니다. 예를 들어, 동사-목적어 관계를 잘 나타내는 attention head에서는 동사-목적어 관계와 관련없는 non-nouns 가 [SEP] 토큰에 attention이 많이 걸린다는 것입니다. 따라서 [SEP] 토큰에 걸린 attention이 큰 의미를 지니지 않을 것임을 추측해볼 수 있습니다.
- 2) Gradient-based measures of feature importance를 통해 change in attention이 loss에 미치는 영향을 살펴본 결과, [SEP] 토큰에 걸린 attention의 변화가 loss에 미치는 영향은 작았습니다. 때문에 이것을 통해서도 [SEP] 토큰에 걸린 attention의 역할이 뚜렷하지 않음을 알 수 있습니다.
이러한 이유들로 인해 이 논문은 [SEP] 토큰 attention에 대한 NO-OP을 주장했고, 어느정도 타당한 주장으로 보입니다.
-
2. Broad attention for [CLS] in last layer : [CLS] 토큰은 특히나 last layer에서 broad attention을 지니고 있습니다. 사실 이는 어느정도 make sense 한 것이라고 저자들은 판단하였습니다. 일단 [CLS] 는 Next Sentence Prediction에서 input으로써 활용되는 토큰이기 때문에 문장에 대한 전반적인 정보를 담고 있어야함이 타당해보입니다. 즉, broad한 attention을 통해 overall representation을 수행하여 Next Sentence Prediction에 쓰인다는 것입니다.
이번 섹션에서는 Attention이 가지고 있는 Common patterns를 살펴보았습니다. 그럼 이제부터 Attention heads들이 구체적으로 ‘어떤’ linguistic information을 나타낼 수 있는지 알아볼까요?
Probing individual Attention Heads
이번에는 Attention heads를 individually 분석해보도록 하겠습니다. 본 논문에서는 2가지 NLP tasks를 이용하여 분석을 진행하였는데, 1) Dependency parsing & 2) Coreference resolution 이 그것입니다.
-
Dependency parsing (DP) : DP는 간단히 말하면 동사-목적어, 명사-관형사 와 같은 syntactic relationships를 분석하는 task입니다. 이에 대해서는 앞서 잠깐 언급했듯 각 Attention heads는 특정 relationship을 나타내는 데 두각을 보입니다.
위 그림을 예시로 들면 Head 8-10 (Head 번호는 아마 layer number - head number로 붙인 듯 합니다) 은 동사-목적어 관계를 나타내는 데 강세를 보임을 알 수 있습니다. 따라서 이러한 사실을 통해 우리는 ‘특정’ Attention heads가 ‘특정’ syntactic information을 나타낸다는 것을 확인할 수 있습니다.
-
Coreference resolution (CR) : CR은 다른 표현으로 나타나있으나 같은 사물/사람을 가리키는명사구/절을 찾고 모으는 task를 의미합니다. 예를 들어, ‘김영희는 박철수와 함께 밥을 먹었는데, 그는 채식주의자이다.’ 라는 예시 문장이 있으면 밑줄 친 두 단어는 표현만 다르지 같은 사람을 가리키게 됩니다. 이러한 것들을 찾아서 모아주는 것이 CR 인 것입니다. 이 논문에서는 Antecedent selection accuracy 라는 것을 통해 CR의 수행능력을 파악하였는데, Antecedent selection 란 어떤 멘션(CR의 대상이 되는 명사절)의 선행 멘션을 찾는 것으로 attention-based 모델은 이에 대한 accuracy를 해당 멘션이 다른 토큰보다 선행 멘션에 가장 많은 attention을 줄 때의 비율로 산정하였습니다. 이렇게 해서 attention-based 모델을 다른 baselines와 비교해본 결과 attention-based 모델이 좋은 accuracy를 보이고 있음을 확인할 수 있었습니다. 역시 이를 통해 우리는 Attention heads가 linguistic knowledge를 어느정도 함유하고 있음을 알 수 있습니다.
Probing Attention Heads Combinations
지금까지 우리는 individual attention heads에 대해 살펴보았습니다. 이제부터는 각각의 attention heads 말고 그것을 combination 하여 얻는 Combinations of attention heads가 지니고 있는 overall linguistic information에 대해 알아봅시다.
본 논문에서는 attention 을 input으로 받아 classification 등의 supervised task를 수행하고 그 성능을 통해 attention의 충분한 정보 함유 여부를 판단하는 Attention-based Probing classifier 를 제시하였습니다. 구체적으로 앞에서 살펴보았던 Dependency parsing task에 관한 설계를 하였는데, 여기서는 word i 가 word j 의 syntactic head가 될 확률에 combinations of attention heads를 활용하였습니다. (참고로 논문에는 2가지 식이 나왔으나 중요하다고 여겨지는 1개만 논의합니다.)
-
Attention + GloVe probe :
위 식에서 v_i는 Glove embedding을 뜻하고 그 옆 +와 원이 합쳐진 기호는 concatenation, 그리고 alpha_ij^k 는 attention head k 에서의 i->j 에 대한 attention weight을 의미합니다. 여기서 핵심은 Glove embedding으로 attention heads에 대한 가중치를 부여했다는 것입니다. 왜 굳이 이런 식을 구성한 것일까요? 그 이유는 우리가 이미 앞서 살펴보았습니다.
특정 attention head가 특정 syntactic relationship에 강점을 보인다는 것을 우리는 이미 확인한 바 있으므로, 그렇다면 어떤 것이 input으로 들어오는지에 따라 그것과 밀접하게 관련된 attention head에 더 큰 가중치를 주어야하는 것이 아닌가? 라는 생각에서 위 식은 탄생했습니다. 예를 들어, input으로 동사-목적어 가 들어온다면 그것에 대해 좋은 performance를 보여주는 Head 8-10에 큰 가중치를 주어야하지 않겠는가 하는 것이죠. 이러한 관점에서 위 식은 매우 직관적으고 combinations of attention heads들이 가진 linguistic information을 잘 아우를 수 있어보입니다.
위 식으로 Dependency parsing task를 수행하여 다른 baselines와 비교한 결과는 아래와 같습니다.
이 논문이 제안한 Attn+GloVe model이 아주 좋은 결과를 내고 있습니다. 맨 위에 있는 Structural probe model은 attention이 아닌 vector(output) representation을 input으로 한 모델로서, 이 모델과 Attn+GloVe model이 비슷한 성능을 지닌다는 것은 결국 Attention map이 Output representation 만큼의 information을 지니고 있음을 의미합니다 (물론 두 모델 간 디테일의 차이가 있어 직접 비교는 좀 힘들다고는 합니다).
결국 우리는 이번 섹션을 통해 Individual attention heads 외 Combinations of attention heads도 linguistic information을 잘 담고 있음을 확인할 수 있었습니다.
Clustering Attention Heads
마지막으로 Jensen-Shannon divergence를 distance metric으로 하여 Attention heads의 distribution을 2D 차원에 visualize 하고 그것을 해석한 결과를 살펴봅시다.
위 그림들은 패턴별, layer별 Attention heads를 시각화한 것인데, 비슷한 패턴끼리, 같은 layer에 있는 Attention heads끼리 비슷한 distribution을 보이고 있습니다. 이를 통해서도 우리는 Attention 이 어느정도 정보 및 패턴을 보이고 있음을 확인할 수 있습니다.
Conclusion
이 논문은 BERT의 attention map을 분석함으로써 attention이 linguistic knowledge를 담고 있다는 것을 확인하였습니다. 이것은 unlabeled data를 활용한 Self-supervised model이 syntax 등에 대한 어떠한 Supervision 없이도 좋은 성능/정보를 지닐 수 있다는 것을 보여주는 것으로써 의의가 있습니다.
어려운 테크닉이 없어도 이런 직관적이고 유의미한 연구를 할 수 있다는 것은 볼때마다 놀라운 것 같습니다. 이번 포스팅을 통해 NLP 대세 BERT에 대한 이해도가 조금이라도 높아지셨으면 합니다. 그럼 다음 포스팅에서는 BERT에 대한 자세한 설명이나 그 외 pre-trained model에 대해서 더 알아보도록 합시다!