AI

Padding, Stride, Pooling

pullwall 2024. 9. 11. 17:45
728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.

1. Padding

https://www.almabetter.com/bytes/articles/what-is-padding-in-convolutional-neural-network

 

Padding이란, 입력 데이터가 filter를 거치면 size가 달라지는 문제를 해결하고자

위 사진과 같이 입력 데이터 주변에 데이터를 감싸는 것이다. 이를 통해 출력의 사이즈를 입력의 사이즈와 일치시킬 수 있다.

 


 

2. Stride

https://commons.wikimedia.org/wiki/File:Convolution_arithmetic_-_Padding_strides.gif

 

Stride란 기존에 filter가 한 칸씩 스캔하며 동작했던 것과 달리 몇 칸씩 움직일지를 옵션으로 부여한다.

 

한 칸 뿐만 아니라 n칸씩 이동시킬 수 있다. 

 


3. Pooling

https://medium.com/@Suraj_Yadav/in-depth-knowledge-of-convolutional-neural-networks-b4bfff8145ab

 

Pooling이란 넓은 범위를 대표하는 값으로 대체하여 데이터의 사이즈를 줄일 수 있게끔 한다. (학습 파라미터는 전혀 필요하지 않다.)

 

위 사진의 예시는 max pooling의 예제이며, 해당 범위 내에서 가장 큰 값으로 대표자를 정한다.

 

average pooling은 해당 범위 내의 평균을 구해 대표자로 정한다.

 

Pooling은 각 채널마다 진행된다.

 

728x90