- 2019년 7월 5일 오후 6:33
- 조회수: 3859
INFORMATION
- 2019년 7월 12일
- 오후 1시 ~
- 고려대학교 신공학관 218호

TOPIC
OVERVIEW
발표자 후기

금일 세미나에서는 Hierarchical Attention Network for Document Classification 논문을 리뷰하는 시간을 가졌다. Hierarchical Attention Network(HAN) 모델을 이해하기 위해 먼저 Attention mechanism의 도입 배경과 RNN-Encoder/Decoder부터 Luong Attention 개념의 등장까지를 summary 하였다. 다음으로는 문서 분류 문제에 HAN 모델이 어떻게 적용되었는지를 사례와 함께 모델을 설명하였다. HAN 논문 리뷰에 초점을 맞추다 보니 Attention mechanism을 소개하는 논문들의 아주 디테일한 부분까지는 설명하지 못한 점과 많은 질문을 받았는데 질문자들이 원하는 답을 명쾌하게 답변해주지 못한 것 같아서 개인적으로 아쉬움이 남는다. 하지만 전체적으로 Attention이 동작하는 방법과 적용 사례들을 한번 쭉 훑으며 개인적으로는 다시 공부할 수 있는 기회여서 좋았다. 또한 HAN model은 모델이 언어의 구조를 이해하고 문맥을 파악 문서를 학습시킨다는 점에서 여러 NLP task에 아이디어를 적용해볼 수 있을 것 같기 때문에 텍스트 데이터를 활용한 개인연구와 산학 프로젝트에 적용해 봐야겠다는 생각도 했다. 이번 세미나가 Attention을 잘 알고있는 연구원들에게는 리뷰하는데, 생소한 연구원들에게는 Attention을 이해하는데 도움이 되었으면 좋겠다.
청취자 후기

오늘 전체세미나는 'Hierarchical attention network for document classification'라는 주제로 현규가 진행하였다. 기계번역 모델에서는 주로 encoder, decoder 구조로 이루어진 seq2seq 모델이 사용된다. encoder, decoder 사이 추출된 특징을 context vector로 일컫는다. 하지만 길이가 긴 문장에서는 이 context vector가 효과적으로 성능을 내보일 수 없는데 여기에 Attention mechanism을 적용한 것이 seq2seq with attention이다. Attention mechanism은 output을 출력하는 데 각 시점의 output마다 input 문장에 어느 부분을 참고하여 출력하는지 점수를 부여할 수 있다. 즉, 학습이 이루어진 후에 그 레이블(label)에 대해 attention score를 살펴보며 시각적으로 중요한 영향을 미친 input data에 강조할 수 있다. seq2seq은 many2many 구조이고, 이것을 분류(classification)를 위해 many2one로 바라본 것이 'Hierarchical attention network for document classification'이다. Document 단위로 분류하는데 Attetion 을 적용한 것으로, Document 내 (1) 중요 sentence, (2) 중요 word를 살펴볼 수 있으며 word는 one-hot vector로 이루어져 있다.
완벽히 반도체 제조공정 데이터에 적용할 수 있을 것으로 본다. Document를 하나의 웨이퍼를 설명하는 FDC데이터로 보고, sentence를 공정 ID로, word를 공정-센서ID(각 공정마다 여러개 부착됨)로 부여하고 레이블은 품질상태(정상,불량)일 때 적용할 수 있다. 내가 가지고 있는 데이터는 레이블이 수치형(불량률)인데 'Hierarchical attention network'를 회귀 버전으로 디자인하여 실험해 볼 계획이다. 적용해보고 싶던 아이디어였는데 오늘 세미나로 그 방안을 면밀히 정리할 수 있었다.

금일 세미나는 Hierarchical Attention Networks for Document Classification을 주제로 현규가 발표하였다. 우리가 구글 번역을 생각할 때 모델은 Encoder 부분과 Decoder 부분으로 생각할 수 있다. 이러한 모델을 일반적으로 Seq2seq 모델로 불리게 된다. 이 모델에 사용하는 데이터는 긴 time step을 띄며 Long term dependency 문제를 해결하기 위한 연구가 계속 진행되고 있다. 최근에는 Attention Mechanism 개념이 나오게 되면서 주목받고 있다. Attention은 Encoder 부분의 정보를 다시 주목하여 Decoder에서 예측할 부분에 정보를 주는 개념이다. Attention은 텍스트에서 단어 단위로 적용이 될 수도 있지만 각 문장에서 동일한 단어들의 중요도가 다를 수 있어 이를 해결하기 위해 나온 Hierarchical Attention Networks가 소개되었다. 이 Network는 Encoder-Decoder 부분의 구조가 아닌 word encoder 와 sentence encoder 부분이 있으며 각각 attention을 적용한 network이다. 한 문장에 대한 단어들에 대해 attention을 적용 후 단어들이 해당하는 문장에 대해 attention을 적용하여 단어만 아니라 문장의 정보도 반영할 수 있도록 했다. 이 논문의 결과에서는 attention을 적용하지 않을 경우와 attention을 적용했을 때의 결과를 보여주며 attention을 적용한 결과가 조금 더 좋음을 알 수 있었으며 근본적인 문제인 Computational cost, long term dependency 문제는 아직까지 숙제임을 보였다.

