ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 합성곱 신경망 | 합성곱
    Deep Learning/밑딥1 2021. 7. 5. 02:20
    728x90

    fully connected layer의 문제점

    이미지를 이동, 확대, 회전과 같은 변형에 취약

    고해상도 이미지를 입력할 경우 파라미터 수가 너무 많아진다. → 막대한 계산비용, 오버피팅

    시각 피질의 구조

    1981년 노벨 생리의학상은 시각 피질에 대한 연구에 수여함

    각각의 뉴런마다 반응하는 부분이 다르다

    합성곱 신경망은 이러한 특징을 이용하여 구현한다.


    행렬의 합성곱

    Filter : 3 x 3

    Padding : 1

    stride : 1

    위의 그림과 같이 합성곱 연산은 입력 데이터에 Filter를 적용한다. Kernel이라고 부르기도 한다.
    각 요소마다 필터와 이미지를 곱하고 총합을 구하여 출력을 낸다.

     

    합성곱 연산을 수행하기 전에 입력 데이터 주변을 0으로 채우기도 하는데 이를 Padding 이라 한다.

     

    필터를 적용하는 위치의 간격을 stride 라고 한다.

     

    합성곱 출력의 크기

     

    입력의 크기를 (H,W)

    필터 크기를 (FH, FW)

    출력의 크기를 (OH, OW)

    패딩을

    스트라이드를 S

    라고 할때, 합성곱 출력의 크기는 아래와 같다.

    위의 공식은 아래의 그림으로 이해하면 쉽다.

    OW 

    필터를 카드로 본다.

    필터의 움직임을 카드를 겹쳐 나열한 것으로 이해하자.

    카드가 겹쳐지지 않은 삐져나온 길이는 S 가 된다.

    W + 2P - FW  는 마지막 카드를 제외한 모든 S 를 더한 길이가 되고 그것을 S로 나눠주게 되면 마지막 카드를 제외한 카드의 개수가 나온다.

    마지막 카드 +1 을 해주면 OW, 출력의 크기가 나온다.

    OH

    얘도 위와 같은 방식으로 이해하면 된다.


    Sobel 필터

    수평 Sobel 필터

    수평선의 경계를 찾아내는 필터이다.

     

    수직 Sobel 필터

    수직선의 경계를 찾아내는 필터이다.

     

     

    하지만 딥러닝은 특징을 사람이 정해주지 않고 직접 학습한다.

    필터를 직접 학습하면서 찾아낼 것이다.

     


    텐서의 합성곱

     

    3차원 텐서의 합성곱

     

    이미지의 채널은 3채널 (R,G,B)

    필터의 채널이 이미지의 채널과 동일해야 합성곱을 할 수 있다.

     

    Filter : 3x3x3

    Padding : 1

    stride = 2

    Channel = 3

    Filter Number = 2


    합성곱 층의 특징

    필터와 편향을 학습시킨다.

     

    채널이 사라진다.

     

    입력 데이터 : N x C x H x W

    출력 데이터 : N x FN x OH x OW

     

    필터를 훈련시켜 낮은 층의 필터는 저수준의 로컬한 특징을 찾아내고

    높은 층의 필터는 더 고수준의 더 글로벌한 특징을 찾아내는 것이 목표다.

     

     

     

    이미지 출처 : https://sites.google.com/site/kyunghoonhan/deep-learning-ii?authuser=0

    728x90

    'Deep Learning > 밑딥1' 카테고리의 다른 글

    합성곱 신경망 | im2col  (0) 2021.07.07
    합성곱 신경망 | Max Pooling  (0) 2021.07.06
    학습 관련 기술 : 가중치 초기값  (0) 2021.06.25
    오차 역전파법 -1  (0) 2021.05.15
    엔트로피  (0) 2021.05.07

    댓글

Designed by Tistory.