-
(작성중) Grad CAM개발자노트/네이버 부스트캠프 AI 2024. 1. 12. 20:40
CAM
Class Activation Map
이미지 분류 모델에서 이미지의 어느 부분을 보고 class를 예측했는지 시각화
CNN의 마지막 레이어를 FC layer로 Flatten 시키면 각 픽셀들의 위치 정보를 잃게 됩니다. 그래서 Classification의 정확도가 높더라도, 우리는 그 CNN이 무엇을 보고 특정 class로 분류했는지 알기 어렵습니다.
Global Average Pooling을 적용하면 특정 클래스 이미지의 Heat Map을 생성할 수 있고 그 Heat Map을 통해서 어떤 것을 보고 분류했는지 이해할 수 있게 됩니다.그러나 CAM을 사용하기 위해서는 GAP를 사용해야 합니다.
이를 해결하기 위해서 Grad-CAM이 나왔습니다.
Grad-CAM
Gradient-Weighted CAM
목표 클래스의 소프트맥스 점수에 대한 그래디언트를 계산합니다.
이 그래디언트로 해당 클래스의 activation map에 대한 정보를 제공합니다.
gradient를 사용해서 weight를 구합니다.
Grad CAM 구하는 방법
1. Feature map의 각 원소가 특정 class에 주는 Gradient를 구한다.
2. 각 Feature map의 Gradient 평균을 구한다.
3. Feature map과 weight를 선형결합한다. 이때 ReLU를 사용한다.
참고
'개발자노트 > 네이버 부스트캠프 AI' 카테고리의 다른 글
모델 앙상블 기법 - NMS, WBF (0) 2024.01.16 [네부캠 AI tech] 10주차 주간회고 (01/08~01/12) (1) 2024.01.12 [wandb] 팀 세팅, mmdetection 3에서 팀 초대하는 방법 (0) 2024.01.12 [fix] mmdetection + wandb 연동 후 에러 해결 (0) 2024.01.09 [네부캠 AI tech] 9주차 주간회고 (01/03~01/05) (0) 2024.01.05