오늘 세미나는 Hierarchical Attention Networks for Document Classification라는 주제였다.
문서에 대한 분류를 수행할 때 단순히 분류만 하지 않고 어느 단어가 결과를 도출하는데 중요한지를 표현하는 것이 attention이다. 동일한 단어도 사용되는 문장에 따라 다른 의미와 중요도를 가질 수 있기에 문장을 먼저 보고 그 이후 문서에 대한 attention을 찾아주는 것이 Hierarchical Attention의 목적이다. 문서-문장-단어라는 자연스러운 언어구조를 그대로 반영하였기에 학습 결과에도 좀 더 좋게 나올 것이라고 예상이 되었다.
당연할 수 있겠지만 기존 RNN(Recurrent Neural Networks), CNN(Convolutional Neural Networks), LSTM(Long Short-Term Memory models)등 보다 뚜렷하게 좋은 분류 결과를 논문에서 확인할 수 있었다. 다만 Encoder를 사용할 때 Bidirectional GRU Layer를 사용하는데 계층 구조에 따라 두개의 Encoder를 사용하는 Cost가 이슈가 되었다.
왜 그런 분류결과가 나왔는지 궁금할 때 Attention을 찾아주는 것과 CNN에서의 Localization이 비슷한 mechanism인지에 대한 질문이 있었다. 결론적으로는 알고리즘은 다르다고 한다. 하지만 서로 다른 영역에 대해 비슷한 고민이 있었고 각자 다른 방식이지만 발전을 하는 것을 보고 배울 수 있었다. 어떤 부분을 연구하던지간에 다른 연구에 대한 것을 많이 보고 고민했던 근원을 생각해본다면 insight를 얻을 수 있다는 생각이 들었다. ( 마치 transfer learning같은... )
최초 RNN을 볼 때도 느꼈었지만 우리가 인지하고 있는 자연구조를 반영하도록 Machine Learning Model을 만드는 것이 성능에 장점이 있다는 것을 느꼈고 앞으로 연구할 때에도 소스의 근본 구조를 확인해보는 것이 도움이 될 것 같았다.

금일 세미나는 "Hierarchical attention network for document classification" 라는 주제로 진행 되었다. 기존 기계번역에서의 seq2seq 모델은 짧은 문장의 번역은 쉽게 처리하지만 한 문장이 길어질수록 Long Term dependency 가 생겨 적절하지 못한 번역이 이루어졌는데 attention mechanism은 t 시점의 단어을 예측할 때 decoder 의 t-1 시점의 정보와 유사도가 높은 정보를 갖는 encoder 의 단어를 주목하게 하여 정확한 번역을 할 수 있도록 도와 주는것이다. 기존 seq2seq 모델은 context vector 를 단순 C 를 사용하였는데 attention을 사용한 seq2seq 에서는 Ct(allignment model 을 사용) 을 이용하게 된다.
각 시점의 output 마다 input 문장의 어느 부분을 참고하여 출력하는지 점수를 부여 하여 중요한 영향을 미친 input data 를 강조 할 수 있다.
Hierarchical attention network for document classification 은 document 를 어떻게 잘 분류 할지에 대해 attention 을 적용하여 보다 더 잘 분류 하게 만들었다. 구성은 기존 encoder/decoder 가 있는 것에서 decoder 부분이 제외 되고 word encoder and word attention / sentence encoder and sentence attention 이 구성되어 결국 문서를 표현함에 있어서 문서-문장-단어의 계층 구조를 활용하고, 문서의 중요 정보를 갖는 문장과 단어의 정보를 학습에 더 잘 반영시키는 것이다.
문서가 가진 구조적인 특성을 잘 반영하여 분류 성능이 향상되었고 문맥을 잘 반영하는 것을 볼 수 있었다. 다만 RNN 구조이다 보니 시간이 매우 많이 걸릴며 attention 을 이용한다 하더라도 결국은 long term dependency가 생길 수 있는 여지가 남아 있다는 것을 알게 되었다.
attention 에 대한 개념을 잘 이해 할 수 있는 세미나였다.

오늘 세미나는 Hierarchical Attention Networks for Document Classification이란 논문으로 다루어졌다. Attention의 개념으로 우리 연구실에서도 다양한 연구들이 진행되고 있고 HCAI 프로젝트로 문서요약, 감성분석, QA등이 진행되고 있기 때문에 흥미로운 주제임에 틀림없었다. 문서요약 프로젝트를 담당하고 있기 때문에 Hierarchical Attention, 즉 token단위의 attention 뿐만 아니라 sentence단위의 attention도 살펴보는 것이 문서분류 문제가 아니라 문서요약 관점에서 어떻게 사용될 수 있고, 적용될 수 있는지 추후에 깊게 고민할 필요성이 있다고 느꼈다. 또한 Attention의 개념을 다양한 Task마다 다양하게 사용 및 활용해 볼 필요도 있다고 느꼈다. 항상 내 관심분야는 다채널센서데이터이기 때문에 해당분야로 어떻게 적용을 해보는 것이 새로운 연구가 될 수 있을지 고민하면서 듣게 되는 세미나였다. 현규 오빠가 앞으로 연구함에 있어서도 오늘의 세미나가 큰 힘과 동력이 되길 진심으로 바래본다. (파이팅^^)

