요약
이번 모임부터는 읽기로한 논문의 내용도 많고 주제내에 유사한 내용이 많기 때문에 관심있게 읽은 주제별로 요약정리하기로 하였습니다
또한 이번 기간동안에 저희 랩의 목표를 구체화 하였는데 이번 기수 연구 소목표로 image caption과 GAN을 응용하여 image caption GAN을 모델링해볼 예정입니다. 예를 들어 어떤 이미지 I에 대해 discriminator가 a bird is flying라는 캡션을 만들고 캡션 S of (Image, Sentence) 의 bird를 car로 바꿔 generate하면 bird에 해당하는 참새가 나는 이미지에서 자동차가 날아가는 이미지로 바뀌는 모델을 설계 해보려고 합니다.
해당 구현을 위해 image caption과 unsupervised learning관련 논문을 읽었고 다음 모임까지 image caption관련 주제중에서 image attention mechanism관련 논문들과 GAN에 관련된 주요 논문들을 읽어볼 예정이고 해당 과정을 마친 뒤 혹은 진행하며 모델 설계 단계에 진입할 예정입니다.
논문 리뷰 요약
"읽을 논문의 양이 늘어나 관심있게 읽어본 부분, 핵심내용 위주로 약술하였습니다"
image caption model에 있어서 기본적으로 show and tell 논문에서 제안한 구조를 따르는데 VGG, inception 등의 image feature를 뽑기 위한 CNN 네트워크를 통해 image embedding을 먼저 생성하고 해당 임배딩을 임의의 RNN 모델을 통해 자연어처리의 그것과 유사하게 연결하여 다음 RNN CELL과 연결하는 구조로 이루어집니다.
"Show and tell" 논문에서는 LSTM을 사용하여 자연어처리부분을 진행하였는데 여기서 p는 해당 워드 임배딩일 확률을 의미합니다.
기본적으로 CNN -> output feature -> RNN -> final output = caption의 구조를 따르는데 "Show, attend and tell"에서는 이 성능을 개선하고자 attention mechanism을 도입합니다. attention mechanism은 과거 자연어 처리에서 사용되던 체계로 RNN학습을 진행할때 sequential한 일종의 마스크를 만들어서 특정 부분을 강조하며 강화학습하는 방법으로 해당 아이디어를 word embedding이 아닌 imaage embedding을 이용하여 모방하여 보는 시도입니다.
해당 논문의 결과 표를 보고 attention을 도입하였을때 일정부분 성능이 개선되는 것을 확인 할수 있다. image caption 관련 논문들을 읽어나가면서 image caption의 성능을 좌우하는 키 팩터가 크게 4가지가 있음을 알수 있었습니다.
1. image embedding
2. attention
3. word embedding
4. RNN model
이렇게 4가지 입니다.
image embedding과 관련해서는 feature를 뽑아내는 방법을 어떤 것을 쓰느냐에 따라 논문별로 상이했는데 대채로 inception을 사용하는 경우가 많았으나 VGG를 사용하는 논문도 몇편 있었습니다.
attention과 관련하여 "Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering"이 논문에서는 기존 논문들과 다르게 word embedding도 한번에 concat해서 attention을 만드는데 해당 방법을 통해 소위 VQA문제 이미지에 대한 질의응답문제를 attention을 이용해 해결해보려는 시도의 논문으로 보입니다.
다 방식으로는 앞서 언급한 "show, attend and tell"에서 soft attention, hard attention을 구별하여
설명하는데 여기서 hard attention의 컨셉은 "DRAW: A recurrent neural network for image generation."논문에서 가져오게 됩니다. 해당 논문에서 selective attention model이라는 것을 제안하는데 N*N 그리드를 기준으로 zoom in, zoom out이라는 컨셉으로 점점 최초 어텐션 기준으로 확장시켜나가며 학습해나가는 모델을 제안하였습니다.
그리고 "Deep Visual-Semantic Alignments for Generating Image Descriptions"에서는 RCNN으로 생성한 구역 feature를 segment alignments라는 이름의 attention으로 사용하고 있는데
그 모습은 아래와 같이 논문에서 설명합니다. 다른 attention모델에서는 RNN모델이 1차원적인 반면 RCNN feature와 함께 RNN을 연결하여 다차원적인 stacked한 모델을 사용하여 image caption model을 구현하였습니다.
"Deep reinforcement learning-based image captioning with embedding reward"에서 제안한 방법으로는 word embedding을 reward일종의 attention으로써 사용합니다.
이렇듯 다양한 방법으로 attention이라는 수단을 구현하고 때에 따라 RNN모델 자체를 수정하기도 하는데 최조로 제안되었던 방법의 경우는 image embedding 백터를 시작으로 word embedding 각 단어들을 RNN의 input으로써 넣어주는데 "Generating images from captions with attention" 해당 논문의 경우는 반복적으로 image embedding을 input으로 넣어주고 별도의 RNN을 하나 더 두어 concat해서 모델을 구성합니다.
RNN을 사용하지 않고 deep convolution을 이용해 image caption을 해보려는 시도도 있는데 "Multimodal convolutional neural networks for matching image and sentence"해당 논문에서는 RNN을 사용하는 대신 word embedding과 각 해당하는 image embedding을 concat하고 Convolution 연산을 반복하는것으로 RNN사용을 회피하려는 시도의 논문입니다.
다양한 방법으로 image caption model을 구현해보려는 시도의 논문들을 읽어보았고 큰 틀에서
image CNN (- attention ) - word embedding - output caption 의 순으로 모델이 설계 되고
1. image embedding
2. attention
3. word embedding
4. RNN model
4가지 차이점으로 모델들이 다양한 변화를 주려는 시도를 하는 것을 재미있게 보았습니다. 해당 4가지 색션에 관련하여 더 다양한 논문들을 읽어볼 더하여 GAN과 관련된 논문들도 읽어볼 예정입니다. 읽어본 논문들을 토대로 다음 차시까지 새로운 모델을 제안해보고 설계해보려고 합니다.