250x250
Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

SYDev

Convolution Neural Network(합성곱 신경망) 본문

KHUDA 4th/Computer Vision

Convolution Neural Network(합성곱 신경망)

시데브 2023. 9. 24. 19:44
728x90
CNN을 공부하다보니 convolution 연산이 나오는데, 내가 아는 convolution 연산
(함수가 두 개 있으면 하나를 뒤집어서 겹치는 넓이를 나타내는 연산)이랑 조금 다르다..?
행렬에서의 convolution 개념을 따로 정리할 필요성을 느낌

 

행렬에서의 Convolution 연산

  • 이미지의 특징을 추출하는 연산!
  • filter는 matrix에 따라 역할이 달라진다.
  • 입력 이미지와 필터 사이에 convolution 연산으로 나온 결과feature map이라 한다.

행렬에서의 convolution

 

>> convolution 연산을 통해서 Image의 size를 줄일 수 있다.

 

stride

  • filter의 이동 범위를 사용자가 직접 정할 수 있는데, 이런 이동범위를 스트라이드(stride)라 한다.
  • 아래는 stride가 2인 경우를 보인다.

https://wikidocs.net/64066

 

padding

  • 합성곱 연산으로 얻은 feature map은 기존 이미지보다 size가 작아진다는 특징이 있다.
  • 합성곱 연산 이후에도 size를 input image와 동일하게 유지하고 싶으면 padding을 이용하면 된다.
  • 입력을 하기 전에 input image의 가장자리에 지정된 개수의 폭만큼 행과 열을 추가해주는 것을 padding이라 한다.

 

Convolution Neural Network

 이런 convolution 개념을 다음과 같이 neural netwrok에 접목시킨 것이 CNN이다.

CNN

  • 이미지의 모든 픽셀을 사용하는 것이 아니라, filter와 맵핑되는 가중치만을 입력으로 사용하기 때문에, 다층 퍼셉트론의 경우보다 훨씬 적은 수의 가중치를 사용하여 공간 구조의 정보를 보존한다는 특징이 있다.
  • 다층 퍼셉트론의 경우와 마찬가지로 활성화 함수를 통해서 비선형성을 얻는데, 이와 같이 합성곱을 통해 feature map을 얻고 활성화 함수를 지나는 연산을 하는 layer를 convolution layer라 한다.

 

CNN의 Bias

  • CNN에서도 Bias를 더할 수 있는데, feature map을 구한 다음에 bias를 더한다.

 

 

Pooling

  • 보통 합성곱 층 다음에 위치하며, 특성 맵(feature map)을 다운샘플링한다.
  • Pooling에는 max poolingaverage pooling이 있다.
  • max pooling: 커널과 겹치는 영역 안에서 최대값을 추출
  • average pooling: 커널과 겹치는 영역 안에서 평균을 추출

max pooling

 


 

[딥러닝] Convolution and Pooling in CNN

2020/12/12 - [2020/데이터사이언스개론] - [딥러닝] Convolution and Pooling in CNN 이전 글과 연결되는 합성곱신경망에서 Convolution과 Pooling입니다! [도입] 컴퓨터 비젼에서는 다음과 같이 선,모양(구조 간단)

lheon.tistory.com

 

11-01 합성곱 신경망(Convolution Neural Network)

합성곱 신경망(Convolutional Neural Network)은 이미지 처리에 탁월한 성능을 보이는 신경망입니다. 하지만 합성곱 신경망으로 텍스트 처리를 하기 위한 시도들이…

wikidocs.net

 

728x90