금일 세미나는 현규 오빠가 ‘Hierarchical Attention Network for Document Classification’이라는 주제로 attention mechanism에 대한 개괄적인 흐름에서부터, hierarchical attention구조를 도입한 document classification의 대표적인 논문에 대해 소개해주었다. 초기 기계번역 도메인 연구로부터 우리가 흔히 아는, 딥러닝의 줄기인 rnn기반의 알고리즘들이 지속적으로 제안되어왔다. rnn기반 모델들이 갖는 long term dependency를 개선하기 위해 seq2seq이 대표적으로 사용 되어졌고, 전체 문장에 대한 context vector를 사용하여 내용의 문맥을 보기 위해 seq2seq with attention모델들이 제안되었다. Self attention과 같이 이후 굵직한 연구들이 대부분 long term dependency를 해소하고, 모델 computing cost에 활발히 이루어지고있다. 반면, 오늘 소개한 논문은 기존의 attention mechanism이 갖는 목적과 특징을 너무나도 적절히 문제상황에 적용시킨 연구라 할 수 있다. 우리가 문서를 분류할 때, 유의 있게 보는 문장과 그 문장내 중요하다고 생각하는 단어들을 생각하면서 최종적인 분류를 하게 된다. 이러한 실제 인지적 행동을 적절히 잘 모사한 알고리즘이라고 생각하고, 결과적으로 어떤 지점을 보고 문서를 분류했는지 확인이 가능하기 때문에 모델의 해석이 부가적으로 가능하게 된다. Attention mechanism이 주는 이러한 explainability는 다양한 도메인에서 다양한 연구로 활용가치가 있다고 생각하고, 나 또한 현재 진행하는 프로젝트에 그리고 연구에 접목시킬 방안을 고민해보게 된 논문이었다. 바쁜 와중에 함께 진행하는 프로젝트들과 세미나 모두 훌륭히 소화해준 현규오빠에게 감사한 마음을 표한다.

금일 세미나는 Hierarchical Attention Networks for Document Classification을 주제로 강현규 연구원님이 발표를 해주셨다. 발표자께서 평소 NLP에 대한 관심을 많이 보여주었고, 4행시 Bot을 만드는 등 석사 신입생으로 보기 힘든 면모를 많이 보여주었기에 특히 더 기대가 되는 세미나였다. 일반적으로 NLP 처리에는 RNN을 이용한 seq2seq 모델이 사용이다. 이는 언어의 특성상 어순이라는 것이 존재하고 이를 처리하기 위해 문맥을 고려한 단어 배치가 필요하기 때문이다. 하지만 이 seq2seq 모델은 문장의 길이가 길어질수록 Long Term Dependency가 생겨 처리를 하지 못하는 경우가 발생하는데 이를 잘 처리하기 위한 개념이 Attention이다. 사실 공부를 하며 Attention 기법에 대하여 많이 듣고 공부하였으나 명확하지 못했던 점이 있었는데 이번 세미나를 통해 Attention 기법에 대하여 조금 더 정확히 알 수 있었고, Attention 기법을 한 문장의 단어에만 적용하는 기존 방식에서 벗어나 문서에서 문장, 그리고 문장에서 단어로 Hierarchical하게 적용하여 문장의 의미까지 찾아낼 수 있음을 보여준 예시까지 볼 수 있어 도움이 많이 되었던 세미나였다. 한 모델의 개념에 추가적인 Idea를 접목하여 새로운 모델을 제시하는 것이 얼마나 큰 성능을 만들어 내지 알 수 있었고, AI의 발전 가능성 및 공부의 필요성을 느끼게 해준 세미나였다. 깊은 설명을 위해 다수의 논문을 소개하고 공부해준 강현규님에게 감사한 마음을 보낸다.

