Hello Data

GRNGlobalResponseNormalization에 대한 이해LRN 본문

딥러닝

GRNGlobalResponseNormalization에 대한 이해LRN

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

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

 

이전에 AlexNet에서 LRNLocalResponseNormalization이 쓰인적이 있던 것이 기억났다.

기억이 잘 나지않아 다시 한번 살펴봤는데 활용요소는 비슷한 거 같아서 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