본문 바로가기

Deep Learning/Convolution Model

[딥러닝 모델의 결정처리과정 이해 1단계-시각화] Understanding Anatomy Classification Through Attentive Response Maps 논문 정리

Understanding Anatomy Classification 

Through Attentive Response Maps


저자 : Devinder Kumar, Vlado Menkovski, Graham W.Taylor, Alexander Wong

(ISBI 2018)



* Abstract

- CNN과 같은 딥러닝 기반의 모델의 광범위한 채택을 위한 수많은 도전과제 중 하나는 딥러닝 모델들이 

  결정을 어떻게 내리는지(딥러닝 모델은 Black box 이기 때문)에 대한 이해


- 본 논문은 "fractional stride convolution"기법을 통해 얻은 "Attentive Response Map"을 통해 

  모델의 내부 activation값 들을 시각화할 수 있도록 새로 설계한 CNN모델을 소개하며, 얻은 결과들을 

  의학 보고서에 있는 imaging landmark들과 비교하는 실험을 진행함 


- 본 논문을 통해서 충분히 deep하고 capable한 모델들은 human expert들이 사용하는 medical 

  landmarks들과 동일한 수준의 정보 활용이 가능하도록 학습하는 것이 가능하다는 것을 보임 


* Introduction

- 분류를 수행하는 DNN의 결정처리과정(Decision process)을 이해하는 것은 방대한 량의 파라메터 수와

  분산적인 방식으로 정보를 internally 하게 표현하는 모델의 경향으로 인해 아직도 도전과제로 남아있음


- 분산 표현은 모델이 일반화(generalize; regularization참고)를 잘 할 수 있도록 수용력(capability)에 

  이득을 가져다 주지만, 모델의 추론을 communicating하는데 어렵게(모델에 어떤 정보가 활용되고, 

  어느 특정 출력에 도달하는지 표현하는 것이 어려운)만듬


- 헬스케어 같은 모델의 결정처리과정의 이해가 필요한 분야에서는 이러한 문제의 해결이 시급한 상황


- 기존의 접근법

    -> CNN이 내부적으로 정보를 어떻게 처리하는지 알기 위해 시각화를 하는것

         + Visualizing and Understanding Convolutional Networks 논문 참고 

            (Deconvolution을 제안, deconvolution은 사실 잘못된 표현이고, fractionally stripped convolution 이나 transposed convolution이라고 

             표현하는 것이 맞다고 함)

            (이 논문에서 제안된 fractionally strides convolution 기법을 기반으로 하며, anatomy 분류 문제에 적용시켜본 논문임)


         + Understanding deep image representations by inverting them 논문 참고


         + Learning Deep Features for Discriminative Localization 논문 참고 

            (Class Activation Map제안)

    -> 이미 기존에 존재하는 모델 출력의 민감도에 대한 여러 saliency map 기법들은 전문가가

         communicate 하기에 여전히 명확한 표현을 제공해주지 못함. 


- 논문의 접근 

    -> 겹쳐진 이미지의 마지막 convolutional layer로부터 추출된 maximally activated

       feature map들을 통해 형성된 attentive response map들로 시각화를 수행할 것

    

    -> 이러한 접근은 모델의 결정처리 과정에 활용되는 이미지로부터 추출된 정보를 communicate하기 위한

         가장 informative하고 effective한 방법이라고 저자들은 생각함.


* Approach 

(이 논문은 기존에 존재하던 기법을 다른 도메인에 적용시킨 논문으로써 논문 전반에 related work에 대한 내용을 녹여서 해당 Paragraph가 없는 것 같습니다)


