수업
SegNet 이 conv만 써도 되나요?
- 성능향상이 목표가 아니라 속도 향상이 목표이기 때문에 상관이 없다.
DeconvNet과 비교하여 SegNet의 마지막 layer에서 3x3 conv를 사용한 이유

논문에는 정확한 이유가 설명되지 않는데 instructor의 생각은 다음과 같다.
DeconvNet의 decode 마지막을 보면 unpooling, deconv, deconv 후에 1x1 conv layer를 사용한다.
SegNet은 unpooling, conv 후에 3x3 conv layer를 사용한다.
DeconvNet에서 두번의 deconv layer와 1x1 conv를 SegNet에서 한번의 conv layer와 3x3 conv layer로 바꿔서 연산량이 줄어 좀 더 빨라지는 효과를 얻은게 아닐까 라고 생각된다.
이 부분은 정확한 설명이 없는데 아마 실험에 의해 마지막 layer로 3x3 conv를 사용했을 것이라 추측된다.
강의에서는 3x3 conv로 바꿨을 때 속도가 향상되었다고 설명하지만 질문과 답변을 통해 이는 잘못된 것이라고 말씀해주셨다.
1x1 conv의 parameter가 3x3 conv의 1 / 9배이므로 속도가 좀 더 빠르다.
3x3만 쓰다가 왜 7x7을 쓸까?
- 학습을 시킬 때 원본 이미지를 224x224를 썼는데 pooling 5번으로 딱 32가 줄어서 7x7상태가 되어 있어서 전체 크기 만큼 커널 사이즈를 설정했다.

- 가운데 부분의 커널의 크기와 구조가 다르지만 input image의 size가 224x224임을 볼 수 있다 .
DilatedNet은 왜 중간에 7x7을 쓸까요
협업