CNN 기초 개념

문호준·2022년 12월 8일
0

Convolution(합성곱) : 이미지 상의 어떠한 특징이 어느 부분에서 나타나는지를 찾는 방법

  • 이미지 처리와 신호 처리 분야에서 매우 유명한 도구
  • 합성곱 신경망은 크게 합성곱층과(Convolution layer)와 풀링층(Pooling layer)으로 구성
  • 합성곱 연산을 통해서 이미지의 특징을 추출하는 역할

conv2D

parameter 종류

1. filters

  • 몇 개의 다른 종류의 필터를 활용할 것인지를 나타냄
  • 출력 모양의 깊이(depth)를 결정
  • filters= 를 생략하고 숫자만 사용할 수 있음.
  • 필터의 개수에 따라 출력 이미지 수도 바뀜.

2. kernel_size

  • n×m 크기의 행렬
  • 높이(height) × 너비(width) 크기의 이미지를 처음부터 끝까지 겹치며 훑으면서 n×m 크기의 겹쳐지는 부분의 각 이미지와 커널의 원소의 값을 곱해서 모두 더한 값을 출력으로 하는 것을 말합니다
  • 이미지의 가장 왼쪽 위부터 가장 오른쪽 아래까지 순차적으로 훑습니다.

커널(kernel)은 일반적으로 3 × 3 또는 5 × 5를 사용합니다.

3. stride

  • 커널의 이동 범위가 위의 예제에서는 한 칸이었지만, 이 또한 사용자가 정할 수 있습니다. 이러한 이동 범위를 스트라이드(stride)라고 합니다.

  • 스트라이드의 연산

    input의 사이즈: n x n

    output의 사이즈: m x m

    kernel_size: k x k

    stride 값: s

4. padding

  • 입력의 가장자리에 지정된 개수의 폭만큼 행과 열을 추가하는 과정.
  • 패딩을 0으로 설정하면 가장자리 값은 0으로 채워집니다
  • 이미지 데이터의 축소 방지
  • 가장자리 학습

5. activation function

  • 활성화 함수는 뉴런에 공급되는 입력과 다음 레이어로 가는 출력 사이의 관문입니다
  • 뉴런의 활성화 여부를 결정하는 기능을 합니다.

Activation function의 기능

Linear or Identity Activation Function

  1. 역전파가 불가능합니다.

함수의 도함수는 상수이고 입력과 관련이 없습니다. 그렇기 때문에 돌아가서 어떤 가중치가 더 나은 예측을 제공할 수 있는지 이해하는것은 불가능합니다.

  1. 신경망의 모든 계층은 하나로 축소됩니다.

선형 활성화 함수를 사용하면 신경망의 계층수에 관계없이 마지막 계층은 첫 번째 계층의 선형 함수가 됩니다.

**Non-linear Activation Function**

  1. 비선형 활성화 함수는 미분 함수를 가지고 있기 때문에 역전파를 허용합니다.

  2. 이를 통해 여러 계층의 뉴런을 ‘stacking’하여 심층 신경망을 만들 수 있습니다. 높은 수준의 정확도로 복잡한 데이터 세트를 학습하려면 여러 숨겨진 뉴런 계층이 필요합니다.

profile
고수

0개의 댓글