Processing math: 100%

ABOUT ME

Today
Yesterday
Total
  • BiDAF - Bidirectional Attention Flow for Machine Comprehension
    논문_리뷰 2021. 1. 25. 00:08
    BiDAF - Bidirectional Attention Flow for Machine Comprehension
    Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, Hannaneh Hajishirzi

    위 논문은 ICLR 2017에서 발표된 논문입니다.

    Abstract

    • Machine Comprehension(MC)는 주어진 Context paragraph에서 쿼리에 대한 옳바른 답을 하는 것을 의미한다. (QA와 같다)
    • 최근 Attention 모델이 MC에 적용되기 시작, 문맥의 작은 부분에 집중 가능하며 fixed-size vector로 표현
    • BiDAF
      • multi-stage hierarchical process
      • fixed-size vector로 context를 요약하면 정보의 손실 발생 --> 요약하지 않고, query-aware context vector를 찾음
      • query의 단어마다 필요로하는 context의 정보가 다름 --> 세분화하여 query vector 제공 (Query2Context)
      • query와 context의 상호작용이 강해짐
    • query-aware context vector로 context summarization 대체
      • context summarization은 정보의 손실을 야기함
      • query를 보고 주목해야 할 Context를 찾고 이를 반영한 vector를 얻음

    Introduction

    • 기존 Attention Mechanism
      • context를 fixed-size vector로 요약, 그로부터 attention weight 계산
      • uni-directional
    • BiDAF
      • attention layer에서 문맥을 fixed-size vector로 요약하지 않음
        • 이전 layer에서 계산된 attended vector를 subsequent model로 flow
        • 이전 time step에서 생성된 attention은 현재 attention에 영향 X, subsequent model을 통하여 flow
      • memory-less attention
        • time step마다 attention 계산 --> 이전 attention layers 사용 X
        • Modeling layer와 Attention layer의 분업 유도 --> 현재 time step의 attention을 학습하는 것에 집중
        • 이전의 잘못된 attention에 영향 X

    Model

    • Character Embedding Layer
      • charCNN을 이용하여 word를 vector로 임베딩
      • CNN output을 pooling으로 차원을 줄여 사용
    • Word Embedding Layer
      • 사전 학습된 워드 임베딩 모델을 이용하여 word를 vector로 임베딩
    • Contextual Embedding Layer
      • Bi-LSTM을 통해 주변 문맥을 파악 ( input = d * 2 )
    • Attention Flow Layer
      • query와 context vector를 연결시키고, 각 단어마다 문맥 속의 query-aware feature vector를 만듦
      • context vector와 query를 interaction --> context에서 query에 대한 답이 될 수 있는 특징들 추출
      • 이전 time step에서 생성된 attention은 현재 attention에 영향을 주지 않음
        • context와 query의 similarity로만 계산
        • previous attention은 Bi-LSTM으로 구성된 Modeling layer로만 서로 다른 time step에 전달
      • Context2Query, Query2Context --> context와 query의 정보교환에 도움을 줌
      • similarity matrix St,j : context word의 t번째 단어와, query word의 j번째 단어의 유사도
      • Context2Query
        • at=softmax(St:)
        • query 단어중에서 어떤 단어가 각각의 context 단어와 가장 연관이 있는지 확인
        • St,jsoftmax$를 취하였을 때 유사성이 큰 weight만 값이 커짐
        • attention이 적용된 attended query vector는 유사성이 큰 query의 단어들만 반영됨
      • Query2Context
        • b=softmax(maxcol(S)) // maxcol : 각 row에서 가장 큰 값을 뽑아냄
        • 각 context word마다 가장 query words중에서 유사도가 가장 큰 항만 뽑고, softmax를 취해 상대적으로 더 query와 연관성 있는 context word만 남김
        • query 입장에서 중요한 word만 살아남음
    • Modeling Layer
      • Bi-LSTM으로 구성되며 query와 context word의 interaction 파악

    댓글

Designed by Tistory.