인공지능/공부

설명 가능한 인공지능 CAM - 개념

이게될까 2023. 12. 14. 13:27
728x90
728x90

기존 CNN, FCN은 설명이 불가능하다.(출력만 나온다. API)

CNN에서 중요한 부분은 높은 가중치를 받는다. -> 이걸 확인하면 우린 네트워크를 설명할 수 있다.

CLASS ACTIVATION MAP - CAM

우린 이러한 이유로 CAM을 만들었고, 사진의 중요한 부분을 찾을 수 있다.

7과 9를 구분하는데 중요하게 생각하는 지점이 빨간색으로 표시되었다.
CAM의 또 다른 예시
기존 CNN구조

기존 CNN구조는 위와 같이 Featrue extraction -> FCN으로 진행되어 우리가 무것을 어떻게 보고 설명하는지 판단할 수 없다.

728x90

CAM네트워크의 기본 구조이다.

CAM에선 CNN의 flatten 전에 오메가(학습파라미터)를 사용하여 한개의 필터로 합친다. 그것이 class Activation MAP이다. 그것을 통해 우린 어디가 중요한 부분인 지 알수 있고, 그 map을 통해 classfication도 할 수 있다.

여기서 처음알았는데 CNN에서는 flatten을 사용하고 CAM에서는 glovalaveragepooling를 사용한다고 한다. 나는 여태까지 혼동해서 사용한 것이다....

근데 glovalaveragepooling을 사용하면 채널당 평균값 하나만 나오는데 어떻게 activation map이 남을까?
흠...

어려우면 실습이지 바로 작성하겠씁니다.

2023.12.14 - [소프트웨어] - CAM 실습 - MNIST, TensorFlow

 

CAM 실습 - MNIST, TensorFlow

import numpy as np import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Model from tensorflow.keras.layers import Input, Conv2D, BatchNormalization, Activation, GlobalAverag

yoonschallenge.tistory.com

 

2023.12.14 - [인공지능/공부] - 생성형 인공지능 Autoencoder - 개념

 

생성형 인공지능 Autoencoder - 개념

여태까지 FCN, CNN, CAM 모두 supervised learning였다. 즉 지도학습으로 input(data)와 정답(label)이 주어지는 학습이었다. 그러나 오늘 다룰 Autoencoder는 label이 없는 즉 정답이 input인 unsupervised learning이다. 나

yoonschallenge.tistory.com

 

728x90

'인공지능 > 공부' 카테고리의 다른 글

생성형 인공지능 Autoencoder - 개념  (43) 2023.12.14
CAM 실습 - MNIST, TensorFlow  (0) 2023.12.14
CNN - 기본 개념  (32) 2023.12.13
인공지능 기말 자료  (0) 2023.12.13
인공지능 중간고사 개념 정리  (0) 2023.12.13