-
CNN 풀링 계층AI/밑바닥부터 시작하는 딥러닝 2024. 7. 13. 15:04
풀링은 세로, 가로 방향의 공간을 줄이는 연산이다.
- 위의 사진은 2X2 최대 풀링(max pooling)을 스트라이드 2로 처리하는 순서이다.
- 풀링의 윈도우 크기와 스트라이드는 같은 값으로 설정하는 것이 보통이다.
- 평균 풀링(average pooling)도 있는데, 대상 영역의 평균을 계산하는 연산이다.
풀링 계층의 특징
1. 학습해야 할 매개변수가 없다.
2. 채널 수가 변하지 않는다.
- 채널마다 독립적으로 계산하기 때문에, 입력 데이터의 채널 수 그대로 출력 데이터로 내보낸다.
3. 입력의 변화에 영향을 적게 받는다(강건하다).- 입력 데이터가 조금 변해도 풀링의 결과는 잘 변화하지 않는다.
합성곱 연산의 필터 처리 상세 과정- 필터를 세로로 1열로 전개하고, im2col이 전개한 데이터와 행렬 곱을 계산한다. 마지막으로 출력 데이터를 변형(reshape)한다.
- forward 구현의 마지막에 출력 데이터를 transpose 함수를 사용해 적절한 형상으로 바꾼다.
풀링 계층의 구현- 입력 데이터에 풀링 적용 영역을 전개(2X2 풀링의 예)
- 풀링 계층 구현의 흐름: 풀링 적용 영역에서 가장 큰 원소는 회색으로 표시
'AI > 밑바닥부터 시작하는 딥러닝' 카테고리의 다른 글
CNN 구현, 시각화 (0) 2024.07.13 CNN 합성곱 계층 (0) 2024.07.13 학습 관련 기술 정리 (0) 2024.07.13 배치 정규화 (0) 2024.07.13 가중치의 초깃값 (0) 2024.07.13