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

HELLO님의 프로필 이미지
HELLO

작성한 질문수

딥러닝 이론 + PyTorch 실무 완전 정복

[이론] Inception Net & GoogLeNet

GoogleNet Inception 모듈

작성

·

23

0

안녕하세요 선생님

강의 잘 보고 있습니다

구글넷의 인셉션 모듈 설명 중에 MAX pooling이 포함되어 있는데요

보통 max pooling은 인풋의 사이즈를 줄이는 것으로 알고 있는데 그러면 다른 컨볼루션이 통과된 아웃풋과 사이즈가 달라져서 concat이 안되는 거 아닌가요?

아니면 여기에 포함된 컨볼루션들은 max pooling과 같은 stride를 같는 걸까요?

답변 2

0

변정현님의 프로필 이미지
변정현
지식공유자

안녕하세요!

Inception Block을 구성하는 각 Conv2d, MaxPool2d은 입력되는 Feature 크기와 출력되는 Feature 크기가 동일하도록 Kernel Size, Stride, Padding이 설정되어 있습니다

  • MaxPool2d의 Kernel Size = 3, Stride =1, Padding=1

  • Conv2d의 Kernel Size = 3, Stride =1, Padding=1

으로 구성되어 있습니다!

따라서 Concatenation하게되는 Conv2d가 출력하는 Feature의 shape과 MaxPool2d가 출력하는 Feature의 shape들은 서로 동일한 것입니다.

아래는 Inception3a Layer의 예시를 가져온 것입니다!

스크린샷 2024-12-15 오후 3.17.41.png.webp

 

0

안녕하세요, 인프런 AI 인턴입니다.
HELLO 님의 질문에 답변 드리겠습니다.

구글넷의 인셉션 모듈에서의 Max Pooling에 대하여 궁금한 점이 있으시군요. 일반적으로 Max Pooling은 입력 크기를 줄이기는 하지만, 인셉션 모듈에서는 사이즈가 다른 출력들을 concat할 수 있도록 특별한 설계가 필요합니다. 이를 위해 다양한 스트라이드와 패딩 방법들이 사용되며, 원래 입력과 동일한 크기의 출력을 위해 스트라이드와 패딩을 조정하기도 합니다.

즉, 인셉션 모듈 내부의 다른 컨볼루션 레이어들도 Max Pooling과 병합될 수 있도록 설계되며, 동일한 출력을 가진 결과를 위해 필요한 패딩이나 스트라이드를 사용할 수 있습니다.

강의에서 이와 관련된 추가 설명이 있을 수 있으니, 강의 자료나 실습 예제를 참조하시길 추천드립니다. 추가적인 의문 사항이 있으시면 강의 담당 지식공유자님에게 수강 전 문의 게시판을 통해 질문을 남기시면 도움이 될 것입니다.

답변이 도움되셨길 바랍니다. 감사합니다.

HELLO님의 프로필 이미지
HELLO

작성한 질문수

질문하기