데이터과학 유망주의 매일 글쓰기 — 쉬어가는 한 주 3–3

배우는 자(Learner Of Life)
6 min readJan 15, 2021

--

논문을 요약해 보았다.

# 논문, #요약, # Information Bottleneck, # Attribution

처음으로 논문을 직접 해부해 보았다.

오늘 한일:

지난 섹션의 과제 중 논문을 하나 정해, 그것으로 구현된 코드를 따라해보는 것이 있었다. 거기서 더 나아가서, 논문에서 얻은 코드를 설명해보라는 과제가 주어졌다. 사실 딥러닝에서, 또 데이터 분야에서 논문을 읽어본 것이 처음이라 쉽지 않은 과제였다.

이번 쉬어가는 한 주에서 시간을 내서 그 때 분석하려 했지만 못했던 논문을 다시 한번 들여다 보기로 했다. 논문의 주제가 무엇이며, 어떤 내용인지 나의 언어로 요약해 보기로 했다.

내가 그 때 선택한 논문은 Inserting Information Bottlenecks for Attribution in Transformers라는 논문으로써, 캐나다의 명문 공대인 워털루 공대(University of Waterloo)의 컴퓨터 공학부에서 낸 것이었다. 전반적인 내용은 BERT같은 자연어처리에 특화된 Transfomer 모델에 Information Bottleneck이라는 것을 적절한 Layer에 삽입하면, 예측을 위한 정확도를 이전에 존재 했던 Integrated Gradient 및 LIME등의 방법과 비교해 더 효율적으로 높일 수 있다는 내용이었다. 이 방법을 통해, 텍스트 상에서 더 중요한 특성들의 attribution을 찾아내, 더 정확한 예측을 할 수 있다는 것이었다.

이 논문을 아래와 같이 요약해 보았다.

Inserting Information Bottlenecks for Attribution in Transformers

중심 질문

이 논문이 시작된 질문은 다음과 같다 “예측에 가장 영향을 주는 잠재 특성(hidden features)은 무엇인가?” 이에 답하기 위해 논문의 저자들은 Attribution score라는 개념에 주목했다. 이 attribution score는 특정 instance level에서 어떻게 특정한 예측이 나오는지 인간이 이해할 수 있는 형태로 설명한다. 좀 더 자세하게는, 특정한 instance가 주어진 상황에서, 이러한 방법이 각 잠재 특성에 대해 score를 지정하며, 해당 score가 예측에 얼마나 관련이 있는지를 보여준다.

배경

저자들의 이전 논문에서는, gradient 기반의 메소드가 정확한 예측에 영향을 주는 정보를 캡쳐하지 못했다는 것을 보여주었다(Li et al., 2016). 이러한 단점을 보완하기위해, Schulz et al. (2020)는 attribution을 위해 Information Bottleneck이라는 것을 삽입했다. (Tishby et al., 2000). 이는 더 높은 empirical 성능 및 사용된 정보에 더 높은 이론적 bound를 설정하게 해 주었다.

목표

Instance level에서 Information Bottleneck for Attribution을 사용하여 Transformer 모델을 해석한다.

방법

감정 분석(sentiment analysis), 텍스트내 관계 분석(textual entailment) 및 문서 분류(document classification)등을 위해 5개의 데이터셋을 바탕으로 IBA를 적용한 BERT 모델을 활용한다.

목적

모델의 토큰화된 특성에서 정보를 충분히 추출할 수 있고, layer 사이에서 일어나는 일(cross-layer behavior)에 대한 인사이트를 추출할 수 있다는 것을 양적(quantitatively) 및 질적(qualitatively)인 면에서 보여줄 것이다.

결과

전반적으로 다른 model-agnostic 해석 방법과 비교해 IBA가 가장 중요한 토큰들을 찾아내는데 더 효율적이라는 것을 알 수 있었다. 모든 영역에서 이 방법이 기존에서 널리쓰이던 Integradted Gradient와 LIME보다 더 좋은 성능을 보였다는 것을 증명했다. 또한 정보를 레이어를 넘나들며 양적 및 질적인 면에서 모두 분석하였다.

앞으로 할일:

