더북(TheBook)

Note ≡ | 스트라이드 합성곱과 분수-스트라이드 합성곱

판별자 네트워크에서 사용하는 스트라이드 합성곱은 합성곱에 단순히 스트라이드를 적용한 것이라고 생각하면 됩니다. 이때 스트라이드(stride) 값을 1 이상의 정수로 사용하면 풀링과 마찬가지로 출력 크기를 줄일 수 있습니다. 예를 들어 다음 그림과 같이 스트라이드 합성곱을 이용하여 2×2 크기의 특성 맵을 추출할 수 있습니다.

▲ 그림 13-38 스트라이드 합성곱

생성자 네트워크에서 사용하는 분수-스트라이드 합성곱은 스트라이드 값을 1보다 작은 분수를 사용하여 출력 크기를 키웁니다. 예를 들어 특성 맵의 크기를 키우려면 2×2 크기의 특성 맵(다음 그림의 빨간색 박스 안의 파란색 부분)의 각 원소 사이와 바깥 부분에 모두 패딩(0)을 넣어 준 상태에서 3×3 필터로 합성곱을 수행하면 됩니다.

▲ 그림 13-39 분수-스트라이드 합성곱

그럼 왜 생성자 네트워크에서는 분수-스트라이드 합성곱을 사용하고, 판별자 네트워크에서는 스트라이드 합성곱을 사용할까요? 생성자 네트워크에서는 노이즈를 입력으로 받아 훈련 데이터셋의 이미지와 같은 해상도를 갖는 이미지를 생성해야 하기 때문에 공간을 확장시켜야 하는 분수-스트라이드 합성곱이 필요합니다. 반면 판별자 네트워크는 실제 이미지와 생성자가 생성한 이미지 사이에서 어떤 이미지가 진짜인지 판별해야 하기 때문에 각 이미지의 특성을 추출할 수 있는 합성곱 연산을 수행합니다. 그리고 이때 스트라이드 합성곱을 사용하면 특성을 잘 추출할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.