오늘 세미나는 Hierarchical Attention Networks for Document Classification 을 주제로 진행하였다. RNN 기반의 seq2seq 모델을 이용하여 기계번역을 많이 처리하고 있으나, 짧은 문장일 경우 문제가 없지만 문장이 길어질 경우 정확히 번역하는 것이 어렵다. 따라서 모델이 다음 단어를 선택할 때 이전 시점의 어떤 단어에 집중을 해야 하는지에 대한 가이드를 준다면 모델은 좀더 정확하게 번역을 할 수 있다. 이러한 개념이 Attention 이다. 처음 제안된 Bahalanau attention에서는 인코더의 정보를 하나의 context vector로 요약하는 것은 충분하지 않으므로 인코더의 각 시점별로 context vector 를 생성하여 사용함으로써 attention 이 가능하도록 하였다. Hierachinal Attention networks 에서는 문서를 분류할 때 문서내에 있는 문장과 문장에 있는 단어별로 계층적으로 attention 을 부여하므로써, 문서가 가지고 있는 의미를 보다 더 정확히 판단할 수 있어서 분류 성능을 높일 수 있다. 결국 문서의 구조적 특성을 반영하여 성능을 향상시키는 것으로서 중요 문장과 중요 단어를 인지하도록 학습되는 것이 특징이라고 할 수 있다. 오늘 세미나에서는 문서 분류에 대한 내용을 가지고 진행 되었으나, 일반적인 데이터들이 보통 계층적 구조를 가지는 경우가 많은데 이러한 데이터에서도 성능이 향상될 수 있을 것 같다. 어려운 내용이었지만 쉽게 잘 이해할 수 있었던 좋은 세미나였다.

금일 세미나는 ‘Hierarchical Attention Networks for Document Classification’이라는 주제를 가지고 진행 되었다. 기존의 seq2seq 모델은 encoder에서 입력 시퀀스를 고정하여 압축하고 decoder에서 이 컨텍스트를 출력하는 방식이다. 하지만 여기에서는 두가지 단점이 존재한다. 하나는 압축으로 인하여 정보 손실이 방생하고 두번째로는 기울기 소실이 발생한다. 이러한 단점을 보완하기 위해 나온 기법이 attention기법이다. Attention의 기본 아이디어는 예측하는 매 시점마다, 인코더의 전체 입력 문장을 다시 한 번 참고하는 것이다. 해당 시점에서 예측해야 할 단어와 연관이 잇는 입력 단어 부분을 좀더 attention하는 것이다. 문서는 일종의 문장의 연속이고 더 작게 보면 문장은 단어의 연속이다. Hierarchical Attention Network에서는 문서는 본질적으로 계층적 구조를 가지고 있기 때문에, 이 구조를 이용하는 모델이 필요하다. 동시에 attention mechanism을 이용하여 중요한 단어, 중요한 문장에 더 많은 가중치를 부여함으로 Classification의 성능을 높였다. 이번 세미나를 통하여 attention이라는 개념에 대해 보다 정확하게 알게 되었다. 많은 논문들을 잘 정리하여 소개해준 현규형에게 감사한 마음을 표한다.

금일 세미나는 Hierarchical Attention Networks for Document Classification을 주제로 강현규 연구원님이 발표를 해주셨습니다. 제가 알기로 일반적으로 NLP 쪽 연구 분야는 문장의 순서(sequence)를 이유로 RNN을 이용한 모델이 주를 이루고, 최근엔 S2S와 attention을 위주로 transfomer등 연구가 진행되고 있는 것으로 알고 있었습니다. 하지만 이런저런 이유로 인해 S2S 및 attention에 대해 공부가 미흡하여 정확히 알지 못했었습니다. 그런데 마침 이번 세미나를 통해 Attention 기법에 대하여 조금 더 정확히 알 수 있었습니다. 뿐만 아니라 문서를 문장의 집합으로, 문장을 단어의 집합으로 쪼개어 계층적으로 단어 embedding 및 attention을 구함으로써, 실제 문서를 분류하는데 중요한 문장 및 단어가 무엇인지를 명확하게 시각화 할 수 있다는 점이 참 신선했습니다. 명확하고 쉬운 설명을 위해 여러 논문을 참조하며 설명해주신 강현규 연구원님께 감사의 말씀 드립니다.

2016년에 발표된 Hierarchical Attention Network(HAN)를 통해 Attention의 작동방식과 적용방법에 대해 생각해 볼 수 있었다. HAN이 갖는 기존의 RNN Attention 방법론과의 차이점은 Attention을 계산할 때 사용하는 Query를 모델 전체가 공유하는 별도의 학습가능한 벡터로 두었다는 점이다. 미묘한 역할을 하고 있는 Query 벡터에 대해 생각해 보기 위해 한 문장에 대해 단어 레벨에서 Attention이 적용되는 것을 예로 들면, 이때의 Query 벡터는 문장의 의미를 잘 파악하기 위해서 일반적으로 문장 내 어느 위치의 단어를 주의깊게 보는 것이 타당한가를 나타낸다고 생각할 수 있을 것이다. Self-Attention이 주목받는 지금의 관점에서, 개별 문장의 의미를 고려하는 것이 아니라 모든 문장에 일반화된 벡터를 이용하여 Attention Score를 산출하는 것은 다소 구시대적으로 보였다. 하지만 단어에 대한 Attention Score 산출을 위해 문장의 의미와 각 단어의 유사성을 이용하는 방법만을 고집하지 않을 수도 있다는 것을 생각해보며 사고의 유연성을 가져야겠다고 느꼈다.

