1. Depthwise Convolution
아래 그림처럼 8x8x3 Matrix를 각 채널별로 분리시킨뒤 3x3 커널로 Convolution을 진행한뒤 다시 합치는 구조를 갖음. 즉 채널 방향으로는 Convolution을 하지 않고, 공간방향(Width x Height) 으로만 Convolution을 진행함으로써 연산량을 줄임.
2. Pointwise Convolution
Pointwise Convolution은 Depthwise와 반대로 1x1xNc 커널을 사용하여 공간방향으로는 Convolution을 진행하지않고 채널(Depth) 방향으로만 Convolution을 진행하는 구조를 갖음. 이렇게 함으로 Input의 채널을 압축시키는 효과가 있어 계산해야하는 Parameter수가 줄면서 연산속도를 향상시킬 수 있음.
3. Depthwise Separable Convolution
Depthwise Convolution과 Point Convolution을 함께 사용하는 방식으로 아래 그림과 같음. MobileNet에서는 이 방식을 취해 기존대비 Parameter를 대폭 줄여 연산속도를 향상시켰음. 물론, 성능에는 Trade-off로 약간의 저하는 있지만 향상되는 속도의 이점이 더 큰 것으로 검증됨. 이 덕분에 Mobile이나 RaspberryPi와 같은 Low Spec-Device단에서 Edge-Computing을 수행할 수 있게 되었음.
'데이터사이언스 > 딥러닝' 카테고리의 다른 글
Classification Project (Colab) (0) | 2022.07.25 |
---|---|
Object Detection Tensorflow API (Colab) #2_모델학습 (0) | 2022.07.18 |
Object Detection Tensorflow API (Colab) #1_사전작업 (0) | 2022.07.18 |
Image Labeling (0) | 2022.07.18 |
PreActResNet, 2016 (0) | 2022.06.24 |