참고: https://lynnshin.tistory.com/7?category=919376
1. Fully Connected Layer
Fully Connected Layer는 32x32x3의 이미지를 펴서 3072차원의 벡터로 만든뒤 가중치 W(10x3072 행렬) 벡터를 곱해서 activation을 layer의 출력값으로 얻는다.
2. Convolutional Layer
Fully Connected Layer와 달리 기존의 구조를 보존시킴.
activation map은 activation function과 연산을 하게 된다.
stride만큼 필터를 슬라이딩 시키면서 activation map이 생성됨
보통 필터의 갯수는 powers of 2로 정함(eg. 32,64,128,512)
필터의 개수만큼 activation map이 생김(아래는 6개의 필터)
output size: (N-F)/stride+1
패딩을 할 수도 있음!->기존 크기로 만들 수 있음.
패딩을 하면 (N-F+2P)/S+1
3. Max Pooling
downsampling하는 것이고, depth에는 영향을 주지 않는다!
pooling layer에서는 zero-padding을 사용하지 않는다.
필터의 크기 및 stride는 보통(F=2,S=2) 혹은 (F=3,S=2)
최종적으로는 다음과 같은 뉴럴넷 모양이 됨!
마지막 Conv Layer의 출력을 모두 펴서 1차원 벡터로 만들어 FC Layer의 입력으로 사용한다.
마지막 Layer부터는 spatial structure를 신경쓰지 않아도 된다.
4. 최근 트렌드
1) smaller filters & deeper archietectures
2) POOL/FC layer는 제거하고 just CONV만
3) 보통 architecture 아래 형태!
http://cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.html
'딥러닝 > cs231n' 카테고리의 다른 글
7. Training Neural Networks 2 (0) | 2024.04.29 |
---|---|
6. Training Neural Networks 1 (0) | 2024.04.08 |
4. Introduction to Neural Networks (0) | 2024.04.02 |
Lecture 3: Loss Function and Optimization (0) | 2024.04.01 |
Lecture 2 : Image Classification Pipeline (0) | 2024.04.01 |