CNN 11 - CNN의 구조

김성빈·2024년 5월 23일
0

Modern Computer Vision

목록 보기
61/117

이제 CNN에 대해서 알아볼건데,

아래 합성곱 신경망(CNN)의 구조를 시각적으로 보여주는 예시를 보자

간단한 CNN


자세한 내용말고 흐름을 보자.

1. Conv_1 (First Convolutional Layer)

input image를 받고 컨볼루션해서 특징맵을 생성하고 Conv_2 레이어로 전달

2. Conv_2 (Second Convolutional Layer)

받은 값으로 또 특징맵을 만들고 Max Pooling Layer로 전달

3. Max pooling

효율성을 높이기 위해 특징 맵의 크기를 줄인다.
연산량 감소로 4x4 에서 2x2로 바꾸면 연산량이 1/4로 줄어든다.

4. Flatten

3차원 텐서(16x16 크기의 24개 특징 맵) 를 1차원 벡터로 변환

5. Fully Connected Layer (FC)

1차원 벡터를 전부 합침

6. Output Layer

Softmax 함수를 통해 각 노드가 특정 클래스에 속할 확률을 출력


복습으로
ReLU는 활성화 함수로 컨볼루션 연산할때 부정적인 것들은 0으로 만들어주고 긍정적인 것들은 그대로 들고가는것

다른 표현방식


다른 방식으로 표현한건데 보면서 이해가 잘되는지 한 개씩 살펴봐두면 좋다.

Conv_1의 사이즈


𝑛: 입력 이미지의 크기 (한 변의 길이)
𝑓: 필터(커널)의 크기 (한 변의 길이)
s: 스트라이드 (stride)
p: 패딩 (padding)

Conv_2의 사이즈



𝑛: 입력 이미지의 크기 (한 변의 길이)
𝑓: 필터(커널)의 크기 (한 변의 길이)
s: 스트라이드 (stride)
p: 패딩 (padding)

Max Pool Size

Flatten Size


구성과 흐름, 그리고 구성 요소들의 사이즈들을 계산하는 방법을 봤는데

실습을 통해 이해를 내것으로 만들자.

profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글