ch.7 합성곱 신경망(CNN)(1)

pasongtak·2024년 5월 25일

딥러닝

목록 보기
9/11

전체 구조

  • 완전연결: 인접하는 계층의 모든 뉴런과 결합 되어있는 것
    • Affine계층: 완전연결된 계층
  • CNN: 합성곱 계층(Conv)와 풀링 계층(Pooling)이 추가되며, Conv-ReLU-(Pooling)로 연결된다

합성곱 계층

완전연결 계층의 문제점

데이터의 형상이 무시된다. 완전연결 계층에 입력할 때는 3차원 데이터를 1차원 데이터로 평탄화해줘야한다.

  • 특징 맵: 합성곱 계층의 입출력 데이터
    • 입력 특징 맵: 합성곱 계층의 입력 데이터
    • 출력 특징 맵: 합성곱 계층의 출력 데이터

합성곱 연산

  • 합성곱 연산: 이미지 처리에서 말하는 필터(커널) 연산, 필터의 윈도우를 일정 간격으로 이동해 가며 입력 데이터와 필터에 대응하는 원소끼리 곱하고 총합을 구한다.
  • CNN에서는 필터의 매개변수가 가중치에 해당한다.
  • 편향은 필터를 적용한 후 데이터에 더해지는데, 항상 하나만 존재하고 필터를 적용한 모든 원소에 더한다.

패딩

  • 패딩: 합성곱 연산을 수행하기 전에 입력 데이터 주변을 특정 값으로 채우는 것, 주로 출력 크기를 조정할 목적으로 사용한다.

스트라이드

  • 스트라이드: 필터를 적용하는 위치의 간격
  • 출력 크기: (OH, OW), 입력 크기: (H,W), 필터 크기: (FH, FW), 패딩: P, 스트라이드: S

OH = (H + 2*P - FH)/S + 1

OW = (H + 2*P - FW)/S + 1

3차원 데이터의 합성곱 연산

  • 채널 쪽으로 특징 맵이 여러 개 있다면 입력 데이터와 필터의 합성곱 연산을 채널마다 수행하고, 그 결과를 더해서 하나의 출력을 얻는다. 이때 입력 데이터의 채널 수와 필터의 채널 수가 같아야 한다.

블록으로 생각하기

  • 3차원 데이터를 다차원 배열로 나타낼 때: (채널(channel), 높이(height), 너비(width))
    • (채널 수(C), 높이(H), 너비(W)), (채널 수(C), 필터 높이(FH), 필터 너비(FW))
  • 필터(가중치)를 다수 사용하면 합성곱 연산의 출력으로 다수의 채널을 내보낼 수 있다. 필터를 FN개 적용하면 출력 맵도 FN개가 생성된다.

배치 처리

  • 합성곱 연산에서의 배치 처리는 각 계층을 흐르는 데이터의 차원을 하나 늘려 4차원 데이터로 저장한다.
    • (데이터 수, 채널 수, 높이, 너비)

풀링 계층

  • 풀링: 세로, 가로 방향의 공간을 줄이는 연산, 최대 풀링
  • 풀링의 윈도우 크기와 스트라이드는 같은 값으로 설정한다.

풀링 계층의 특징

  1. 학습해야 할 매개변수가 없다.
  • 풀링은 대상 영역에서 최댓값이나 평균을 취하는 명확한 처리이므로 특별히 학습할 것이 없다.
  1. 채널 수가 변하지 않는다.
  • 채널마다 독립적으로 계산하기 때문에
  1. 입력의 변화에 영향을 적게 받는다.

0개의 댓글