금일 세미나는 강현규 연구원의 'Hierarchical Attention Networks for Document Classification' 이라는 주제로 진행 되었습니다.
최근 진행중인 프로젝트를 위해 sequence to sequence + Attention 모델을 학습하고 있었는데, 세미나를 통해 다시 정리 할 수 있어 좋은 기회 였다고 생각 합니다.
추가적으로, Hierarchical한 Attention 기법을 활용하여 단어 뿐 아니라 어떤 문장에 주목해야 하는지를 알 수 있게 됨으로써, 문서를 classification 하는 문제를 좀 더 효율적으로 해결 할 수 있게 됨을 배울 수 있었습니다.
법원 판결문을 예시로 들어주시고 해당 알고리즘을 순서대로 설명 해주셔서 쉽고 명확하게 이해 할 수 있었습니다.
준비해주신 강현규 연구원님께 감사 드립니다.

오늘은 Attention Mechanism이 나오기까지의 모델들에 대한 개요와 이 기법을 이용한 응용모델인 Hierarchical Attention Network(HAN)에 대해 살펴보았다. seq2seq 문제에서 기존에는 마지막 인코더 단의 hidden state를 디코더 단의 단일 context vector로서 넣어주었다. 하지만, 이런 구조에서는 입력 문장이 길어질수록 단일 context vector만으로 입력에 대해 충분한 표현이 어려워지는 long term dependency 문제가 그대로 남는다. 이를 해결하기 위해 Attention Mechanism은 각 인코더 셀의 hidden state를 context vector의 재료로서 사용하여 표현력을 충분히 높이고자 하였다. 각 디코더 셀에서는 입력 문장의 어느 부분을 가중치 있게 보아야 하는지를 학습해는데, 이때의 가중치를 attention값이라고 하며 계산 방법은 다음과 같다. 각 인코더 단의 hidden state와 현재 디코더 셀의 hidden state이 feed-forward-NN의 input으로 넣어주고, output으로서 attention score를 얻어낸다. 이때 이 값을 그대로 쓰지 않고 softmax를 씀으로써 가중치를 더 강조한다. 이렇게 나온 attention 값을 encoder의 hidden state vector에 가중합 시켜서 각 decoder 단에서 쓸 ‘attention’된 context vector를 만들어내어 각 decoder의 input값으로 쓴다. 후반부에 소개되는 HAN는 document classification에 쓰이는 모델이다. 임의의 단어가 어떤 흐름(e.g 문장)에 있는가에 따라서 같은 단어라도 그 뜻이 달라지는 점을 착안하여 만든 알고리즘이다. 모델 이름에서도 알 수 있듯이 단계별로 처리가 되는데, Step 1)에서는 각 문장 내의 word를 가지고 sentence에 대한 representation을 하고, Step 2)에서 attention에 의해 가중합으로 embedding 된 sentence 표현체를 가지고 attention을 한번 더 적용하여, 최종적으로 해당 문서가 어떤 클래스(e.g. 긍정/부정)에 속하는지 판별한다. 이때 앞서 설명한 seq2seq 상황에서의 decoder의 hidden state 역할을 해주는 것이 attention score를 얻어내려면 필요한데 , 이 논문에서는 임의의 word representation vector를 설정하고 이를 임베딩하는 행렬W를 동시에 학습해서 표현했다고 한다. HAN 논문에서는 이러한 계층적인 구조와 attention mechanism을 차용한 것이 둘 다 분류성능증가에 유의미한 기여했다고 제시했으며, 나아가 attention score를 통해 inference 결과에 대한 근거를 유추해볼 수 있기에 attention mechanism을 사용시 해석가능한 모델이 될 수 있음을 보여주었다. 그리고 HAN은 sequence 정보를 embedding 할 때 RNN구조를 차용하여 computational cost가 높은데, 이 부분을 self-attention 부분으로 갈아끼우면 RNN을 사용하지 않고도 높은 성능을 보여주는 그 유명한 Transformer 형태가 된다. 이를 보면 연구는 계속 꼬리를 물고 꼬리를 무는 듯하다. Real-time 데이터와 시계열 데이터에 관심이 많은 만큼 향후 attention 관련 모델을 잘 공부해두면 좋을 듯하다. 깔끔하게 예전 모델부터 차근차근 설명해주고 좋은 발표 자료를 만들어준 현규형에게 다시 한번 감사하다.

