-
[딥러닝] 1x1 Convolution 이해하기Study Bits 2023. 8. 10. 20:41
1x1 Conv는 입력값에서 하나의 요소에 대해 연산을 하기 때문에 언뜻 무의미한 연산처럼 보이기도 한다. GoogleNet, ResNet, SqueezeNet 등에서 중요한 역할을 하는 1x1 conv 레이어는 어떤 연산을 하는 네트워크일지 알아본다.
Conv Layer의 일반적인 특징을 살펴보면,
- 입력값은 보통 여러개의 채널(channel, depth)을 가지고 있다.
- Conv Layer Filter(컨볼루션 레이어의 필터)는 입력값의 채널과 동일한 depth를 가진다.
- 출력값의 채널은 Conv layer의 filter 개수와 같다.
1x1 Conv Layer
1x1 Conv Layer는 Filter의 depth가 입력값의 channel과 동일하기 때문에 채널방향으로 feature를 섞어주는 역할을 한다. 아래는 1x1 Conv Layer의 세 가지 주요한 역할과 사용된 예를 요약한 내용이다.
Dimensionality Reduction
GoogleNet에서 주로 사용된 목적이다. 1x1 Conv Layer는 처음에 Network In Network 라는 논문에서 Cross Channel Downsampling 역할로 소개되었다. 1x1 Conv는 비선형적(non-linearity)으로 채널의 개수를 줄인다.
Bottleneck Layer
ResNet에서 1x1 Conv를 깊은 네트워크를 쌓기 위해 사용했다.
ResNet에서 사용한 Bottleneck 구조 Fire Module Layer
작지만 정확한 모델을 만들기 위해 SqueezeNet에서 사용한 목적이다. Expand Layer를 통과하기 전에 파라미터의 수를 줄여준다.
참조:
- https://medium.com/analytics-vidhya/talented-mr-1x1-comprehensive-look-at-1x1-convolution-in-deep-learning-f6b355825578
- Lecture of Andrew Ng - 1x1 Convolution
Networks in Networks and 1x1 Convolutions - Deep Convolutional Models: Case Studies | Coursera
Video created by deeplearning.ai for the course "Convolutional Neural Networks". Discover some powerful practical tricks and methods used in deep CNNs, straight from the research papers, then apply transfer learning to your own deep CNN.
www.coursera.org
Talented Mr. 1X1: Comprehensive look at 1X1 Convolution in Deep Learning
With startling success of AlexNet in 2012, the Convolutional Neural Net (CNN) revolution has begun! The CNN based frameworks in Deep…
medium.com