320x100
320x100
이미지를 다루데에는 CNN을 가장 많이 사용한다.
convolution이 이미지 연산에 특화되어 있기 때문이다.
근데 왜 특화 되어 있다 말할 수 있는 걸까?
convolution layer와 fully connected layer를 비교해보면 이에 대한 답을 찾을 수 있다.
훨씬 적은 모델 파라미터 요구 개수
입력 이미지 크기가 [ 200 x 200 ]라고 가정했을 때
(1) fully connected layer의 경우
node를 1개로만 둬도 40,001개(가중치 40,000 + 바이어스 1)의 모델 파라미터가 필요하지만
(2) convolution layer를 사용하는 경우
3x3 커널 100개를 사용한다해도 1,000개(커널 900 + 바이어스 100)만 필요하다.
결과적으로 cnn연산이 훨씬 적은 계산량을 요구하므로 학습을 더 빠르고 효율적으로 진행할 수 있다.
flatten과정에서 손실되는 정보
fully connected layer를 사용하기 위해선
2D image를 1D array로 바꾸기 위해 flatten연산을 해야하는데 이 과정에서 공간 정보 손실이 발생하게 된다.
하지만 convolution layer의 경우 커널이 2D 형태로 만들어지기 때문에 정보 손실을 막을 수 있다.
'Deep Learning > 인공지능 개념 정리' 카테고리의 다른 글
IoU, Intersection over Union 개념을 이해하자 (13) | 2021.08.31 |
---|---|
CNN에서 커널 사이즈는 왜 3x3을 주로 쓸까? (0) | 2020.01.15 |
joint training, alternate training (0) | 2019.08.07 |
Protocol Buffer 실습 2 (0) | 2019.07.02 |
Protocol Buffer 실습 1 (0) | 2019.07.02 |