금일 세미나 주제는 Hierarchical Attention Networks for Document Classification이었다. 세미나 초반에는 attention이라는 개념이 등장하기까지의 배경을 RNN, seq2seq 모델들과 관련지어 설명하였다. seq2seq 모델을 구성할 때, 시퀀스의 길이가 길어질수록 long-term dependency 문제가 생기고 각각의 단일 벡터가 갖는 representation이 저하된다. 이를 해결하기 위해 도입된 attention은 t시점을 예측할 때, decoder의 t-1 시점의 정보와 유사도가 높은 encoder의 시점을 주로 사용할 수 있도록 만들어준다. Encoder에서의 hidden state들을 모아서 어떤 부분의 중요도가 높은지를 알아내는 과정이라고 할 수 있다. 문서 분류 관점에서 이를 해석하면, 문서의 클래스를 할당하는 과정에서 어떤 부분을 봐야하는지에 대한 가이드를 주는 것이라고 생각할 수 있다. 하지만, 문서는 여러 개의 문장으로 구성되어 있으며, 하나의 문장은 다시 여러 개여 단어로 구성되어 있다. 이러한 문서의 계층적 구조를 반영하기 위해 논문에서는 hierarchical attention network를 제안한다. 각 문장에 대해서 어떤 단어를 중점으로 봐야하는지를 알려주는 word-level attention과 각 문서에 대해서 어떤 문장을 중점으로 봐야하는지를 알려주는 sentence-level attention이 순차적으로 적용된다. 기존의 방법과의 차이점은 attention 산출을 위한 유사도 계산에 있어서 임의의 벡터를 연산에 넣어주고 이를 학습시키는 것이었다. 유사도 계산을 위해 비교할 수 있는 대상이 없기 때문에 이러한 방법을 사용했다고 한다. 최근 attention, self-attention 기반의 알고리즘들이 적용하기도 쉽고 좋은 성능을 내는 것으로 알려져 있는데, 개인적으로 이는 데이터의 특성을 연구자들이 깊이 이해했기 때문이라고 생각한다. 연산 단계별로 데이터에서 집중해야 하는 부분을 파악하는 기능을 반영한 결과라고 생각된다. 또한, 그러면서도 많은 분야와 데이터에서 적용될 수 있는 아이디어이기 때문에 찬찬히 리뷰를 하는 시간을 가지려고 한다.

[세미나주제]
Hierarchical attention network for document classification
[세미나를 통해 얻은 지식]
- attention의 정확한 동작 diagram에 대한 이해
- attention을 Hierarchical structure에 적용할 경우의 기대효과
- hierarchical structure를 가지는 document의 분류 문제에 있어 context(맥락)을 반영하는 것의 중요도에 대한 이해
[세미나 Good Point]
- 해당 모델을 사용하는 Usecases로 선고문 사례는 쉽게 다가오는 사례로 매우 좋았습니다.
[세미나 소감]
-attention의 중요도에 대한 이야기는 이전부터 많이 듣고 있었고, 대략적인 동작방식은 알고 있었으나 이번 세미나를 통해서 정확한 동작 방식을 이해할수 있었습니다.
RNN계열 네트워크에서 attention이 어떤 식으로 Long Term Dependency문제를 어떤식으로 해결하는지 발표자료를 통해서 정확히 이해 할 수 있었습니다. 이번 세미나에서 개인적으로 얻은 가장 큰 수확이라고 생각됩니다. 너무 clear한 세미나 자료 감사드립니다.
-단어(word)가 가지는 의미(semantics)는 맥락(context)에 따라서 달라진다는 것은 많이 아는 사실입니다. 문서(document)를 세분화 하여 문장(sentences), 단어(words)로 분해하여 각 depth(word level, sentence level)로 attention을 적용하는 아이디어는 매우 clear하고, 즉각적인 효과를 거둘수 있는 방법으로 생각됩니다. 이는 문서의 구조를 반영하여 문서가 가지는 정보의 특성을 잘 반영했다고 생각됩니다. 이러한 접근 방식은 데이터 특성(계층적 구조)에 개별 알고리즘(attention)을 효율적으로 결합했다고 생각됩니다. 또한, 개별 단어의 context에 따른 attention score distribution의 명기는 개별 단어의 의미가 맥락에 따라 달라짐을 수치적으로 확인 할 수 있었습니다.
[세미나 지식의 활용]
-기업은 많은 채널을 통해 임직원들의 feedback을 수집합니다. 이때 가끔 부정적 의견들이 많이 도출되기도 하고 다소 반어적인 표현으로 기술되기도 합니다. 맥락을 반영한 감정 분석 사례에 응용해 볼수 있을 것으로 보입니다.
[추가 연구가능 방향]
-이 논문에서 사용한 데이터들은 주로 plain text형태로 리뷰성 데이터들로 보입니다. 기업의 경우 보유하고 있는 문서에는 많은 표와 그림을 사용합니다. 특히 표의 경우 그 자체가 많은 정보를 포함하고 있는 경우가 많고 중요한 정보인 경우가 많으며, 맥락에서 중요한 정보(단어)들입니다. 이를 이 논문에서 기술한 HAN에 결합하는 형태로도 수행해 볼수 있을 듯 합니다.

