딥러닝에서 사용되는 여러 유형의 Convolution
2022. 10. 12. 16:33ㆍ빅데이터 ,알고리즘이론
Convolutions
- Kernel Size : convolution의 시야(view)를 결정함, 보통 2
- Stride : kernel의 step size
- Padding : Padding은 샘플 테두리를 어떻게 조절할지 결정(패딩된 convolution : input과 output차원 동일, 패딩되지 않는 convolution은 커널이 1보다 큰 경우 테두리 일부를 잘라버릴 수 있음)
- Input & Output Channels : Convolution layer는 Input 채널의 특정수(I)를 받아 output채널의 특정 수(O)로 계산함, 이런 계층에서 필요한 파라미터의 수는 I*O*K로 계산할 수 있음
Pooling(=sub sampling)
- why?
- 더 높은 정확도를 얻기 위해서는 필터가 많아야함 -> 필터가 많아지면 그많큼 Feature Map이 늘어나게되고, 딥러닝 모델의 Dimension이 늘어남 -> High Dimension모델은 그만큼 파라미터 수도 늘어나게됨 -> overfitting문제, 모델의 사이즈와 레이턴시에도 큰 영향을 미치게됨
- 따라서 차원을 감소시켜야할 필요성이 있으며 이것을 하는 방법이 Pooling layer를 활용하는 것
- 효과 : network의 표현력 줄어들어 overfitting억제, computation이 줄어들어 hardware resource(energy)를 절약, speed up
- Pooling layer 종류
- MaxPooling Layer, GlobalAveragePooling Layer
* 코드 예시
https://underflow101.tistory.com/41
[AI 이론] Layer, 레이어의 종류와 역할, 그리고 그 이론 - 4 (Pooling Layer)
Pooling Layer의 개념과 용례 Tensorflow와 PyTorch에서는 여러 종류의 Pooling Layer 함수를 지원하지만, 이미지 분류 모델에 있어 그 중 가장 많이 활용되는 것은 MaxPooling2D 쪽이다. 그렇다면 Pooling Layer..
underflow101.tistory.com
'빅데이터 ,알고리즘이론' 카테고리의 다른 글
시계열 데이터 결측치 처리 기술 동향 (1) | 2023.02.02 |
---|---|
1. ARIMA모델 (0) | 2020.11.20 |