일단 논문을 효과적으로 요약하기 위해, 논문의 발단이 되는 중심 질문, 그로부터 고안된 논문의 실험적 배경, 논문의 실험 목표 및 실험 방법, 논문의 궁극적인 목적과 실험 결과 순으로 요약했다. 이런 요약 방식이 읽는 사람으로 하여금 논문이 쉽게 이해되는지는 모르겠다. 처음 요약해 보는 것이라 최대한 중요한 정보는 남겨야 한다고 생각했지만, 여기서도 더 추릴 수 있을 것 같다는 생각은 든다. 앞으로도 논문을 좀 더 많이 읽어봐야겠다.

사실 이 논문도 완벽하게 제대로 숙지했다고 보기 어렵다. 논문이 말하는 개념들인 Attribution, Bottleneck, 그리고 논문에서도 비교 대상으로 사용되었던 Integrated Gradient 및 LIME이라는 다른 방법들 또한 연관된 참고 자료들이 또 있었다. 이 방법들에 대해서도 연관된 자료들을 읽어보고 공부해야 하는데, 아직 거기까지 가지는 못했다. 논문은 특정한 개념을 설명하기 위해 다른 논문이나 자료들을 참조하는 경우가 매우 많다. 그렇기에 하나의 논문을 제대로 이해하려면, 그에 관련된 많은 자료들도 같이 읽어봐야한다. 그 것들을 찾아본다고 해도 관련 개념을 완벽히 이해하기란 쉽지 않다. 그에 관련된 자료를 또 읽어봐야 하기 때문이다. 이렇게, 논문 하나가 특정 개념을 어느 자료로 부터 참조하면, 그 참조된 자료의 자세한 설명을 이해하기 위해 또 관련 자료를 참조하는 방식으로 계속 이어진다.

결국 논문을 이해한다는 것은 해당 분야의 상당히 깊이있는 지식을 필요로하고, 학계에서도 해당 분야에 대한 지식이 있는 사람들을 대상으로 쓰여지기 때문에 그 분야에 통용되는 전문 용어에 대한 지식을 갖추지 않으면 상당히 어렵다고 할 수 있다. 논문을 쓰고, 논문을 읽는 대학원생들이나 석/박사급 연구원들에 대해 다시 한번 큰 존경심을 가지게 되었다. 나 스스로도, 논문을 하나 읽고 제대로 이해하기 위해 더 많은 노력을 기울여야 겠다고 다짐했다.

하지만 불가능한 것은 아니다. 대학원생들 만큼, 아니 그 이상 배로 노력하면 된다. 물론, 말이 쉽다고 생각할 수도 있다. 그러나, 지금까지의 강도 높은 학습 스케줄을 소화한 의지와, 하나라도 더 제대로 깊이있게 배우려는 열정을 유지한다면 충분히 할 수 있다고 석/박사급 선생님들께서 말씀해 주셨다. 세상에 불가능할 것 같아 보이는 많은 것들도, 하다보면, 또 계속 하다보면 불빛이 보이기도 한다. 그러한 생각을 가지고, 내가 오늘 깨달은 부족한 것들을 조금씩 채워나가고, 앞으로도 더 나은 데이터 사이언티스트, 학생, 사람이 되기 위해 노력할 것이다.

어쨌든 이번 섹션에서 논문을 처음으로 직접 읽어보고 요약해보고, 관련 코드까지 성공적으로 구동해보니 조금 자신감이 생겼다. 앞으로도 시간을 내서 이 분야를 조금 더 깊이 있게 이해하기 위해 다른 논문을 찾아볼 생각이다. 나와 같이 데이터 사이언티스트의 꿈을 꾸는 모든 사람들이 높아만 보였던 논문의 장벽을 점차 허물기를 바란다. 화이팅!

참조:

Inserting Information Bottlenecks for Attribution in Transformers

--

--

배우는 자(Learner Of Life)
배우는 자(Learner Of Life)

Written by 배우는 자(Learner Of Life)

배움은 죽을 때까지 끝이 없다. 어쩌면 그게 우리가 살아있다는 증거일지도 모른다. 배움을 멈추는 순간, 혹은 배움의 기회가 더 이상 존재하지 않는 순간, 우리의 삶은 어쩌면 거기서 끝나는 것은 아닐까? 나는 배운다 그러므로 나는 존재한다. 배울 수 있음에, 그래서 살아 있음에 감사한다.

No responses yet