섹션6, 컴볼루션 신경망(CNN)

이도현·2023년 9월 11일
0

1. 컴퓨터비전(Computer Vision)의 어려운 점들(Challenges)-컴퓨터가 바라보는 영상(Image)

  • 컴퓨터가 바라보는 이미지 = Pixel Intensity Matrix

  • 영상인식(Image Recognition)의 어려운 점들(Challenges)
    • 밝기변화(Illuminaition)
  • 영상 인식(Image Recognition)의 어려운 점들(Challenges)
    • 변형(Deformation)
    • 가림(Occlusion)
    • 배경장애(Background Clutter)
    • 같은 클래스라도 다양한 형태로 보인다.(Intraclass variation)
  • Handcrafted Freature vs End-To_End Learning
  • CNNs의 핵심 아이디어: Raw Image로부터 특징들 (Features)을 자동으로 학습하자!

2. CNN

  • Convolutional Neural Networkd(CNN)은 이미지 분야를 다루기에 최적화된 인경신경망 구조
  • 컨볼루션 신경망은 크게 Convolution Layer , Pooling(Subsampling) Layer로 구성

1) 컨볼루션층: 컨볼루션 연산을 통해서 이미지 특징을 추출해내는 역할

  • Convolution은 우리말로 합성 곱이라고도 불리는데 Kernel 또는 Filter라고 불리는 윈도우 크기만큼의 X X 크기의 행렬을 Y Y크기의 이미지 행렬의 X * X크기 부분과 곱해서 모두 더하는 수학 연산자
    • 가장 왼쪽 위부터 가장 오른쪽 아래까지 순차적으로 수행하는 연산
  • 커널의 종류에 따라 완본 이미지의 모서리 Edge를 추출하거나 원본 이미지를 좀더 명확한 이미지 Sharpent로 바꾸거나 원본 이미지를 흐리게 Blur 만들 수 있습니다.
  • 이렇게 추출한 활성화 맵은 원본 이미지에서 명확히 드러나지 않던 특징 들을 보여줍니다.
Wout=(WinF+2P)/S+1W_{out} = (W_{in} - F + 2P) / S + 1
  • 컨볼루션층을 거치면 인풋 이미지의 가로, 세로 차원이 축소
  • W_in 인풋 이미지의 가로길이
  • W_out 출력이미지의 가로길이
  • F 필터의 크기
  • S 스트라이드: 컨볼루션 연산 시 건너뛰는 정도
  • (WinF)/S(W_{in} - F) /S 의 차원이 정수로 나누어 떨어지지 않을 수 있기 때문에 인풋 이미지의 상하좌우 모서리에 P 만틈 0을 채워주는 제로패딩Zero-Padding 적용

Untitled

2) Pooling

  • 풀링층은 차원을 축소하는 연산을 수행
    • 이미지 차원을 축소합으로써 필요한 연산량을 감소시킬 수 있고, 이미지의 가장 강한 특징만을 추출하는 특징 선별효과
  • 최대값 풀링 Max Pooling
  • 평균값 풀링 Average Pooling
  • 최소값 풀링 Min Pooling

3. Dropout

  • Regularization: 오버피팅OverFitting을 방지할 수 있도록 만들어주는 기법들을 총칭해서 Regularization 기럽이라고 함
  • Dropout은 대표적인 Regularization 기법 중 하나
  • Dropout: 학습 과정에서 일부 노드를 사용하지 않는 형태로 만들어서 오버피팅을 방지할 수 있도록 만들어주는 기법

Untitled

  • Test Data에 대한 드랍아웃: Training Data에 대해서는 오버피팅을 방지하기 위해서 드롭아웃을 수행하지만 Test Data에 대해서는 Dropout을 수행하지 않습니다.
  • tf.nn.dropout
tf.nn.dropout{
	x, rate, noise_shape = None, seed = None, name = None
}

4. CIFAR-10 Database

  • 10개의 클래스, 50000개의 training images, 10000개의 testing images로 구성
  • 이미지 크기: 32 32 3 pixel(Color)
  • 레이블들: airplane, automobile, bird, cat, deer, dog, frog, horse, shpe, and truck
profile
좋은 지식 나누어요

0개의 댓글