Hello Computer Vision

GRN(Global Response Normalization)에 대한 이해(LRN을 곁들인) 본문

딥러닝

GRN(Global Response Normalization)에 대한 이해(LRN을 곁들인)

지웅쓰 2023. 2. 18. 13:49

ConvNextV2 관한 논문을 읽고 있는데 저자들이 GRN을 적용시켰다고 하는데 이를 한번 가볍게 이해해보고자 기록으로 남기려 한다.

(다른 분들의 도움을 받을라 했는데 다른 포스팅들이 없어 순전히 논문 설명만을 기대었습니다)

 

이전에 AlexNet에서 LRN(Local Response Normalization)이 쓰인적이 있던 것이 기억났다.

기억이 잘 나지않아 다시 한번 살펴봤는데 활용요소는 비슷한 거 같아서 GRN이해를 위해 설명 해보려고 한다.

 

LRN이란?

Local Response Normalization의 줄임말이다.

다른 분들의 글들을 보면 다음과 같은 그림으로 설명한다.

 

그림을 잘 보면 검은색 사각형들이 다수 포진해있는걸 확인할 수 있는데 이러한 검은색 도형들로 인해

사이사이에 있는 회색 모양들이 잘 보이지 않는다. 이러한 현상을 CNN에도 적용한다면

강한 특징들이 있다면 그 주위에 있는 약한 특징들이(중요할 수도 있는) 두드러지지 않을 수 있다.

또한 AlexNet에서는 ReLU를 사용하기 때문에 높은 input이 들어와도 그대로 내보내기 때문에

강한 특징이 들어온다면 이러한 특징을 주위 값들을 고려해 억제하는 것이 LRN이다.

 

GRN이란?

Global Response Normalization의 줄임말이다.

GRN을 쓴 목적은 "feature collapse" 를 없애기 위해서 사용했다고 합니다.

feature map사이에서 어느 픽셀은 너무 santurate하고 어느 픽셀은 dead한 것이 많다고 합니다.

그 결과를 이러한 표를 활용해서 보여줍니다.

따라서 이러한 현상을 줄이기 위해 GRN을 사용한다고 합니다. 결국 쓰는 목적은 LRN과 비슷한 거 같습니다.

적용되는 형태 또한 LRN과  비슷하지만 조금 더 간단하게 수행됩니다.

 

3차원의 이미지를 1차원의 벡터로 변환후 각 채널의 값을 전체 값의 L2 norm을 이용해 정규화 해줌을 알 수 있다.

논문에 나온 알고리즘은 다음과 같다.

 


 

최근 논문이어서 그런지 GRN에 대한 설명이 없어 한번 알아봤는데요, 틀린 점이 있다면 지적바랍니다.

'딥러닝' 카테고리의 다른 글

CNN의 Inductive Bias  (0) 2023.03.23
CNN 에서의 subsampling  (0) 2023.03.09
einops rearrange 공부해보기  (0) 2023.02.10
Dilated Convolution 이란  (0) 2023.01.17
Convolutional Neural Network 특징  (0) 2023.01.05