CNN visualization Image - Low level feature map - mid level - high level -> output inference Image Filter visualization(first conv layer) Activation visualization(first conv layer) Model을 이해하기 위한 노력 vs data를 분석하기 위한 노력 Analysis of model behaviors - NN(Nearest Neighbors) search in feature space 모델자체의 연산 분석 High level 해석 - 보통 FC layer를 잘라서 feature map을 보는식으로 진행 - backbone에서 나온 결과를 해석하기위해서 Dimentionality reduction 연.. 2023. 12. 5. [Grad-CAM] 간단히 발표용 자 이제 저는 Guided Bakcpropagation에 대해 자세히 파보고, 그 뒤로 전체 코딩으로 완성해보겠습니다. 2022. 2. 16. [Grad-CAM] How? ; Section 3.2 Grad-CAM이 class-discriminative 하고 그 class에 연관된 image regions을 알려주지만, fine grained detail (pixel 공간의 gradient 시각화)을 highlight 해 주는 역할은 할 수 없습니다. Guided Backpropagation은 이미지에 대한 gradient들을 시각화해 줍니다. 직관적으로, Guided Backpropagation은 neuron들에 의해 찾아진 pixel들을 capture 하는 것을 목적으로 합니다. 위 그림을 보시면 아시겠지만 Grad-CAM이 해당 이미지에서 cat부분을 찾아 준것을 알 수 있습니다. 하지만 해당 heat map이 왜 네트워크(모델)가 이것을 tiger cat이라고 예측했는지는 정확하게 알 수 없.. 2022. 2. 8. [Grad-CAM] How? ; Section 3.1 Grad-CAM generalizes CAM => Grad-CAM 이 CAM을 커버할 수 있다 로 이해하시면 무리 없습니다. paper에서 Grad-CAM이 CAM을 generalize 한다는 formal 한 증명을 준다고 하니 한번 자세히 들여다봅시다. 우선 CAM의 논리가 무엇인지 자세히 들여다보겠습니다. CAM은 Global Average Pooling 와 Softmax 두 개의 layer가 직접적으로 연결돼있는 CNN모델에서만 loclization map을 얻을 수 있습니다. 자세히 적으면, 뒤에서 두 번째 layer가 K개의 feature maps를 생성한다면, \( A^k \in \mathbb {R}^{u \times v}\), 이 feature maps들에 index \( i, j \)를 .. 2022. 2. 8. [Grad-CAM] How? ; Section 3 detail \(L_{Grad-CAM}^c =\frac{1}{I\times J} ReLU(\sum\limits_{k=0}^{K-1} \sum\limits_{i=0}^{I-1}\sum\limits_{j=0}^{J-1} \frac {\partial y^c}{\partial A_{i, j}^k} A^k) \) 식을 이제 더 자세하게 파봅시다. 우선 \( L_{Grad-CAM}^c\) 의 사이즈는 \( A^k\)의 사이즈와 동일하다고 합니다. 그렇다면 우리가 확인해야할 부분은 \( \frac {\partial y^c}{\partial A_{i, j}^k} A^k \) 입니다. \( \frac {\partial y^c}{\partial A_{i, j}^k} A^k \) 이 계산 결과 값이 \(A^k\)와 크기가 동일하다는 얘.. 2022. 1. 26. [Grad-CAM] How? ; Section 3 Section 3. Grad-CAM Convolutional layers은 spatial 한 information 즉 feature map을 얻는데 이는 fully-connected layer에서 없어집니다. 이는 곧 convolutional layer의 결과가 object parts의 정보를 제공한다는 의미로 해석될 수 있습니다. Grad-CAM는 각각의 neuron이 particular decision of interest에 importance values를 assign 하기 위해 CNN의 마지막 convolutional layer로 흘러들어오는 gradient information을 사용합니다. 자! 글쓴이가 원하는 바가 소개됐네요. CNN의 마지막 convolutional layer에서 계산되는 .. 2022. 1. 24. [Grad-Cam] What? ; Section 1, 2 https://arxiv.org/pdf/1610.02391.pdf Grad-Cam이 소개된 논문입니다. 제목은 Grad-CAM : Visual Explanations from Deep Networks via Gradient-based Localization 입니다. 참 명료하고 매력적인? 제목인것 같습니다! 제목만 보고도 무슨 내용인지 알 것 같은 동시에 확 궁금해지는 그런~ 제목에서 부터 알수있다 싶이 목적은 CNN의 시각적 설명입니다. 이를 통해 CNN 모델이 transparent and explainable해진다고 설명하네요 (XAI에서 사용되는 jargon입니다.) 지난번 포스팅에서 언급드렸다 싶이 CAM의 개념을 활용하고싶을때 Global Average Pooling layer가 필요했었는데, .. 2022. 1. 24. [Grad-Cam] Why? Grad-Cam은 Cam의 개념에서 확장된 것입니다. 그렇다면 Cam을 먼저 이해할 필요가 있겠죠? CAM = Convolutional Activation Map의 약자입니다. Convolution의 결과가 어떻게 활성화되는지 시각화시켜주는 툴이라고 생각하시면 편합니다. CNN을 조금 접해보신 분들은 아래의 그림들을 한번쯤은 보셨으리라 생각합니다. 직관적으로 '이미지의 어떤부분을 보고 분류를 하였느냐!'입니다. 기존에 뭐때문에 CNN의 성능이 좋은지 몰랐던 부분을 이해하기 위한 시도라고 생각하시면 무리 없습니다. 근데 이런 CAM에는 치명적인 단점이 있는데요 모델 내부 layer에 Global Average Pooling이 반드시 포함되어야 한다는 것입니다. 이를 극복하기 위해 나온 개념이 Grad-Ca.. 2022. 1. 24. 이전 1 다음