2023. 5. 5. 22:34ㆍCS231N강의 정리
Convolutional Neural Networks
Fully Connected Layer
Fully Connected Layer는 이전 Layer의 모든 노드와 연결되어 있습니다. 따라서 Spatial Structure(공간적 구조)를 보존하기에 좋은 구조는 아닙니다.
Fully Connected Layer의 역할: 어떤 벡터를 가지고 연산을 합니다.
Convolution Layer
Spatial Structure(공간적 구조)를 보존해줍니다.
작은 필터로 이미지를 슬라이드하며 dot product를 실행합니다.
기존의 FC layer가 입력 이미지를 전개를 하였다면 이제는 기존의 이미지 구조를 그대로 유지를 하여 작업을 이루어지게 전개합니다. 다음 filter는 가중치가 되는 것입니다.
이 필터를 이용해 하나의 지역에 대해 하나의 값을 뽑아내게 됩니다. 필터는 w이고 WtX+b으로 score를 구하여 나타냅니다.
위 32x32x3의 이미지에 대해 5x5x3 convolution filter를 통해 28x28x1 크기의 activation map을 뽑아내게 됩니다. 이 activation map은 5x5x3 filter를 거쳐 특징이 뽑아진 층입니다.
파란색 필터 말고 초록색 필터를 이용해 특징을 뽑으면 새로운 activation maps이 나오게 됩니다.
만약 6개의 filter가 있다면, 6개의 activation maps이 생성이 됩니다.
위와 같은 과정을 반복해서 Convolution layer를 쌓을 수 있습니다.
Convolution network를 쌓아 만든 classifer의 구조 모습입니다.
위 사진과 같이 3x3 7x7과 같이 영역 별로 학습을 하며 이를 통해 5x5이 만들어 지게 됩니다.
acitvaiton map이 생성 되는 과정, image에 filter가 sliding되며 한 번씩 옮겨가며 값을 뽑아, activation map이 만들어 집니다.
그 다음 5x5 output activation map이 생성이 됩니다.
하지만 1번씩 이동하지 않고 2번 또는 3번씩 이동이 가능하며 한 번에 이동하는 것을 stride라고 합니다.
위 이미지에서 stride3가 되면 값이 나누어지지 않아 불가능 합니다.
Zero Padding
Zero Padding이란 양쪽 사이드에 zero 값을 둘러주어 image의 크기를 늘립니다.
padding을 사용하는 이유는 convolution 연산을 할 때마다 activation map의 크기는 점점 줄게 되 image가 없어짐으로 layer에 문제를 발생시킵니다.
pooling이 없다면 side에 있는 데이터들의 feature를 가운데에 부분보다 더 적게 뽑아 문제가 발생합니다. (DSP에서 배웠던 내용과 유사한 부분이 있음.)
1x1 convolution layers
Filter의 개수에 따라 output의 depth는 달라지지만, 기존 이미지의 가로 세로 사이즈는 유지되게 됩니다.
이때, filter의 개수를 input dimension보다 작게 하면, dimension reduction의 효과가 있다고 합니다.
하나의 filter 영역 연산에 대해 1개의 숫자 output이 나오며 뉴런의 local connection과 비슷한 점을 가지고 있습니다.
같은 영역에 따라 filter 개수 만큼의 값들이 나오며 5개의 filter를 사용해 5개의 숫자가 나오지만 각각 다른 filter를 사용했음으로 각각 다른 특징을 가집니다.
FC의 경우 하나의 output이 모든 input에 대한 특징을 가지고 있습니다.
Pooling Layer
Pooling은 image의 특징을 유지하며 크기를 줄이는 역할을 합니다.
MAX Pooling은 큰 값들을 뽑아냅니다.
'CS231N강의 정리' 카테고리의 다른 글
(CS231N 정리)Lecture 6 : Training Neural Networks (0) | 2023.05.15 |
---|---|
(CS231N 정리)Lecture 4 : Backpropagation and Neural Networks (0) | 2023.05.01 |
(CS231N 정리)Lecture 3 : Loss Functions and Optimization (0) | 2023.04.29 |
(CS231N 정리)Lecture 2 : Image Classification (0) | 2023.04.29 |