해결된 질문
작성
·
210
0
안녕하세요! 질 좋은 강의에 감사 인사부터 드립니다! 다름이 아니라 해당 강의 7:49초 부터 AlexNet 구현 코드를 설명해주시는데요! 이론적인 부분에서 원래 Alex Net이 LRN(Local Response Normalization)이 적용되지만 구현코드 상 BN을 적용하는 걸로 설명해주셨습니다!
그런데 BN layer 코드를 자세히 보니 AlexNet 구현 과정에서는 '컨볼루션 -> 활성함수 -> BN 적용' 순서로 되어 있더라구요? 물론 이 과정이 잘못되었다는 건 아닌데 보통 '컨볼루션 -> BN 적용 -> 활성함수' 과정으로 진행하는게 대부분 더 모델 최적화에 긍정적인 영향을 미친다고 알고 있어서요! 제가 AlexNet 논문까지는 확인을 안해보았지만 논문 상에서도 LRN(실습 코드에서는 BN)이 활성함수 이후에 적용되는 순서로 되어 있는지 문의드려도 될까요!?
답변 1
1
안녕하십니까,
잘 아시다시피 Batch Normalization은 AlexNet이후에 나온 것입니다. AlexNet은 LRN(Local Response Normalization)을 적용하였는데, LRN은 Tensorflow에서 지원되지 않아서 이와 유사한 Batch Normalization을 적용합니다.
말씀하신대로 보통 BN은 Conv->BN->Activation 형태로 적용됩니다. 다만 AlexNet은 Conv->Activation 이후에 별도의 LRN이 적용되었기에 이를 표현하기 위해 Conv->Activation 다음에 BN을 적용하였습니다.
감사합니다.
답변 감사합니다! :)