본문 바로가기
Deep Learning/CNN

CNN 개념 한번에 공부하기 [1]

by 한PU 2024. 6. 7.
728x90
반응형

학부 3학년 여름방학이 시작했습니다. CNN을 열심히 공부할 생각입니다.

현재 진행하고 있는 프로젝트의 목표가 HW YOLO Implementation인 관계로, Implementation에만 집중할 예정입니다.

즉, 딥러닝에서의 학습 과정은 완전히 무시하고 공부할 예정입니다.


CNN 이란?

CNN (Convolutional neural network, 합성곱 신경망)은 이미지, 음성 인식 등 다양한 분야에서 사용된다.

특히 이미지 인식 분야는 CNN을 기초로 많은 딥러닝 모델이 뻗어 나갔다.

 

CNN 전체 구조

여러 하위 개념을 통해 CNN의 전체 구조를 이해해보자.

FC?

FC (Fully-Connected, 완전 연결)는 인접한 계층의 모든 뉴런이 연결된 형태를 말한다.

[그림 1] FC Layer

Affine Layer?

Affine Layer는 FC Layer 혹은 Dense Layer라고도 부른다.

즉, 모든 뉴런이 완전히 연결된 (FC) layer이다.

 

FC Neural Network와 CNN의 구조 차이

FC Neural Network

[그림 2] FC Neural Network Block Diagram

기존의 Affine layer로 이루어진 신경망이다.

Affine layer 이후 Activation Function으로 ReLU를 차용하여 이어진다.

마지막 Softmax layer에서 최종 결과를 출력한다.

 

CNN

[그림3] CNN

CNN에서는 Convolution Layer (Conv, 합성곱 계층)와 Pooling Layer 가 추가된다.

Pooling Layer는 모델에 따라 생략하는 경우도 있다. 

즉, Conv - ReLU - (Pooling)의 흐름

 

CNN은 그럼에도 기존의 Affine - ReLU 구성을 사용할 수 있다.

이는 Output Layer에 가까운 층에서 사용된다.

 

또한, 마지막 Layer는 기존의 Affine - Softmax 조합을 그대로 사용한다.

이것이 일반적인 CNN의 구성이다.

 


이번 글에선 CNN 기본 구성에 대한 내용까지 정리했습니다.

다음 글에선 스트라이드, 패딩, 커널, 필터 등의 CNN 하위 개념을 여러가지 소개할 것 같습니다.

728x90
반응형

'Deep Learning > CNN' 카테고리의 다른 글

CNN 개념 한번에 공부하기 [2]  (0) 2024.06.17