Loading...
2023. 6. 24. 01:26

CNN visualization5 - Class Activation Map(CAM) -

1. motivation 주어진 이미지의 어떤 부분을 특히 참조하여 class를 판단했는지 heatmap 형태로 표현 이것의 또 다른 의미는 중요한 부분을 bounding box로 처리하여 사용할 수도 있다는 점 색이 잘 나온 부분을 bounding box로 처리하여 사용할 수도 있다 2. CAM 구조 convolutional layer를 최종적으로 통과하고 나온 feature map을 global average pooling(gap)을 통과시키고 fully connected layer를 통과시켜 task를 하는 부분을 CAM 구조라고 한다 3. idea CNN을 통과하면 k개의 channel을 가지는 feature map이 나온다고 하자 global average pooling이란 그러한 feature..

2023. 6. 22. 01:52

CNN visualization4 - guided backpropagation -

1. motivation CNN에서 일반적으로 ReLU를 사용하여 forward pass를 한다 ReLU는 음수 부분을 0으로 만드는 성질이 있다 이것의 backpropagation은 input단에서 음수부분은 gradient가 존재하지 않는다는 것을 기억한다면 gradient map이 가더라도 gradient가 음수인 부분은 input에서 0으로 masking되어 구해진다 파란색 부분은 input단에서 양수인 부분이라 gradient map에서 gradient 값이 들어올 수 있음 2. Zeiler의 deconvolution 앞에서 backpropagation이 input단의 음수인 부분에서 gradient가 흐르지 않게 만들었는데 input으로 들어오는 gradient map에서 음수인 gradien..

2023. 6. 21. 02:08

CNN visualization3 - occlusion map & backpropagation saliency map

1. occlusion map 1-1) motivation 이제부터는 모형이 특정 입력을 어떻게 바라보고 출력을 내는지 알아볼 것 saliency test라는 것은 각 이미지의 class를 판정하기 위해 모델이 중요하게 생각하는 부분들을 알아보는 과정 1-2) occlusion map 주어진 코끼리 이미지에서 occlusion patch라는 것으로 가려서 모델에 넣어줌 동일한 코끼리 이미지를 서로 다른 occlusion patch로 가렸을 때 각각이 코끼리라고 분류할 조건부 확률을 구해본다면 당연하지만 코끼리로 판단하는데 중요한 부분을 가릴수록 코끼리라고 할 확률이 떨어진다 occlusion patch로 어디를 가리느냐에 따라 score가 다르다. 중요한 부분을 가리면 score가 급격하게 떨어지고 큰 ..

2023. 6. 20. 02:35

CNN visualization2 - layer activation & class visualization

1. layer activation mid level feature와 high level feature를 분석하는 방법 모델의 layer의 activation map을 분석하여 layer가 어디에 집중하고 있는지를 파악하고자 했다 1-1) idea 분석하고자하는 특정 CNN layer의 채널을 선택 예시로 conv5 layer의 256개 채널중 14번째 채널을 선택 convolutional layer의 채널은 이미지를 받으면 그 이미지에 대해서 hidden node들이 얼마나 반응하는지 계산한 activation map을 출력한다 이미지를 넣어서 선택한 layer의 채널의 activation map을 저장 maximum activation value의 receptive field에 해당하는 input i..

2023. 6. 18. 01:18

CNN visualization1 - First filter visualization

1. CNN visualization의 기본 CNN은 단순히 학습가능한 convolution layer와 nonlinear activation의 연속으로 이루어진 연산기 학습을 잘하면 인간 성능 이상으로 좋은 성능을 보이기도 하는데 도대체 왜 잘되는 걸까? 단순히 학습을 하니까? 학습을 통해 convolution filter은 도대체 무엇을 배우길래 잘하는 걸까? 혹은 어떤 경우는 쉽게 안되는 경우도 많고 성능도 잘 안나오는 경우도 많은데 그것은 왜 안되는걸까? CNN이라는 건 입력이 주어지면 출력이 나오는 black box같은 기계로 생각할 수 있다 왜 안되는지 알고자 그 안을 뜯어보면 복잡한 가중치와 복잡한 연결들로 이루어져 사람이 이해하기가 어렵다 만약 CNN안에서 무슨 일이 일어나는지 사람이 이해..

2023. 6. 17. 01:48

object detection 모델인 RetinaNet과 DETR(DEtection TRansformer) 핵심 아이디어

1. RetinaNet 구조 backbone인 ResNet에서 feature를 뽑아감 low level feature와 high level feature를 모두 활용하기 위한 3단? Feature pyramid network 활용 심지어 multi scale object detection에 더욱 잘 대응하기 위해 각 단계에서 모두 detection을 사용 각 단계에서 2가지 branch로 들어가는데 각각 object classification과 box regression을 수행한다 ResNet에서 feature를 뽑아가면서 마지막 단계의 feature부터 low level feature를 다시 합쳐나간다 합쳐나가는건 concat이 아니라 더하기 심지어 각 단계에서 모두 object classificati..