<Fully Connected Layer>
- 초기에는 input image를 rlfrpvutj 3072차원의 벡터로 만들고 가중치 w를 곱하고, activation을 통해 출력을 얻었다.
<Convolution Layer>
- RGB color로(×3) 예시를 들자면, convolve filter를 두고 이 필터로 input의 이미지에서 특징을 추출한다.
- depth는 같아야 하고 결과적으로 5×5×3 convolve filter를 거쳐 28×28×1인 하나의 activation map이 나오게 되고 이것이 하나의 layer가 된다.
- 6개의 filter를 사용하면 6개의 activation maps가 나오고 depth는 6이 된다.
- 만약 stride가 3이면 fit하지 않음
- 이미지가 작으면 cnn층을 몇개 쌓지 않아도 sliding할 부분이 작이지고, 중간 영역들은 filter들이 중복되어 겹쳐보이는 반면 양쪽 side는 중간에 비해 보는 횟수가 적다. 따라서 zero-padding으로 양쪽 사이드에 zero값을 두른다. 그러면 7×7입력에 3×3 필터연산을 수행할때 zero-padding을 하면 7×7출력을 얻게 한다. (N=9, (9-3/1)+1)
- 일반적으로 filter가 3이면 zero pad를 1개만 하고, filter가 5면 zero pad를 2개함
- padding 써야 이미지 크기가 급격히 줄어드는 것 방지할 수 있다.
<The brain/neuron ivew of CONV Layer>
- 1×1 convolution layer를 inputdmfh Fully Connected layer에 넣음 → 하나의 filter에 대한 영역에서 1개의 숫자가 나오게 된다(local connect와 유사)
- 5개의 필터가 있으면 같은 영역에 대해 5개의 값 나옴(다 다른 특성으로)
<Pooling layer>
- activation maps의 사이즈를 줄인다.
- Max pooling : 가장 큰 값 추출
'데이터 > 딥러닝' 카테고리의 다른 글
CS231n_Lecture7:Training Neural Networks (0) | 2022.11.08 |
---|---|
CS231n_Lecture6:Training Neural Networks (0) | 2022.11.08 |
CS231n_Lecture4:Introduction to Neural Networks (0) | 2022.11.01 |
CS231n_Lecture3:Loss Functions and Optimization (0) | 2022.09.20 |
CS231n_Lecture1, 2:Image Classification pipeline (0) | 2022.09.20 |