CNN 8 - Max Pooling

김성빈·2024년 5월 23일
0

Modern Computer Vision

목록 보기
58/117

"풀링은 피처 맵의 크기나 차원을 줄이는 프로세스"

이를 통해 네트워크의 매개 변수 수를 줄이는 동시에 중요한 기능을 유지할 수 있다.

서브샘플링 또는 다운 샘플링이라고도 함

Max Pooling 예제


2개의 매개 변수(Stride, Kernel)를 이용해 Pooling을 진행하는데,

pooling의 대상인 기능 맵의 2x2 씩 묶었고 그 박스 안의 가장 큰 값을 추출해낸다.

파란색 박스는 253으로 수정해야한다.

이것이 Max pooling을 적용하는 방식이다.

Pooling에 자세한 정보

  1. 일반적으로 2x2 커널과 패딩이 없는 스트라이드 2를 사용한다.

  2. 위의 설정으로 풀링을 사용하면 차원이 2배(폭과 높이) 감소한다.

  3. 풀링은 우리의 모델을 이미지의 사소한 변화와 왜곡에 강하다.

  4. Average Pooling, Sum Pooling을 사용할수 있다.

3?

위에 3번이 뭔소리 일까

두개의 이미지를 Max pooling 한 결과이다.

하나는 왼쪽상단 끝에 붙어있는 C와

다른하나는 한칸 밑의 C 이다.

둘다 컨볼루션 연산을 했을때에 저 C의 특징을 갖는 위치는 다르지만,

Max pooling을 진행했을때의 C의 특징의 위치가 동일해진다.

이처럼 Max Pooling은 이미지의 작은 이동(translation)에 대해 강건성을 제공한다.

특징이 약간 이동하더라도 중요한 정보는 유지된다는 뜻이다.

Max pooling 정리

  1. Max Pooling의 목적: 특징 맵의 크기를 줄이면서 중요한 정보를 보존.
  2. Translation Invariance: 이미지가 약간 이동해도 주요 특징을 유지.
  3. 정보 손실 최소화: 인접 픽셀들이 강하게 상관관계가 있으므로 최대 값을 선택해도 중요한 정보가 보존됨.
  4. 스트라이드와 풀링 창 크기: 보통 스트라이드 2와 2x2 풀링 창이 효과적이며, 너무 큰 스트라이드와 풀링 창은 정보 손실을 초래할 수 있음.
profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글