본문 바로가기
Have Done/Grad-Cam

[Grad-CAM] How? ; Section 3 detail

by 에아오요이가야 2022. 1. 26.

\(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\)와 크기가 동일하다는 얘기겠지요?

 

그렇다면 \(A^k\)의 사이즈가 \(u \times v\) 였기 때문에 

 

\(\frac {\partial y^c}{\partial A_{i, j}^k}\)에 대한 궁금증이 생겨서 자세하게 풀어보겠습니다.

 

우선 \( i, j \) 를 자세히 한번 풀어 써보도록하겠습니다.

 

\(\frac{\partial y^c}{\partial A^k_{i,j}} = \left( \begin{array}{cc} \frac{\partial y^c}{\partial a^k_{0,0}} & ... & \frac{\partial y^c}{\partial a^k_{0,v-1}}\\ ...&...&...\\ \frac{\partial y^c}{\partial a^k_{u-1,0}} & ...&\frac{\partial y^c}{\partial a^k_{u-1,v-1}}\end{array} \right)\) 다음과 같이 적을수 있겠죠?

 

이 사이즈는 \( u \times v \) 겠죠? 오 그럼 \( (u \times v) \) \(\times\)  \( (u \times v) \) 꼴이네요?!! 

 

이게 곱셈이 되는거냐!!!! 예 뭐 되겠죠 왜냐면 Activation feature map은 대부분 가로 세로 사이즈가 동일하그든여 ㅋㅋ 

 

자 그럼 \(A^k\) 도 적어보겠습니다.

 

\( A^k = \left( \begin{array}{cc}  a^k_{0,0} & ... & a^k_{0,v-1} \\ ...&...&...\\ a^k_{u-1,0} & ...&a^k_{u-1,v-1}\end{array} \right) \)

 

\(\frac{\partial y^c}{\partial A^k_{i,j}} \times A^k= \left( \begin{array}{cc} \frac{\partial y^c}{\partial a^k_{0,0}} & ... & \frac{\partial y^c}{\partial a^k_{0,v-1}}\\ ...&...&...\\ \frac{\partial y^c}{\partial a^k_{u-1,0}} & ...&\frac{\partial y^c}{\partial a^k_{u-1,v-1}}\end{array} \right) \times \left( \begin{array}{cc}  a^k_{0,0} & ... & a^k_{0,v-1} \\ ...&...&...\\ a^k_{u-1,0} & ...&a^k_{u-1,v-1}\end{array} \right) \)

 

자~~, \(i,j\) 에 대해 풀어써봤습니다.

 

식을 다시 써볼까요? 어지럽지만 버텨봅시다.

 

\(L_{Grad-CAM}^c =\frac {1}{I \times J} ReLU(\sum\limits_{k=0}^{K-1}  \left( \begin{array}{cc} \frac{\partial y^c}{\partial a^k_{0,0}} & ... & \frac{\partial y^c}{\partial a^k_{0,v-1}}\\ ...&...&...\\ \frac{\partial y^c}{\partial a^k_{u-1,0}} & ...&\frac{\partial y^c}{\partial a^k_{u-1,v-1}}\end{array} \right) \times \left( \begin{array}{cc}  a^k_{0,0} & ... & a^k_{0,v-1} \\ ...&...&...\\ a^k_{u-1,0} & ...&a^k_{u-1,v-1}\end{array} \right)) \)

 

 

풀다보니까 \(I = u, J=v\)이네요 ㅋㅋ

 

 

이제 \(k\) 도 풀어봅시다. (매우 어지러울 예정)

 

\(L_{Grad-CAM}^c =\frac {1}{I \times J} ReLU( \left( \begin{array}{cc} \frac{\partial y^c}{\partial a^0_{0,0}} & ... & \frac{\partial y^c}{\partial a^0_{0,v-1}}\\ ...&...&...\\ \frac{\partial y^c}{\partial a^0_{u-1,0}} & ...&\frac{\partial y^c}{\partial a^0_{u-1,v-1}}\end{array} \right) \times \left( \begin{array}{cc}  a^0_{0,0} & ... & a^0_{0,v-1} \\ ...&...&...\\ a^0_{u-1,0} & ...&a^0_{u-1,v-1}\end{array} \right) + ... + \left( \begin{array}{cc} \frac{\partial y^c}{\partial a^{K-1}_{0,0}} & ... & \frac{\partial y^c}{\partial a^{K-1}_{0,v-1}}\\ ...&...&...\\ \frac{\partial y^c}{\partial a^{K-1}_{u-1,0}} & ...&\frac{\partial y^c}{\partial a^{K-1}_{u-1,v-1}}\end{array} \right) \times \left( \begin{array}{cc}  a^{K-1}_{0,0} & ... & a^{K-1}_{0,v-1} \\ ...&...&...\\ a^{K-1}_{u-1,0} & ...&a^{K-1}_{u-1,v-1}\end{array} \right)    ) \)

 

막상 보니까 맨 위에 \( \sum\limits\) 로 묶여져 있는 식이 훨씬 보기 좋았죠? ㅋㅋㅋㅋ 

 

근데 저는 꼭 이렇게 풀어써야 이해가 되더라고요~~

 

어떠세요? 이해가 좀 되시나요?

 

'Have Done > Grad-Cam' 카테고리의 다른 글

[Grad-CAM] How? ; Section 3.2  (0) 2022.02.08
[Grad-CAM] How? ; Section 3.1  (0) 2022.02.08
[Grad-CAM] How? ; Section 3  (0) 2022.01.24
[Grad-Cam] What? ; Section 1, 2  (0) 2022.01.24
[Grad-Cam] Why?  (0) 2022.01.24

댓글