728x90
해당 강의는 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.


VGG net의 골자인 첫번째 구조를 table로 나타낸 것이 위 표의 D 부분이다. 해당 부분에 대해 순서대로 이해해 보겠다.
- Input data : input으로는 3x224x224 size의 image를 받는다.
- conv3-64 통과 : conv3-64는 64x3x3x3을 의미하는데 이는 64개의 3x3x3 필터로 이미지를 컨볼루션 하겠다는 의미이다. (zero padding은 1로 설정한다고 논문에 나와있다.
- 출력 shape : conv3-64를 거치면 64x224x224
- conv3-64 통과 : 위의 출력 shape에 대하여 conv3-64의 필터는 64x64x3x3
- 출력 shape : conv3-64를 거치면 64x224x224
- maxpool 통과 : 2x2, stride=2인 maxpool 통과
- 출력 shape : 64x112x112
- conv3-128 통과 : 위의 출력 shape에 대하여 conv3-128의 필터는 128x64x3x3
- 출력 shape : 128x112x112
- 위와 같은 과정 반복...
- 마지막 maxpool 통과
- 출력 shape : 512x7x7 (특징을 표현하는 7x7size가 512개 존재)
- FC-4096 : (FC : Fully Connected) 마지막엔 결국 CNN을 통과하게 되는데, 노드 하나를 만들기 위해서는 512x7x7개의 weight가 필요하다. 이러한 노드를 4096개 만든다.
- FC-4096 : 노드를 4096개 만든 다음 앞서 만든 4096개의 노드를 연결한다.
- FC-1000 : 1000종류의 class로 분류하기 위해 마지막 노드를 1000개로 줄인다.
위와 같은 흐름에서,
max pooling을 통해 생성되는 값은 비유하자면 반대표->학년대표->학교대표->시대표 처럼 점점 더 넓은 구역을 대표하게 된다.
결국 7x7개의 시대표들이 각 시의 512개 특징을 가지고 분류한다.
channel 수는 두 배로 늘리면서 점점 더 많은 특징을 포착하도록 한다.
728x90
'AI' 카테고리의 다른 글
seq2seq (시퀀스 to 시퀀스) (0) | 2024.09.12 |
---|---|
RNN (Recurrent Neural Network) (0) | 2024.09.12 |
Padding, Stride, Pooling (0) | 2024.09.11 |
CNN (Convolution Neural Network) (1) | 2024.09.10 |
Regularization (Overfitting 방지 방법) (0) | 2024.09.10 |