In deep learning, a convolutional neural network (CNN, or ConvNet) is a class of Artificial Neural Network(ANN), most commonly applied to analyze visual imagery.
합성곱 신경망(CNN or ConvNet) ANN의 종류 중 하나이며, 일반적으로 시각적 이미지를 분석하기위해서 사용되어진다.
CNN은 이미지의 공간 정보는 유지하면서, 이미지의 특징을 인식하고 강조하는 부분과 클래스를 분류하는 부분으로 이루어져 있다.
픽셀 정보로 이루어진 이미지는, Width 와 Height의 2차원 행렬 정보 뿐 아니라 R.G.B 데이터를 포함하는 3차원 텐서로 구성될수 있다.
예를 들어, 1920 x 1080의 해상도를 가진 이미지의 데이터는 1920개의 Row 데이터와 1080개의 Colum 데이터에 R.G.B 3채널까지 포함하여 6220800개의 데이터가 하나의 이미지에 들어가 있다.
기존 학습 모델인 MLP (Multi Layer Perceptron)의 FC (Fully Connected Layer)에서 이미지의 모든 픽셀 및 채널 데이터를 학습시키게 된다면, 오래걸리는 학습시간 뿐 아니라, 고성능의 학습 디바이스가 필요할수 있다.
FCL(Fully Connected Layer)
CNN을 사용하게 되면, Fully Connected Layer의 입력에 불필요한 정보는 제외하고 특징만을 학습시킬수 있어, 학습 효율이 크게 향상될수 있으며 Overfitting 문제에서 벗어날수 있게한다.
Convolution Equation
CNN에서 중요하다고 생각되는 키워드이다.
CNN의 Working Process를 간단하게 나열하자면 아래와 같다.
다음 프스팅 부터 Keywords를 기준으로 포스팅 진행 후 간단한 코드 리뷰를 해볼 예정이다.