CNN은 Convolutional Neural Networks의 약자로 딥러닝에서 주로 이미지나 영상 데이터를 처리할 때 쓰이며 Convolution(합성곱)이라는 전처리 작업이 들어가는 Neural Network 모델이다.
일반 DNN은 기본적으로 1차원 형태의 데이터를 사용한다. 그렇기 때문에 2차원 형태의 이미지가 입력값이 되는 경우, 이것을 flatten시켜서 한줄 데이터로 만들어야 하는데 이 과정에서 이미지의 공간적/지역적 정보(spatial/topological information)가 손실되게 된다. 또한 추상화과정 없이 바로 연산과정으로 넘어가 버리기 때문에 학습시간과 능률의 효율성이 저하되게 된다.
위 그림은 자동차의 이미지를 softmax 활성화함수를 통해 어떤 탈것인지 구분하는 CNN 모델의 구조를 나타낸 것이다. CNN은 크게 convolution layer, pooling layer, flatten layer을 구조로 가진다.
CNN은 Convolutional Neural Networks의 약자로 딥러닝에서 주로 이미지나 영상 데이터를 처리할 때 쓰이며 Convolution(합성곱)이라는 전처리 작업이 들어가는 Neural Network 모델이다.
일반 DNN은 기본적으로 1차원 형태의 데이터를 사용한다. 그렇기 때문에 2차원 형태의 이미지가 입력값이 되는 경우, 이것을 flatten시켜서 한줄 데이터로 만들어야 하는데 이 과정에서 이미지의 공간적/지역적 정보(spatial/topological information)가 손실되게 된다. 또한 추상화과정 없이 바로 연산과정으로 넘어가 버리기 때문에 학습시간과 능률의 효율성이 저하되게 된다.
위 그림은 자동차의 이미지를 softmax 활성화함수를 통해 어떤 탈것인지 구분하는 CNN 모델의 구조를 나타낸 것이다. CNN은 크게 convolution layer, pooling layer, flatten layer을 구조로 가진다.