반응형

CNN이란?

- 합성곱 신경망(Convolutional Neural Networks)은 주로 이미지 인식, 영상 분석, 객체 탐지 등 시각적 데이터 처리

- 합성곱 층, 풀링 층, 완전연결 층의 구조를 가짐

 

 

합성곱 층 (Convolutional Layer)

- 이미지와 같은 데이터에서 유용한 특징을 추출하는 역할을 함

- 입력 데이터에 필터(또는 커널)를 적용하여 합성곱 연산을 수행함으로써 특징 맵 (feature map)을 생성

- 데이터의 공간적 구조를 유지하면서 유의미한 패턴 (가장자리, 질감 등)을 학습

 

합성곱의 연산

 

 

풀링 층 (Pooling Layer)

- 특징을 유지한 채로, 입력 이미지의 크기를 작게 만드는 층

- 특징맵의 특징맵을 만드는 레이어

- 최대 풀링, 평균 풀링 등의 방법이 있음

풀링층 예시

 

 

완전연결 층 (Fully Connected Layer)

- 합성곱 층, 풀링 층을 지나 분류를 수행하는 층

- 일반적인 DNN 구조와 비슷함

 

 

 

CNN 연산의 주요 특징

1) 합성곱 패딩

- 커널을 통과하면 특징 맵이 원본 크기보다 작아지는 것을 방지하기 위해 가장자리에 패딩을 줌

- 일반적으로 1의 패딩을 적용 (커널 사이즈는 일반적으로 3*3)

 

2) Stride

- 커널이 이동하는 간격

- 일반적으로 "1"을 적용

 

 

 

PyTorch에서의 CNN

import torch

nn.Conv2d(1, 4, k=3, p=1)
# 1 : 입력 채널 수
# 4 : 출력 채널 수
# k=3 : 커널의 크기
# p=1 : 패딩의 크기
반응형
복사했습니다!