Convolution Network의 구성

andWHISKEY·2021년 9월 7일
0

딥러닝 Basic

목록 보기
1/2

Convolution Layer는 각 filter당 하나의 feature map이 생성되고, 그 feature map을 스택처럼 쌓아둔 것이다.

많은 Object 카테고리가 존재하는 복잡한 데이터셋을 가지고 CNN을 구현시, 매우 많은 수의 filter가 필요하다. filter가 많다는 얘기는 그만큼 우리가 구현할 CNN의 차원이 크다는 이야기다. 고차원(Higher dimensionality)를 구현하려면 그에 상응하는 많은 수의 파라미터들을 필요로 하고, 그러면 over-fitting이 생기게 된다. 따라서 차원을 감소시켜야하는데, 이 역할을 하는 것이 바로 Pooling Layer다.

Pooling Layer는 이 Convolution Layer를 input으로 받아들여,feature map의 너비와 높이 등을 감소시킨다.

Pooling Layer의 종류

1.Max Pooling
: window size와 stride값이 필요로 하고, window상에서 포함하고 있는 픽셀들 중 최대값을 뽑아낸다.output은 feature map의 개수와 동일하지만,너비와 높이가 감소된다.


2.Global Average Pooling
:window size와 stride값이 필요없고,더 급격한 방식으로 CNN의 차원을 줄이는데, 각 feature map상의 노드값의 평균을 뽑아낸다.따라서 최종 output은 single value로 크기가 감소된 feature map이 된다.

위의 글은 https://kevinthegrey.tistory.com/142 의 글을 참고하여 작성하였습니다.

profile
위스키 한 잔 마시면서 코딩하는 주니어개발자 입니다🥃💻.

0개의 댓글