📌목차
1. ShuffleNet 개요
✔️ 기억할용어
- Grouped Convolution
- Channel Shuffle
📕 ShuffleNet 개요
ShuffleNet
- MobileNet의 발전된 형태를 지님 (모델 경량화 목적!)
- MobileNet의 구조를 기본적으로 사용
- 1x1 convolution이 거의 모든 연산량과 파라미터를 차지하는데, 이 연산량을 더 줄이기 위해서 1x1 convolution을 더 줄이려는 시도
연산량을 더 줄이기 위한 시도
- Grouped Convolution : 채널을 분할해서 고려
- Channel Shuffle : 전체적으로 다 고려하기 위해 섞어줌
📖 Grouped Convolution & Channel Shuffle
(a) 입력이 들어오면 채널을 그룹별로 나누며, 나누어진 그룹마다 Convolution을 진행
- 나누어진 그룹에 해당하는것만 학습하게 됨. (독립적인 느낌)
(b,c) 모든 채널에 대해 학습이 되기 위해 동일하게 사용되게끔 섞어줌
📖 ShuffleNet Units
(a) MobileNet에서 Skip Connection 추가한 것
(b) ShuffleNet Units
- Grouped Convolution 사용
- Channel Shuffle 사용
(c) stride 2로 두고 사이즈줄인것과 3x3 avg pooling 결과를 concat
📚 Reference
https://sotudy.tistory.com/16