인프런 커뮤니티 질문&답변

최선빈님의 프로필 이미지
최선빈

작성한 질문수

딥러닝 CNN 완벽 가이드 - Fundamental 편

GoogLeNet(Inception) 구조 상세

강의 6분 51초에서 나오는 그림에서...

작성

·

128

0

인셉션 모듈 가장 오른쪽 Pooling max, 3x3/1

이라고 써있는 파란색 풀링 레이어에서,

3x3 풀링을 적용했는데 왜

 

256x28x28 -> 256x28x28 으로 나오는지,

즉 사이즈가 변하지 않고 나오는지 궁금합니다

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

일반적으로 max pooling을 하면 size가 줄어드는데, 여기서는 사이즈를 보전해야 하기 때문에 max pooling 적용 시 padding을 same으로 먼저 채워 넣은 다음에 max pooling을 하므로 입력 사이즈가 그대로 보전됩니다. 

 

감사합니다. 

최선빈님의 프로필 이미지
최선빈
질문자

답변 감사합니다.

저는 풀링의 가장 큰 의의를 '사이즈를 줄이는 것'에 있다고 생각했었는데,

3 * 3 풀링을 적용하면서 패딩을 same으로 가져가면, 

대부분 어레이의 원소가 0으로 채워질 것 같은데..

혹시 이렇게하면서까지 3*3 풀링 연산을 가져가는 이유를 알수있을까요?

권 철민님의 프로필 이미지
권 철민
지식공유자

아마도 여러가지의 feature map 표현을 가져가고 싶어서 그런걸로 생각됩니다.

그리고 3*3 풀링을 적용하지만 아래와 같이 stride가 (1, 1) 이므로 생각처럼 패딩 영역이 크지는 않습니다. 

inception_3a_pool = MaxPooling2D(pool_size=(3,3), strides=(1,1), padding='same', name='inception_3a/pool')(pool2_3x3_s2) 

최선빈님의 프로필 이미지
최선빈

작성한 질문수

질문하기