1 x 1 Convolution
AlexNet과 VGGNet의 큰 파라미터를 줄이기 위해 GoogLeNet에서는 1x1 Convolution을 사용했습니다.
1x1 Convolution은 이후 다양한 모델에서 연산량을 줄이기 위해 사용되어 이 방법이 매우 효과적임을 증명합니다.
입력 데이터의 채널(Channel) 수 조절

위 그림과 같은 (64 * 64 * 192) 블럭에 (1 * 1 * 192) 블럭을 Convolution 하게 되면 (64 * 64)개의 픽셀(원소) 각각의 192개의 채널(숫자)와 필터(1*1)의 192개의 채널(숫자) 사이에서 요소간 곱셈을 하게 됩니다.
정리하자면, 필요한 필터는 (1 * 1 * #channel * #filter)가 되며, #channel은 입력 블럭의 channel수와 동일해야 하고, #filter는 출력 블럭의 channel 수로 지정되어야 합니다. 따라서 #filter 수는 필요에 따라 조절할 수 있습니다.
계산량 감소
1x1 Convolution은 Channel 수를 조절하여 필요한 파라미터를 수를 줄일 수 있습니다.

비선형성
1x1 Convolution은 비선형성을 추가할 수 있는 ReLU 등의 활성화 함수와 함께 사용될 수 있어, 모델의 표현력을 높일 수 있습니다.
'ML & DL > Deep Learning' 카테고리의 다른 글
WBF, Ensemble for Object Detection 정리 (0) | 2023.05.19 |
---|---|
NMS, Soft-NMS 정리 및 구현 (0) | 2023.05.19 |
Mixup 정리 및 구현 (0) | 2023.04.27 |
CNN Architectures (0) | 2023.03.28 |
Albumentations 사용법 및 예시 (0) | 2022.05.23 |
1 x 1 Convolution
AlexNet과 VGGNet의 큰 파라미터를 줄이기 위해 GoogLeNet에서는 1x1 Convolution을 사용했습니다.
1x1 Convolution은 이후 다양한 모델에서 연산량을 줄이기 위해 사용되어 이 방법이 매우 효과적임을 증명합니다.
입력 데이터의 채널(Channel) 수 조절

위 그림과 같은 (64 * 64 * 192) 블럭에 (1 * 1 * 192) 블럭을 Convolution 하게 되면 (64 * 64)개의 픽셀(원소) 각각의 192개의 채널(숫자)와 필터(1*1)의 192개의 채널(숫자) 사이에서 요소간 곱셈을 하게 됩니다.
정리하자면, 필요한 필터는 (1 * 1 * #channel * #filter)가 되며, #channel은 입력 블럭의 channel수와 동일해야 하고, #filter는 출력 블럭의 channel 수로 지정되어야 합니다. 따라서 #filter 수는 필요에 따라 조절할 수 있습니다.
계산량 감소
1x1 Convolution은 Channel 수를 조절하여 필요한 파라미터를 수를 줄일 수 있습니다.

비선형성
1x1 Convolution은 비선형성을 추가할 수 있는 ReLU 등의 활성화 함수와 함께 사용될 수 있어, 모델의 표현력을 높일 수 있습니다.
'ML & DL > Deep Learning' 카테고리의 다른 글
WBF, Ensemble for Object Detection 정리 (0) | 2023.05.19 |
---|---|
NMS, Soft-NMS 정리 및 구현 (0) | 2023.05.19 |
Mixup 정리 및 구현 (0) | 2023.04.27 |
CNN Architectures (0) | 2023.03.28 |
Albumentations 사용법 및 예시 (0) | 2022.05.23 |