Intro to CNN !

Yougurt_Man·2022년 3월 20일
0

Deep Learning

목록 보기
2/7
post-thumbnail

CNN, Who are you?

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의 종류 중 하나이며, 일반적으로 시각적 이미지를 분석하기위해서 사용되어진다.

Why CNN?

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)에서 이미지의 모든 픽셀 및 채널 데이터를 학습시키게 된다면, 오래걸리는 학습시간 뿐 아니라, 고성능의 학습 디바이스가 필요할수 있다.

  • 참고: Overfitting 이슈도 존재할수 있기에, 학습 모델의 신뢰도가 낮아진다.

FCL(Fully Connected Layer)

CNN을 사용하게 되면, Fully Connected Layer의 입력에 불필요한 정보는 제외하고 특징만을 학습시킬수 있어, 학습 효율이 크게 향상될수 있으며 Overfitting 문제에서 벗어날수 있게한다.

  • 참고: 사람의 시신경도, 물체의 특징에 강한 화학 작용을 한다. CNN은 이런 시신경의 구조를 모방한 형태라고 볼수 있다.
  • 참고2 Convolution 이라는 뜻은, 합성곱 이라고 한다 (하나의 함수를 반전된 다른 함수와 곱하는것을 뜻한다). 하지만 Convolution Operation 에서는 실제로 하나의 함수(CNN 에서는, 필터 및 입력값)를 반전을 시키지는 않는다고 한다.


Convolution Equation

Keywords

CNN에서 중요하다고 생각되는 키워드이다.

  1. Convolution Operation
  2. Channel
  3. Filter and Kernel
  4. Stride
  5. ReLU
  6. Feature Map (Activation Map)
  7. Pooling (Max Pooling)

Working Process of CNN

CNN의 Working Process를 간단하게 나열하자면 아래와 같다.

  1. Input Image: Convolution Layer의 입력으로 들어가는 원본 이미지
  2. Extracting features using Kernels in a filter (At least one) than generate Feature Map (+ReLU): 입력된 이미지 데이터로 부터, Filter를 Overlapping 하여 Feature 추출 후, Feature Map 생성. 실제 Convolution Layer에서 Convolution Operation이 작동하는 과정을 뜻한다.
  3. Pooling: Convolutio Operating으로 생성된 Feature Map으로 부터, 최대값 (Max Pooling 일 경우)을 뽑아내어 Row, Column 크기를 줄인다.
  4. Repeat #1 to #3 - 반복
  5. Flatten the pooled feaure map - Fully Connected Layer로 데이터를 학습시키기 위해, Column Vector 의 형태로 Transform 하는 과정이다.
  6. Input the flattened data to Fully Connected Layer. - 이하 동문 !

다음 프스팅 부터 Keywords를 기준으로 포스팅 진행 후 간단한 코드 리뷰를 해볼 예정이다.

profile
Greek Yogurt

0개의 댓글