Weight parameter 감소
DNN에 비해 CNN에서는 weight의 수가 현저하게 줄어들면서도 edge 정보 등 수많은 위치 정보들을 그대로 유지하면서 feature를 확보한다.
DNN은 fully connected layer 구조이다. 이것은 이전의 모든 neuron들이 다음 각각 neuron들에 전부 연결되어 있다. 따라서 이미지가 학습 데이터로 입력되면 굉장히 많은 parameter (weight)가 발생한다. 결과적으로 각각의 weight의 최적화를 위해 학습이 굉장히 오래걸리게 된다.
Weight sharing / Sparse connection
DNN에서는 하나의 출력값에 각각 다른 가중치들이 사용되고 있다. 반면, CNN은 하나의 출력값에 같은 가중치들이 사용되고 있다. 다시말해, CNN에서는 각각의 출력값들이 동일한 weight를 sharing하고 있다.
이러한 weight sharing을 통한 연산은 CNN sparse connection 구조를 형성할 수 있다. 전체 이미지에서 convolution filter를 적용시켜 연산을 할때, convolution filter가 적용되지 않은 부분은 모두 0이라고 하며 이를 sparse matrix라고도 한다. 0은 weight가 모든 입력 이미지에 대해 연결되어 있지 않고 sparse하게 연결되어 있다는 것을 의미한다. 이러한 특성때문에 CNN은 sparse connection을 가지고 있다고 한다. 다른말로, 입력 이미지에 비해 convolution filter의 사이즈가 작아서 sparse connection의 구조를 가지고 있다고 할 수 있다.
Translation equivariance
f를 convolution 연산을 하는 함수, g를 전체 이미지 영역을 translate (shift)하는 함수라고 했을 때,
g(f(x)) = f(g(x))
CNN에 적용하면 translation equivariance 특징을 가지고 있다는 것을 알 수 있다. 이는 이미지에 convolution filter를 적용시킨 것을 이동시킨 결과와 전체 이미지를 이동시킨 것을 convolution filter 연산을 한 결과와 같다는 뜻이다.
Translation invariance
추출한 feature들을 fully conneted layer를 통해 classification하게 되면 모두 같은 출력값이라고 classification하게 된다. CNN은 translation invariance의 특성인 위치에 따라 출력이 불변함을 보인다. 강아지 사진에 강아지가 어느 위치에 있든 강아지 label 확률값은 동일하게 출력되기 때문에 convolution 연산의 equivariance한 특성과 parameter를 공유하는 덕분에 CNN 자체가 translation invariant를 갖게 된다. DNN에서는 조금이라도 이미지가 distortion or shift 해도 다른 이미지라고 판단하기 때문에 많은 이미지를 학습시켜야 하지만, CNN에서는 translation equivariance을 통해 translation invariance한 특성을 갖게 되기 때문에 학습 이미지가 DNN보다 많지 않아도 되는 장점이 생긴다.
Overfitting
pooling의 downsampling에서 max pooling하면 feature value가 낮은 값들은 제거된다. 이렇게 하면 가장 강한 특징들만 남게 되는데 이것은 overfitting이 되지 않도록 하게 한다. 다시말해, pooling 연산을 통해 학습데이터에 overfitting되는 현상을 피할 수 있게 된다.
'AI-driven Methodology > ANN' 카테고리의 다른 글
[ANN] RNN many to one (0) | 2022.01.05 |
---|---|
[ANN] RNN basics (Vanilla) (0) | 2022.01.05 |
[ANN] 순환 신경망 (Recurrent Neural Network, RNN) (2) (0) | 2021.12.14 |
[ANN] 순환 신경망 (Recurrent Neural Network, RNN) (1) (0) | 2021.12.14 |
[ANN] Neural Networks (0) | 2021.12.10 |