더북(TheBook)

④ MaxPool2d는 이미지 크기를 축소시키는 용도로 사용합니다. 풀링 계층은 합성곱층의 출력 데이터를 입력으로 받아서 출력 데이터(activation map)의 크기를 줄이거나 특정 데이터를 강조하는 용도로 사용됩니다. 풀링 계층을 처리하는 방법으로는 최대 풀링(max pooling)과 평균 풀링(average pooling), 최소 풀링(min pooling)이 있으며, 이때 사용하는 파라미터는 다음과 같습니다.

kernel_size: m×n 행렬로 구성된 가중치

stride: 입력 데이터에 커널(필터)을 적용할 때 이동할 간격을 의미하는데, 스트라이드 값이 커지면 출력 크기는 작아집니다.

⑤ 클래스를 분류하기 위해서는 이미지 형태의 데이터를 배열 형태로 변환하여 작업해야 합니다. 이때 Conv2d에서 사용하는 하이퍼파라미터 값들에 따라 출력 크기(output size)가 달라집니다. 즉, 패딩과 스트라이드의 값에 따라 출력 크기가 달라집니다. 이렇게 줄어든 출력 크기는 최종적으로 분류를 담당하는 완전연결층(fully connected layer)으로 전달됩니다.

in_features: 입력 데이터의 크기를 의미합니다. 중요한 것은 이전까지 수행했던 Conv2d, MaxPool2d는 이미지 데이터를 입력으로 받아 처리했습니다. 하지만 그 출력 결과를 완전연결층으로 보내기 위해서는 1차원으로 변경해 주어야 하는데, 공식은 다음과 같습니다. 공식은 Conv2d와 MaxPool2d가 다르기 때문에 매 계층을 따라가면서 계산해 보기 바랍니다.

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