NeuroWhAI의 잡블로그

Local Response Normalization 설명...? 본문

개발 및 공부

Local Response Normalization 설명...?

NeuroWhAI 2018. 3. 3. 17:00


CIFAR-10 학습 예제를 보다가 tf.nn.local_response_normalization란 함수를 찾았는데
뭐하는 놈인지 몰라서 검색하면서 정리한 글입니다.


공식 문서의 설명을 보면

tf.nn.local_response_normalization(
  input,
  depth_radius=5,
  bias=1,
  alpha=1,
  beta=0.5,
  name=None
)
이런 파라미터가 있고

이렇게 동작한다고 합니다.

이게 무슨 의미가 있나 싶은데 논문에 따르면
This sort of response normalization implements a form of lateral inhibition
inspired by the type found in real neurons, creating competition for big activities amongst neuron
outputs computed using different kernels.
이런 이득이 있다고 합니다.
영알못이라서 대충 의역하면
인접한 커널의 결과들끼리 이런 연산을 함으로써 측면 억제를 시킬 수 있고
커널간의 경쟁(?)을 창출할 수 있다고 합니다.
사실 뭔소린지 잘 모르겠네요. ㅎㅎ

논문의 공식을 보면 아래와 같습니다.

tf.nn.local_response_normalization 함수의 파라미터랑 대응하자면
input : a
depth_radius : n
bias : k
alpha : α
beta : β
이러합니다.
문서의 동작설명과 공식이 같은 소리를 하고 있다는걸 알 수 있네요.
다만 그 연산을 마지막 input의 차원(d)에 대고 하고 있으니 각 커널들의 출력 결과를 가지고 연산을 한다는걸 알 수 있습니다.


뭐 그러하고요.
실제로 적용해서 에러를 낮췄다는 사례도 있지만 지금은 그리 쓰이지 않는 것 같습니다.
그냥 Batch Normalization 쓰면 될듯...


Comments