LRN(Local Response Normalization)
LRN(Local Response Normalization)은 현재는 많이 사용되지 않습니다. 그러나 Image Net에서 최초의 CNN우승 모델인 AlexNet에서 사용했으며 작동방식에 대해 알아보도록 하겠습니다.
LRN을 검색해보면 Local Response Normalization (LRN) layer implements the lateral inhibition한다고 나와있습니다.
lateral inhibition이란 무었일까요?
"측면 억제(lateral inhibition)는 신경생리학 용어로, 한 영역에 있는 신경 세포가 상호 간 연결되어 있을 때 한 그 자신의 축색이나 자신과 이웃 신경세포를 매개하는 중간신경세포(interneuron)를 통해 이웃에 있는 신경 세포를 억제하려는 경향이다".
잘...이해가 되지를 않습니다. 우선 이 그림을 한번 보겠습니다. 측면 억제의 유명한 그림인 헤르만 격자입니다.
검은사각형안에 흰색의 선이 지나가고 있습니다. 신기한 것은 흰색의 선에 집중하지 않을 때 회색의 점이 보이는데 이러한 현상이 측면 억제(lateral inhibition)에 의해 발생하는 것 입니다. 이는 흰색으로 둘러싸인 측면에서 억제를 발생시키기 때문에 흰색이 더 반감되어 보입니다.
다시 AlexNet의 LRN(Local Response Normalization)로 돌아오겠습니다.
그렇다면 AlexNet은 왜 측면 억제(lateral inhibition)를 사용했을까요? 바로 ReLU의 사용때문입니다.ReLU는 양수의 방향으로는 입력의값을 그대로 사용합니다.그렇게되면 CONV나 POOLING시 매우 높은 하나의 픽셀값이 주변의 픽셀에 영향을 미치게되겠죠? 이런 부분을 방지하기 위해 다른 ActivationMap의 같은 위치에있는 픽셀끼리 정규화를해줍니다. 이것이바로 AlexNet에서사용되는 LRN이죠.
텐서플로우에서 LRN을 사용하려면 tf.nn.local_response_normalization을 통해 사용할 수 있지만 현재는 Batch Normalization을 사용합니다. 조금 더 깊게 공부하고 싶으신분은 아래 공식을 보시면 될 것 같습니다.
'데이터분석 > vision' 카테고리의 다른 글
VGGNet using keras (0) | 2019.11.07 |
---|---|
AlexNet using keras (0) | 2019.11.06 |
LeNet-5 using keras (0) | 2019.10.30 |
Lecture 9: CNN Architectures (0) | 2019.10.27 |
Lecture 7: Training Neural Networks, part I (0) | 2019.10.17 |