Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tell Me Where to Look: Guided Attention Inference Network #11

Open
chullhwan-song opened this issue Jul 3, 2018 · 1 comment
Open

Comments

@chullhwan-song
Copy link
Owner

https://arxiv.org/abs/1802.10171
CVPR 2018

@chullhwan-song
Copy link
Owner Author

chullhwan-song commented Jul 3, 2018

abstract

  • classification결과에 기반한 attention 영역 찾기
    • 보통 여기서는 이러한 개념은 Guided attention map
    • CAM(class activation mapping)같은것이 이런개념에 속함. = 원조라할 수 있음.
    • learnable CAM이라고 할수 있음.
  • 기존 유사 연구에서는 즉, CAM같은것에서는 learning에 의해서 찾는것이 아니라, 학습된 모델을 통해, classification 결과 (softmax)의 값에 따라 backtracking 하여 찾는 결과가 이에 해당.
  • 즉, 여기서는 learning 결과에 의해 찾겠다란게 요지인듯. - self guided
  • 그래서, 기존 Guided attention map 들은 그닥 segmentation등에 도움을 주었지만, 그닥~ 정확하지 않았다.. 우리는 정확히 보다 찾는다란게 요지
  • CNN을 이해하기 위한 목적
    image

network 구조

  • attention
    • rnn
    • cnn
  • cam
    image
  • guided attention inference networks (GAIN)
    image
  • 크게 두가지 구조
    • classification stream image
    • attention mining image <- 이걸 동시에 같이 학습 시키겠다~!
  • image
    • image classification
  • base는 Grad-CAM : attention map 생성 및 image 에대한 학습에 필요한 input값 생성하는 역할
    image
    • 먼저, 클래스 C에 해당하는 클래스 스코어의 gradient를 계산
    • image 에서 분류한 class c에 해당하는(연과된) 이전 layer의 weight들은 feature map에 대한 global average pooling layer (GAP) 에 의해 획득
      image
      • 먼저 softamx값이 획득되어지고,
      • bw 루틴에 의해 획득되어진다는 의미.
      • image 는 the activation of unit k in the l-th layer > activation maps
    • 이에 대한 The attention map image
      image
  • l is the representation from the last convolutional layer
    * The attention map has the same size as the convolutional feature maps
    * 보통 vgg 라면 14x14
    * 이 activation feature map
    * conv feature map
    * 이는 교정되었다는 의미
    * 이전 conv feature map은 그냥 모든 클래스에 해당하는 weight값을 이용하여 구성되었다면, 이는 특정 C 클래스에관련 weight에 대해 activate되어 구성된 conv feature map
    * figure 2에서 보면, 다음에 해당함.
    image
  • attention mining image
    • input image : 위의 image 와 input image의 결합에 의해 발생된, soft mask.
      image
      • image
      • T : sigmoid function, a masking function based on a thresholding operation.
        image
      • our goal is to guide the network to focus on all parts of the class of interest.
      • 이를 위해, 당연히
        image는 target class c에 연관된(속하는) feature을 포함시키도록 강요해야한다.
        • 포함시키도록 학습해야한다는 의미인듯...
      • regions beyond the high-responding area on attention map area should include ideally not a single pixel that can trigger the network to recognize the object of class c. > ??? (이해가안감ㅠ)
        • regions beyond the high-responding area on attention map : attention 확률이 높은 지역이 아닌 영역을 의미하는듯.
      • Attention Mining Loss
        image
        • it is trying to minimize the prediction score of image for class c
        • 내가 이해하기로는, mask로 c에 해당하는 영역을 지웠으니, c가 안나오도록(minimize )
        • 배경분리하려는 network 가 아닌가 생각한다
        • attention영역 finding하려는것을 더 나아가 segmentation
  • final self-guidance loss : image
    image
    • 알파 = 1
  • 여기까지 정리는
    • 두개의 network를 돌린다. 이는 모두다 일반 classification network이다.
      • 하나의 networks는 정상적인 이미지를 받고 분류하는 net이고,
      • 두번째 network는 CAM에 의해 첫번째 network로 분류된 영역이 지워진 mask 이미지를 입력으로 받아. 첫번째 networks에서 분류된 클래스가 아니라고 분류하는 network ?(애매)

image integrating extra supervision

image

  • 부가적으로.. : introduce the extension of GAIN : image
  • 좀더 segmentation을 잘해보려고하는듯~
    • 위의 그림처럼....라벨링된 segmentation 데이터셋을 적용 = Pixel level label
      • 이것은 자세히 보니, 앞에서 설명한 softmask의 역할(사람이 했으니 좀 더 확실하겠지만..)
    • 근데 이럴려면, segmentation 으로 가는게 더 낫지 않나..
      image
      • image : extra supervision, pixel-level segmentation masks in our example case.
      • 1~10%정도 향상
  • 그래서 합치면,
    image
    • image 는 be easily modified to fit other tasks.

Semantic segmentation experiments

image

Guided learning with biased data - Boat experiment

  • why?
    image
    위의 그림에서, Pascal VOC 데이터 세트에서 학습된 결과는 보트라고 예측하지만, sea & water 영역에 포커스되어 있다.
    • 실제적으로 이모델은 올바르게 학습되어 잇다고 볼수 업다는 의미.
    • test dataset에서, “Biased Boat” dataset 이름으로 다음과 같이 두가지 형태로 구성.
      • boat images without sea or water.
      • sea or water images without boats.
        image
    • VOC 2012 36 % > 이 의미는 water은 보트의 성격을 구분짓것으로 작동 = prominent feature characterizing
      image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant