Analyzing Multi-Head Self-Attention: Specialized Heads Do the Heavy Lifting, the Rest Can Be Pruned 리뷰
이 논문 역시 MHA를 Pruning 하는 논문이다. English-Russian WMT dataset에서 48 encoder heads중 38개를 pruning해도 0.15 BLEU drop만 있었다고 한다. 코드는 GitHub - lena-voita/the-story-of-heads에 공개되어 있고, Arxiv 링크는 https://arxiv.org/abs/1905.09418이다.
“Are Sixteen Heads Really Better than One?” 이랑 다르게 뭔가 NMT에서도 충분히 잘 된다를 말하는건가?
1 Introduction
이런 질문에서 출발
- To what extent does translation quality de- pend on individual encoder heads?
- Do individual encoder heads play consistent and interpretable roles? If so, which are the most important ones for translation quality?
- Which types of model attention (encoder self-attention, decoder self-attention or decoder-encoder attention) are most sensitive to the number of attention heads and on which layers?
- Can we significantly reduce the number of attention heads while preserving translation quality?
- Ding et al., 2017에서 말하는 layer wise relevance propagation으로 head의 중요성을 파악함
- 중요한 head는 세가지로 파악 가능
- positional (attending to an adjacent token)
- syntactic (attending to tokens in a specific syntactic dependency relation)
- rare words (attending to the least frequent tokens)
- Louizos et al., 2018에 나온 방법을 기반으로 pruning 수행
- 결국 찾은 것은
- 몇몇만 translation에 중요함
- 중요한 헤드는 하나 이상의 specialized, interpretable 기능을 가짐
- 여기서 말하는 긴으은 주변 단어/문법적인 단어에 attending 하는 것을 말함
2 Transformer Architecture
- 그냥 Transformer 설명은 패스
- ReLU 사용
- encoder self attention에 집중
3 Data and setting
- 정리 패스
4 Identifying Important Heads
- head의 confidence를 계산함
- confident한 head는 하나의 토큰에 높은 attention을 건다
- 직관적으로 이게 더 NMT에 중요한 것 같음
- LRP(Layer-wise relevance propagation)으로 top-1 logit에 기여하는 정도를 계산하고 그 순서대로 head를 정렬
5 Characterizing heads
5.1 Positional heads
- confidence가 매우 높음
- 특정 position에 attending함
5.2 Syntactic heads
- 가설: encoder는 syntactic structure 를 이해하는데 공헌이 클 것이다.
- 그래서 몇몇 head가 major syntactic structure를 잘 attend할 것이다.
- 그래서 이런걸 살펴봄
- nominal subject (nsubj)
- direct object (dobj)
- adjectival modifier (amod)
- adverbial modifier (advmod)
- CoreNLP (Manning et al., 2014)로 분석함
- 그래서 진짜 보니까 예를 들어 nsubj같은 경우는 토큰의 앞 n개의 토큰에 attending을 많이 한다.
5.3 Rare words
- 모든 모델에서 첫 레이어의 하나의 헤드가 엄청 중요함
- least frequent word에 대해서 attending함
6 Pruning Attention Heads
이거 실제로 수행하는 방법이 조금 긴데 정확하게 남기기 어려울 것 같아서 나중에 다시 보더라도 직접 읽어보는 것이 좋은 것 같다.
-> 패스
간단하게 적어보면, head masking하고, L0 regularization 적용하는데, 이게 미분가능하지가 않다. 그래서 Hard Concrete distribution을 적용했다. 그리고 Relaxation도 넣은 다음에 그 Relaxation의 가중치를 하이퍼파라미터로 가지면서 head 개수를 조절한다.
추가적으로 부록에 Layer-wise Relevance Propagation도 있으니 시간날때 살펴보자
May 18, 2020
Tags:
paper