2022. 10. 12. 15:46ㆍ인공지능,딥러닝,머신러닝 기초
Zero padding
- zero padding 이란 image주위를 0으로 둘러주는 과정을 말함
Padding size
- 딥러닝을 할 때 항상 input과 output의 데이터 사이즈를 잘 알아야 모델을 잘 만들 수 있음
*p : padding layer의 수
*image_size : (n x n)
*padded_image_size : ((n + 2p) x (n + 2p))
*convolution-operation (with (f x f) filter) outputs
: ((n + 2p – f + 1) x (n + 2p – f + 1))
- 왜 padding이 필요한가?
1. 이미지 데이터의 축소를 막기 위해
- convolution operation에서 input data인 (n*n)pixel image가 (f*f) filter을 통해 (n-f+1)*(n-f+1)pixel image로 축소됨
- CNN과정에서 위와 같이 여러번의 계산을 해야하는데 초반부터 이미지가 너무 작아져 버리면 더 깊게 학습시킬 데이터가 부족해지는 현상이 만들어짐
- 이는 neural network의 성능에 악영향을 미치기 때문에 padding을 이용하여 크기를 조절할 수 있음
2. Edge pixel data를 충분히 활용하기 위해
- convolution operation과정에서 A나 B의 자료는 C의 자료에 비해 훨씬 적게 사용됨
- 만약 중요한 정보가 모서리 쪽 A나 B에 있다면 모델의 성능이 떨어질 것임
- Padding을 이용해 모서리 쪽을 0으로 둘러 주면, 실제 정보가 있는 A와 B의 데이터는 그전보다 더 많이 사용될 것임
- Padding의 종류
1. Valid padding: padding하지 않는 것을 의미
2. Same padding: output image가 input image의 크기와 동일 한 것을 말함
'인공지능,딥러닝,머신러닝 기초' 카테고리의 다른 글
[인공지능 개론] Data Augmentation (0) | 2022.10.20 |
---|---|
[인공지능 개론] DL (1) | 2022.10.18 |
[인공지능 개론] CNN 구조 (0) | 2022.10.11 |
[인공지능 개론 DL/ANN ] (0) | 2022.10.08 |
[인공지능 개론_plus] 경사하강 알고리즘 (1) | 2022.10.08 |