딥러닝에서 사용되는 여러 유형의 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