딥러닝 모델을 다루다보면 parameter 수를 계산해보라는 과제를 종종 받아본다. 그래서 이를 계산하는 방법을 정리해봤다.
Parameter 계산할때 bias 를 고려했는지 항상 한번씩 체크하도록 한다. 99% 의 네트워크들은 bias value 가 1개이기 때문에 +1 해주면 되지만 정말 간혹가다 bias value 가 2개 이상인 경우가 있기 때문에 확인을 잘 해주도록 하자.
Fully Connected Layer.
Fully Connected Layer 은 두 layer 사이를 계산하는 것이다. 이때 계산하는 방법으로는
('Previous layer length'+1) * 'Current layer length' 이다.
비교적 간단한 계산방법을 가지고 있다.
Convolutional layer
Convolutional layer 은 이미지 학습할때 자주 사용되는 방식이다. parameter 계산 식은 fclayer 보다는 조금 더 복잡하다.
(('Current filter length * Current filter width')*Previous filter size +1)* Current filter size이다.
현재 layer 의 크기를 전의 부피에 곱하고 더하기 일하고 현재 부피에 곱하면 된다.
이때 convolutional neural network 에서 fclayer 에서 cnnlayer 로 왔다갔다 할 때가 있는데 이때 주로 flatten 함수를 이용해 펼친다. 그 값을 이용해 계산하면 된다.