Deep Learning/인공지능 개념 정리
CNN이 이미지에 더 효율적인 이유
ballentain
2020. 1. 14. 18:07
이미지를 다루데에는 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 형태로 만들어지기 때문에 정보 손실을 막을 수 있다.