- CNN 모델의 결정처리과정을 이해하기 위해 서로 다른 세 가지 CNN모델을 설계함

    -> 1. shallow CNN

            [2 Conv layers -> 1 Max-pooling (with dropout) -> 1 FC layer (with dropout) -> 1 Softmax layer]


    -> 2. Deeper CNN without data augmentation

            [2 Conv layers -> 1 Max-pooling (no dropout) -> 2 Conv layers -> 1 Max-pooling (no dropout)

             -> 3 Conv layers -> 1 Max-pooling (no dropout) -> 3 Conv layers -> 1 Max-pooling (no dropout)

             -> 2 FC layers (no dropout) -> 1 Softmax layer]


    -> 3. Deeper CNN with data augmentation

            [2 Conv layers (batch norm) -> 1 Max-pooling (no dropout) -> 2 Conv layers (batch norm) 

             -> 1 Max-pooling (no dropout) -> 3 Conv layers (batch norm) -> 1 Max-pooling (no dropout) 

             -> 3 Conv layers (batch norm) -> 1 Max-pooling (with dropout)

             -> 2 FC layers (with dropout) -> 1 Softmax layer]

            (Data Augmentation은 "visual instance retrieval with deep convolutional networks" 논문을 참조)

[ 그림 1. 서로다른 3가지 CNN모델의 구조 ]

- 저자들은 위의 세가지 모델을 훈련시킨후, CNN의 의사처리결정에 어떤 anatomy class로부터의 어떤 이미지의 

  어떤 부분이, 특히 공간적으로 분산된 어떤 정보가 활용되는지를 조사함


- 조사는 위 세가지 모델들의 마지막 Convolutional layer의 top-n most activated unit들로부터 

  attentive response map들을 구성하여 시각화 함으로써 이루어짐

  (이때, top-n 유닛들은 네트워크가 '중요'하다고 판단하는 이미지의 특정 부분들을 시각화 하기 위해 활용되는 것)

  => Max pooling이기 때문에 활성화가 크게 될 수록 중요한 정보를 담고 있을 확률이 클 것으로 생각됨.


- Attentive Response Map을 구성하는 과정

    -> top-n unit들의 activation을 이미지 공간으로 back projection함으로써 가능

    

    -> input space로의 Back projectionfractionally strided convolution 이나 transposed convolution

        혹은 잘못된 용어지만 deconvolution이라고 부르는 기법을 통해 구현가능

========================================================================================

이 논문에서는 "Explaining the Unexplained: A Class-Enhanced Attentive Response (CLEAR)" 이라는 

논문에서 제안한 CLEAR이라는 기법의 접근과 용어들을 차용하였다고 밝힘.


CLEAR는 class based map을 기반으로 CNN이 prediction을 내린이유를 설명하는 것을 제안하는 방법론으로 

꽤 효과적이지만, 대규모의 클래스로 이루어진 데이터셋이나 large scale의 분류를 수행해야하는 딥러닝 모델에

적용하는 것이 어렵다.  

[ 그림2. CLEAR map을 생성하는 과정 ]



 ========================================================================================


    -> Attentive Response Map의 formulation은 다음과 같음

        + 단일 layer로 고려할때, 


       이때, layer l 에 대해서 convolution연산과 summation 연산을 단일 convolution 행렬 G1으로 결합시킬 수 

       있는데, 이를 적용하면 다음과 같은 식이 얻어짐


        + multi-layered CNN으로 고려하면, 위 단일 layer 상황에서 고려했던 formulation에 un-pooling operation 

          U를 추가하여 생각해야함.

========================================================================================

Un pooling이란, 'Visualizing and Understanding Convolutional Networks'에 따르면, 

CNN의 max pooling 연산은 non-invertible하다고 함. 

하지만 switch variable의 set에 있는 pooling region과 함께 maxima의 location 정보를 기록함으로써 inverse에 

근사한 값을 얻을 수 있다고 함. (switch variable는 convnet의 max pooling을 통해 생성되는 요소들, 논문 참고)


즉 이 논문에서 제안하는 Deconvnet에서 un pooling operation은 switch 변수들을 활용하여 feature를 다시 원래의 

상태로 재건하기 위한 연산을 의미


[ 그림 3. Unpooling을 통해 feature map을 image로 reconstruction하는 과정 ]


