Convolution Neural Network 2

[VISION] Convolution Neural Network

CNN은 이미지에 주로 사용되는 것이라 볼 수 있다. 하지만 최근에는 이미지 뿐만 아니라 자연어처리에도 사용되고 여러 분야에서 다양하게 CNN을 활용한다. CNN은 convolution layer를 겹겹이 쌓아 분류 문제의 경우 class 만큼의 output을 만들어 낸다. CNN을 하기 위해서는 기본적으로 filter라는 개념을 짚고 넘어가야 한다. filter는 input데이터를 필터사이즈 만큼 곱해서 하나의 output을 출력하게 된다. 이 경우 해당 filter size만큼의 값들이 추출된다. 일반적으로 input 을 넣고 filter를 지난 후 nonlinear function(ReLU와 같은)을 거쳐 출력되며 padding이나 stride를 조정해 output 이미지의 사이즈를 조절할 수 있다..

[CS231N] Convolution Neural Networks(CNN)

왜 image Neural Networks를 CNN으로 다루어야할까? CNN를 써야하는지에 대해서 살펴보기 전에 기존의 ANN가 image data에 적용할 때 어떠한 문제점이 있었는지에 대해서 먼저 알아보자. 아래의 이미지는 112 X 150 을 가지고 RGB 채널에서 3개의 채널을 가지고 있다. ( 112 X 150 X 3 ) 이런 image를 python이나 R에서 다룰려면 (112, 115, 3) 형태의 tensor를 다루게 된다. tensor를 ANN에 적용하려면 tensor를 vector의 형태로 flatten해주어야 되는 과정이 필요하다.( ANN은 tensor를 input 으로 받지 않기 때문에 ) 그런데 image를 보면 image내에서 지엽적인 부분이 분명히 있을 수 있다. 그 부분을 ..

반응형