금일 세미나는 Hierarchical Attention Network를 주제로 진행되었다. Attention에 대한 기본적인 컨셉만 알고 세부적인 내용에 대해서는 공부를 진행 중인 나에게 이번 세미나는 큰 도움을 준 세미나였다. 해당 세미나는 Attention Mechanism에 대한 기본 설명을 진행한 뒤, Hierarchical Attention Network에 대한 본격적인 설명이 이어졌다. Attention Mechanism에서는 RNN Encoder-Decoder, Seq2Seq Model, Bahdanau attention, Luong Attention 4개의 알고리즘에 대한 설명이 진행되었다. Attention Mechanism에 대한 기본적인 설명을 통해 Attention Mechanism이 지나 온 역사를 전반적으로 들을 수 있어서 좋았다. 이후 본격적인 Hierarchical Attention Network에 대한 설명이 이어졌다. Hierarchical Attention은 문서가 가지는 구조적인 내용을 반영하여 문장과 단어를 학습해 보자는 것이 기본적인 컨셉이다. 문서는 문단들의 합으로 구성 되어 있고, 문단은 문장들의 합으로 구성 되어 있고, 문장은 단어들의 합으로 구성 되어 있다. 이러한 구조에 Attention 기법을 반영해서 모델을 학습시키면 문서의 주제를 분류 할 때, 1)어떤 문장이 2)어떤 단어가 문서의 주제를 분류하는 데 크게 영향을 끼쳤는지 파악할 수 있다. 또한 문서가 가지는 구조를 반영해 모델링을 진행하다 보니, 문서의 주제를 분류하는 성능도 크게 향상 시킬 수 있었다.
이번 세미나는 내게 세미나 준비에 대한 진정성을 다시 한번 생각하게 만들었다. 세미나를 의미있게 진행하기 위해 Attention 기법에 대한 많은 공부를 하고 준비했음이 느껴졌다. 세미나의 주 내용인 Hierarchical Attention에 대한 논문을 포함 총 5개의 논문을 읽고 준비한 모습이 정말 진정성이 있어 보였다. 추후 세미나 시간이 돌아 왔을 때, 청중들에게 의미 있는 세미나를 진행하기 위해 많이 고민하고 많이 준비 해야겠다고 다시 한번 생각하게 해준 좋은 세미나 시간이었다. 좋은 세미나를 준비해 준 현규에게 감사함을 표한다.

'Hierarchical Attention Networks for Document Classification' 이라는 주제로 강현규 연구원님이 진행해 주신 세미나를 통해 Seq2seq Model with Attention에 대해 배울 수 있는 좋은 기회였다고 생각합니다. Attention의 개념과 메카니즘을 알기 쉽게 설명해 주셨고 Hierarchical Attention Network을 이용해 문서를 분류함에 있어서 문서를 구성하는 문장/단어가 갖는 중요도가 다름을 판결문을 예를 들어 설명해 주셔서 이해하기 쉬웠습니다. 이번 세미나를 통해 문서분류에 대한 관심이 생겼으며 앞으로 다양한 기법들에 대한 연구를 해보고 싶은 생각이 들었습니다. 수고해주신 강현규 연구원께 감사드립니다.

최근 딥 러닝 분야에서 가장 뜨거운 감자 중 하나인 Attention 기법에 대한 전반적인 소개와 함께, 문서 분류 task에 활용된 hierarchical attention network에 대한 심도있는 토의가 주를 이루었다. Attention 기법은 2014년에 처음 제안되었으며 자연어처리 분야에선 Transformer와 BERT가 우수한 성능을 보이면서 요새는 attention을 빼놓고선 딥 러닝을 이야기하기 어려운 시대가 되었다. 자세한 수식은 차치하고 핵심만 이야기한다면 attention은 신경망 모델이 학습한 representation들에 대한 가중치를 사용자가 정의하지 않고 이 마저 학습하자는 굉장히 딥러닝스러운 철학에서 비롯되었다고 생각한다. 사람의 뇌도 주변 상황을 인지할 때 필요한 정보만 선택적으로 받아들이는 법을 학습하는데, 이를 잘 모방한 구조라는 생각이 든다. Hierarchical Attention은 이러한 선택적 인지 방식에 계층적인 구조를 가정하여 모델이 단계적 인지 및 판단 능력을 학습할 수 있도록 도와주는 구조라고 생각한다. 정말 좋은 아이디어는 생각보다 간단한 발상의 전환에서부터 시작된다는 사실을 다시 한 번 느낄 수 있었다.

금일 세미나는 Attetion을 이용한 문서 분류에 관한 내용을 현규가 발표해 주었다. Attention알고리즘은 문장과 같이 관측치내에서 존재하는 Dependency를 반영하기 위해 개발되었다. 기존의 RNN 계열의 예측 모델들은 과거의 내용을 잘 반영하지 못하였다(Gradient Vanishing). 이를 해결하기 위해, 해당 알고리즘이 개발되었다. Attention은 두가지 방법이 존재한다. 하나는 Attention network를 학습시키는 것이고, 나머지는 내적과 같은 간단한 연산을 이용하는 방법이다. Network를 학습시키는데 필요한 시간을 소비하는 대신, 아주 작은 손해를 보면서 연산량을 줄이는 후자의 방법을 최근 사용하고 있다고 한다. 이러한 Attention알고리즘과 문서를 구성하는 문장과 단어 사이에 가정들을 이용해서 문서 분류를 시행하는 과정에 관한 논문이었다.
Attention을 이용한다면 관측치 별로 어떠한 단어가 중요했는지 알 수 있다고 한다. 이를 현실 데이터에서 적용해보면 다음과 같을 수 있을 것이다. 만약 10개의 공정이 있다고 하자. 1번째 공정에서 중요하게 사용되었던 변수가 2번째 공정에서는 중요하지 않을 수 있다. 하지만 Random Forest와 같은 알고리즘을 이용해 공정에 관한 모델링을 한다고 할 때, 전반적으로 중요한 변수만 추출한다. 하지만 Attention을 이용한다면 관측치 별, 즉 1번째 공정에서는 a변수가 2번째 공정에서는 b변수가 중요한지를 알 수 있게 된다. 현재 진행하고 있는 프로젝트에서 이러한 문제를 해결해야 하는데, RNN 계열의 순차적 패턴을 반영할 수 있는 예측 모델에 Attention을 더한다면, 공정별로 모델링을 진행하는 번거로움을 줄일 수 있을 것이다. Attention에 대해 추상적으로만 알고 있었는데, 현규의 세미나로 더 쉽게 이해할 수 있었다.

