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

엠엠님의 프로필 이미지
엠엠

작성한 질문수

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

1x1 Convolution의 이해

1 x 1 convolution을 적용하면 왜 비선형성이 좋아지는지 궁금합니다.

작성

·

401

0

선생님. 처음부터 쭉 듣다보니, 어느새 절반 이상을 듣게 되었습니다! 좋은 강의 감사드립니다.

1 x 1 convolution을 적용하면 왜 비선형성이 좋아지는지 궁금합니다.

convolution은 시행할수록 비선형성이 항상 좋아지는것인가요??

답변 1

0

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

안녕하십니까, 

CNN 연산을 채널 depth를 증가시켜서 계속 연산을 수행하면 어느 정도까지는 성능이 좋아집니다. 

초기 딥러닝 CNN 에서 이러한 모델 특성을 가지고 많은 연구가 되었습니다. 특히 VGG 의 경우는 Depth를 계속 늘리면서 성능을 향상 시켰기 때문에 많은 후속 연구를 이끌게 되었습니다. 

그런데 계속 채널을 늘려 가면서 CNN 연산을 하게 되면 가중치 파라미터가 너무 많아 집니다. 그러면서 오버 피팅가능성이 더 커지고 성능이 더 이상 향상되지 않거나 오히려 떨어지게 됩니다. 

그래서 1X1 Conv 를 통해서 단계 단계별로 한번씩 Conv 연산을 정리(?)하는 단계를 거칩니다. 1x1 Conv는 필터수를 상대적으로 적게 가져가는데도 불구하고 중요한 피처 정보들을 압축하여 유지하는 특성을 발휘하게 됩니다. 

그래서 많은 CNN 연산을 수행하지만 상대적으로 적은 가중치 파라미터를 가지고 모델을 만들 수 있습니다.  1X1 Conv가 적은 필터를 가지지만 정보 손실도 상대적으로 적습니다. 그래서 많은 모델에서 3x3 Conv등을 수행하면서 일정 단계에서 1x1 conv를 적용하면서 단계 단계 별로 피처 차원 축소 형태로 feature map을 정리하는 프로세스를 거치게 되고, 이게 보다 나은 성능 향상 결과를 가져오고 있습니다. 

감사합니다. 

엠엠님의 프로필 이미지
엠엠

작성한 질문수

질문하기