1 분 소요

Convolutional Neural Network

합성곱

합성곱의 수식

두 함수가 겹치는 영역을 적분한 합성함수

image

image

이미지에서의 합성곱

  • 이미지를 변환하는 “필터”(Filter)의 의미를 가짐
  • 이미지 처리에서 “커널”(Kernel)로도 활용

image

이미지에서의 합성곱의 과정

image

합성곱 층

합성곱 필터를 학습 가능한 매개 변수로

  • 합성곱 필터는 주어진 임무를 반별하기 위한 매개변수로 학습됨

image

왜 합성곱을 사용하는가?

  • 다층 퍼셉트론으로 이미지 인식을 하면 모수의 수가 이미지의 크기에 따라 증가
  • 합성곱은 모수의 수를 공유 (Local Connectivity)

image

합성곱의 적용

  • 행렬(3D Volume)로 표현된 입력에 합성곱을 적용하는 방식은 별도의 초모수가 지정되지 않은 경우 원소 단위로 움직임

image

합성곱의 구성

패딩(P)

  • 합성곱 필터가 입력 행렬을 벗어나는 경우를 방지, 양대각의 마지막 원소의 정보 손실 처리, 출력 행렬의 크기 조정을 위해 0을 추가

image

스트라이드(S)

  • 스트라이드는 합성곱 필터가 움직이는 단위를 결정

image

합성곱 층의 적용

  • W × H 크기의 합성곱이 D의 채널로 구성된 합성곱 필터가 K개 있는 경우

image

  • 합성곱 층의 적용 예시

image

  • 합성곱 층의 출력 형태 계산

image

합성곱 층의 계산

  • 데이터의 중복을 허용하면 반복적인 행렬곱으로…

image

풀링층

다운 샘플링을 위한 풀링층(Pooling Layer)

  • 합성곱 층을 거친 출력의 크기를 줄이는 특징을 추출하는 역할
  • 크기가 줄어듦에 따라 학습 가능한 가중치가 줄어드는 효과
  • 정방 행렬의 원소(최대 4x4)에서 최대 값을 추출하는 Max pooling과 평균을 취하는 Average Pooling이 있음

image

편평층

편평 층(Flattening Layer)은 행렬의 벡터화

  • 비선형적인 현상의 분류기(다층 퍼셉트론에서의 은닉층)에 적용시키기 위해, 행렬로 표현된 정보를 벡터로 대체

image

합성공 신경망의 구조

- 입력 → 합성곱 층 → 풀링 층 → 편평 층 → FC 층 → 분류

image


합성곱 신경망의 구조 예시

image

잔차 층

잔차 층(Residual Layer) 더 깊은 신경망 구성을 위한 장치

  • 2015년 ILSVRC의 우승팀인 MSRA에서 개발한 신경망으로 최대 152층 구성
  • SKip Connection이라고도 지칭됨

image

합성곱 신경망의 활용 방법

이미 학습된 모델(Pre-trained model) 활용

  • 데이터가 비슷하다면 마지막 분류층만 재학습(fine-tuning)
  • 과업이 비슷하다면 전체 가중치를 재학습(transfer learing)
  • Pre-trained 모델은 공개 SW를 통해 활용 가능

image

참고자료

  • https://en.wikipedia.org/wiki/Convolution
  • https://en.wikipedia.org/wiki/Kernel_(image_processing)
  • 추형석, 엑사스케일과 인공지능, 그리고 양자컴퓨터(2021)
  • https://cs231n.github.io/convolutional-networks/
  • https://en.wikipedia.org/wiki/Convolutional_neural_network
  • https://towardsdatascience.com/what-is-residual-connection-efb07cab0d55
  • https://keras.io/api/applications/

댓글남기기