========================================================================================

 

       따라서 multi-layer 네트워크의 l번째 레이어에서, feature space에서 input space로 back projection 함으로써 

       얻어지는 deconvolved output response를 계산하는 식은 다음과 같음.



.       + Attentive Response Map을 얻기 위해선 먼저 마지막 conv 레이어의 개개인 유닛들로부터 output response를 

          계산해야함


        + n top activated unit들을 포함하는 마지막 레이어 L을 통해 attentive response map을 계산하는 아래의 식을 

          통해 individual attentive map을 얻음.



        + 이제 계산된 individual response map들을 사용하여 attentive response level을 최대화하는 각 pixel값을 

          찾는 dominant attentive response map을 다음 식을 통해 계산할 수 있음.


[ 그림 4. Attentive Response Map을 구하기 위한 전체과정의 흐름 ]


- 이제 dominant attentive response map을 시각화함으로써 얻은 region들과 medical radiology literature

  (의학 방사선 연구보고서)에 언급된 image landmark들의 모양과 identified region과의 correlation을 분석함


- 질적인 평가에서, 의학 연구보고서에 묘사된 것과 동일한 수준의 land mark가 CNN에 활용 가능하다는 것을 입증

  했다고 함

  (예를 들어, background information없이 뼈의 특정 윤곽을 활용하여 이미지내의 장기를 detection하는 것의 

   가능성을 확인)


* Experiments and Results

- X-ray이미지들을 사용하여 Anatomy classification을 수행


- Clef 2009 -Medical Image Annotation task에서 제공된 데이터 셋을 활용

    -> Clef 2009 데이터셋 

        (상세한 anatomical 분류와 함꼐 clinical routine을 위한 wide range X-ray 이미지들로 구성)


    -> Bias없이 uniform하게 학습시키기 위하여, 계층적인 클래스의 표현과 50개 미만의 샘플들로 구성된 클래스는 

        학습데이터 셋에서 제거


    -> 최종적인 학습셋은 24개의 서로 다른 클래스(foot, knee, hand, cranium, thoracic spine, etc.. )로 구성

    

    -> 모든 이미지들은 모델에 입력되기 전 224x224로 resize됨


    -> Evaluation을 위하여 ImageClef 데이터셋(14676개의 이미지로 구성)에서 랜덤한 방식으로 9:1로 나눔

        (9는 학습 1은 테스트)


    -> 세번째 모델의 경우 data augmentation의 수행은 cropping, rotation, translation, shearing, stretching, 

         flipping 을 사용


- 세개의 서로다른 모델의 ImageClef 2009 Annotation task에 대한 학습 결과



- 학습된 모델의 테스트 데이터에 대한 internal activation을 attentive response map을 사용하여 시각화 수행

    -> 마지막 convolution 레이어로부터 top n = 25 units의 attentive response map들을 결합한 후, 그 결과값을 

        original image에 overlay 시킴


    -> 이러한 방식으로 human expert에게 쉽게 examine될 수 있는 focused된 attentive response map들을 구성함


    -> 25라는 수는 경험적으로 채택됨


[ 그림 5. Attentive response map과 medical literature로부터의 anatomical landmark의 일치도를 확인할 수 있음 ]


  

[ 그림 6. shallow 나 data augmentation없이 학습된 deep network는 specific한 landmark를 학습하는데 실패함 ]


            

- 위의 결과들을 통해 Data augmentation 이 추가로 수행되고 학습된 Deep CNN 만이 human expert 수준의 

  medical landmark들을 활용하여 학습하기에 충분한 모델이라는 결론을 얻음


* Conclusion

- CNN의 결정처리과정을 평가하는 것이 가능하도록 하는 접근방법론을 제안


- Attentive Response Map 시각화를 통해서 도메인 지식을 통합하고 전반적으로 관리함으로써 더 많은 정보에 입각한 결정처리를 

  달성함으로써 결과적으로 모델이 우수한 성능을 갖게 됨이라고 주장함.