이번 세미나는 attention mechanism과 hierarchical attention network for document classification이라는 논문에 대한 소개로 진행되었다. Attention mechanism은 machine translation 문제를 더 잘 해결하기 위해 제안되었다. Machine translation과 같은 sequence to sequence 문제는 일반적으로 RNN을 사용하게 되는데, input sequence가 길어짐에 따라 long-term dependency를 잘 반영하지 못하는 문제가 발생한다. Attention mechanism은 output token을 generation 할 때, input sequence의 어느 부분의 정보를 이용해서 generation 할 것인지 학습함으로써 long-term dependency 문제를 해결하고자 하였다. Attention은 machine translation을 위해서 처음 제안되었지만, 매우 다양한 분야로 확장되고 있다. 세미나에서 소개한 논문은 document classification을 위한 neural network에 word-level과 sentence-level에 hierarchical attention을 추가한 방법론을 다루고 있다. 논문에서 제안한 HAN을 통해 문서를 분류하는 데 있어 중요한 sentence와 sentence 내부에서 어떤 word의 정보를 모델이 사용했는지를 확인할 수 있다. 또한, word-level과 sentence-level의 hierarchy를 가지는 구조를 통해서 document classification을 보다 더 잘 수행할 수 있다는 결과도 제시하고 있다. Attention mechanism은 다양한 task에 대해 확장될 수 있기 때문에, 잘 알아두면 연구를 수행하는 데 있어 많은 도움이 될 것이라고 생각한다.

Seq2seq 모델은 대표적으로 NLP 분야에서 주로 사용되는 모델의 한 구조로써, 이미 다양한 연구에서 우수한 성능을 입증한 대표적인 모델이다. Seq2seq 모델의 경우 문장이 길어질수록 모델의 깊이가 커짐에 따라 학습이 어려운 한계가 있었다. 그러나 Attention 의 제안으로 인하여 학습의 한계를 극복할 수 가 있었다. 본 세미나에서는 Attention 메카니즘에 대해 다뤘고, 특히 Attention 메카니즘의 한 갈래인 Hierarchical Attention Network에 대해 다뤘다. Attention 메카니즘을 사용함으로써 문장내에서 중요한 단어 또는 문맥상 중요한 단어의 정보를 잃어버리지 않고 학습에 반영함으로써 좀더 인간과 유사한 형태의 해석 및 번역을 가능케 하였다.
그러나 문장의 단위를 넘어 문서를 분석하는 과정에서 동일한 단어가 문맥적으로 다른 의미로 사용되는 경우 이를 완벽히 반영하기 어려운 단점이 있다. 이러한 상황에서 Hierarchical Attention 구조를 사용하여 문장내 단어 단위에서 Attention을 수행하여 문장내의 중요한 단어의 정보를 추출하고 이후 문장간의 관계를 고려를 가능케 하였다. 본 논문에서 제안한 접근법 또한 문서를 분석하는데 있어 유의미한 접근법이라 생각된다. 더불어 본 논문에서 제안한 구조와는 별개로 순차적으로 접근하는 로직자체는 다양한 분야에서 사용될 수 있을 것이라는 생각이 들었다.

이번 세미나의 주제는 Hierarchical Attention Network for Document Classification이라는 논문을 리뷰하였다. 기계번역에서는 주로 encoder와 decoder로 이루어진 모델을 사용하는데, encoder가 원래 문장의 특징들을 파악하여 context vector로 나타내고 decoder가 이 context vector를 이용하여 번역된 문장으로 나타낸다. Encoder와 decoder에 rnn 모델을 사용한 seq2seq모델이 등장하였고 단어끼리의 연관성을 보여줄 수 있는 attention 기법들이 나타났다. 이 논문은 attention을 단어 단위에 더해 문장에서도 이용하여 문장끼리의 연관성도 반영하였다. 결과적으로 문맥을 반영하여 문서 번역 시에 성능이 향상되었지만, rnn의 특성상 계산량이 많고 오래 된 것들을 반영하지 못한다는 단점은 극복하지 못하였다. 간단한 아이디어지만 성능 향상이 있었고 논리적으로 납득이 가는 논문이었던 것 같다.