세 가지 유형의 컨볼루션(일반 컨볼루션, 전치 컨볼루션, 확장 컨볼루션) 후 크기를 계산하는 방법


머리말

세 번의 컨볼루션 후 특징 맵의 크기를 계산하는 방법 일반 컨볼루션, 전치 컨볼루션, 확장 컨볼루션이 포함됩니다. 아래 링크에서 세 가지 컨볼루션의 동적 다이어그램을 볼 수 있습니다.
컨볼루션 동적 그래프


1. 일반 컨볼루션

여기에 이미지 설명을 삽입하세요.

일반 컨볼루션은 비교적 간단하며 계산 방법은 다음과 같습니다.
여기에 이미지 설명을 삽입하세요.

2. 전치된 컨볼루션

여기에 이미지 설명을 삽입하세요.
먼저 Transposed Convolution의 계산 과정을 이해해야 합니다. 매개변수 p와 s는 일반적인 컨볼루션과 다른 의미를 갖습니다.
계산 과정은 다음과 같습니다:
여기에 이미지 설명을 삽입하세요.
해당 종의 p와 s는 일반 컨볼루션 종의 p, s와 다른 의미를 갖는다는 점을 반드시 이해하고 연산 과정을 이해한 후에는 컨볼루션 후 크기를 계산하는 방법을 살펴보겠습니다.
여기에 이미지 설명을 삽입하세요.
이는 pytorch 문서의 계산 공식과 일치합니다.

H=(H−1)×stride[0]−2×padding[0]+dilation[0]×(kernel_size[0]−1)+output_padding[0]+1

확장 무시, 기본값은 1, 출력 패딩 무시, 기본값은 0입니다.

업샘플링을 위해 전치 컨벌루션을 사용하는 경우 일반적으로 s를 업샘플링 배수와 동일하게 설정한 다음 k와 p 값을 지정합니다.

3. 아트러스 컨볼루션

Atrous convolution은 convolution 커널 사이에 0을 채우고, (r-1) 행 (r-1) 열을 채우고,
여기에 이미지 설명을 삽입하세요.
atrous convolution이 끝난 후 크기를 계산하는 것입니다.
여기에 이미지 설명을 삽입하세요.
이 역시 pytorch 문서에 해당합니다.
여기에 이미지 설명을 삽입하세요.


추천

출처blog.csdn.net/weixin_47250738/article/details/133275770