[D&A DeepSession] 4차시 - CNN 기초

공부보따리·2023년 6월 10일
0
post-thumbnail

01.CNN

CNN(Convolution Neural Network)

: Convolution연산을 통해 이미지의 지역정보(Region Feature, Graphic Feature)를 학습하는 Neural Network

  • Convolution Layer : 공간정보(Region Feature)를 뽑아내기 위한 계층
  • Pooling Layer : 정보손실(Feature Dimension)을 줄이기 위한 계층
  • Fully Connected Layer : 최종적인 분류를 위한 계층

MLP(Multi Layer Perceptron)

: Perceptron으로 구성된 Layer를 여러개 쌓아 올린 형태로 구성되어 있는 모델

MLPCNN
이미지 픽셀 값을 Flatten 시켜 input으로 사용이미지의 지역정보를 input으로 사용
- 데이터의 형상 정보를 유지 못 함- 데이터의 형상 정보 유지

02.CNN 구조

Convolution Layer

: Input과 Filter간의 Convolution 연산을 수행하는 Layer

  • Channel
    - 흑백이미지는 2차원형상의 데이터로, 1개의 채널로 구성
    - 컬러 이미지는 각 픽셀을 RGB 3개의 실수로 표현한 3차원형상의 데이터로, 3개의 채널로 구성
  • Fillter( = Kernel)
    - 이미지의 Region 별 Feature를 찾아내기 위한 파라미터
  • Weight Sharing
    - Filter를 이동시킬때마다 같은 Weight를 사용(공유)하는 개념 ( 파라미터 수를 줄이기 위해 사용)
  • Convolution 연산
    - Filter를 일정 간격만큼 이동하여 Input과 대응하는 위치의 원소끼리 곱한 후 그 총합을 구하는 연산
    ➕ 공간정보를 유지하기위해 원소곱을 사용(행렬곱 행과 열이 섞여버리므로)
  • Stride
    - Feature를 뽑을때 Filter가 Input이미지를 돌면서 이동하는 간격
  • Padding
    - Convolution 연산을 수행하기 전에 데이터 주변을 특정값(ex. 0)으로 채우는것
    - 주로 출력 크기를 조정하기위해 사용
    - Zero Padding , Full Padding, Same Padding, Valid Padding etc.
  • output  channel  =  the  number  of  fillteroutput\;channel\;=\;the\;number\;of\;fillter
  • output  size  =  input  size+(2×padding)filter  sizestride+1output\;size\;=\;\frac{input\;size+(2\times padding)-filter\;size}{stride}+1

Pooling Layer

: Featuer의 가로,세로 방향 차원(Demention)을 줄이는 연산을 수행하는 Layer

  • 일반적으로 Conv Layer를 거친다음 적용
  • CNN의 학습속도를 향상시키기 위한 것으로 정보손실 有
  • 특징
    - 학습해야할 prameter가 없음 (영억에서 최대값이나 평균을 취하는 연산만 수행하기 때문)
    - Channel 수는 변하지 않음
    - 입력의 변화에 영향을 적게받음 (입력 데이터의 차이를 Pooling이 흡수해 사라지기 때문)
    - 최근에는 사용하지 않으려는 경향

Fully Connected Layer (FC Layer)

: 이미지를 정의된 라벨(클래스)로 분류하기 위한 Layer

  • 일반적인 MLP 구조와 동일
  • Pooling Layer에서 나온 Feature를 Flatten시킨 후에 MLP의 Input으로 놓고 학습 진행

03.Data Augmentation

: 데이터를 임의로 변경해 데이터의 수를 늘려 다양한 Feature를 뽑는 방법

  • Random Flip , Rotation, Scaling, Crop, Cutout, Cutmix etc.

0개의 댓글