inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

딥러닝 CNN 완벽 가이드 - TFKeras 버전

1x1 Convolution의 이해

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

485

엠엠

작성한 질문수 18

0

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

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

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

cnn kaggle 딥러닝 머신러닝 배워볼래요? keras tensorflow

답변 1

0

권 철민

안녕하십니까, 

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

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

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

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

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

감사합니다. 

resize 질문

0

50

1

20251212 Kaggle 런타임에 scikit-learn 설치 실패 트러블 슈팅

0

75

1

Loss와 매트릭 관계

0

61

2

Boston 코랩 실습

0

162

2

배치 정규화의 이해와 적용 2 강의 질문

0

134

2

Augmentation원본에 적용해서 데이터 갯수 자체를 늘리는 행위는 의미가있나요?

0

144

2

Conv함수 안에 activation 을 넣지 않는 이유가 뭔지 궁금합니다.

0

203

2

소프트맥스 관련 질문입니다

0

208

1

강의 관련 질문입니다

0

151

2

residual block과 identity block의 차이

0

185

2

옵티마이저와 경사하강법의 차이가 궁금합니다.

1

238

1

실습 환경

0

165

2

입력 이미지 크기

0

243

2

데이터 증강

0

195

2

albumentations ShiftScaleRotate

0

205

1

Model Input Size 관련

0

279

1

마지막에 bird -> frog 말고도 deer -> frog 도 잘못된것 아닌가요??

0

204

1

일반적인 질문 (kaggle notebook사용)

0

272

2

실무에서 Augmentation 적용 시

0

338

2

안녕하세요 교수님

0

231

1

가중치 초기화(Weight Initialization) 질문입니다.

0

327

1

테스트 데이터셋 predict의 'NoneType' object has no attribute 'shape' 오류

0

407

1

학습이 이상하게 됩니다.

2

1036

2

boston import가 안됩니다

0

228

1