#5.0 2D convolution 복습
#강의자료 표지는 ECE5992: Modern Artificial Intelligence, Il Yong Chun, 2025-03-19로 표기되어 있고, 5장 제목은 ‘Modern AI for image classification’이다.
#5.0은 2D convolution과 max pooling 복습으로 시작한다.
PyTorch convolution 모듈로 Conv1d, Conv2d, Conv3d의 생성자 형태를 나열한다.
torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0,
dilation=1, groups=1, bias=True, padding_mode='zeros', ...)
torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0,
dilation=1, groups=1, bias=True, padding_mode='zeros', ...)
torch.nn.Conv3d(in_channels, out_channels, kernel_size, stride=1, padding=0,
dilation=1, groups=1, bias=True, padding_mode='zeros', ...)
예시는 input channel 64, output channel 64, kernel 3, padding 1, stride 1의 2D convolution이다.
각 입력 채널에 대응하는 3×3 kernel 응답을 더한 뒤 bias를 더한다. 같은 kernel 묶음이 다음 위치로 이동하면서 출력 격자를 채운다.
- MAI-P5-001 · PyTorch convolution example configuration:
#max pooling 복습
PyTorch max-pooling 모듈로 MaxPool1d, MaxPool2d, MaxPool3d를 나열한다.
torch.nn.MaxPool1d(kernel_size, stride=None, padding=0, dilation=1,
return_indices=False, ceil_mode=False)
torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1,
return_indices=False, ceil_mode=False)
torch.nn.MaxPool3d(kernel_size, stride=None, padding=0, dilation=1,
return_indices=False, ceil_mode=False)
max-pooling 예시는 stride 2, padding 1을 사용한다.
padding을 포함한 입력에서 window 안의 최댓값만 남기고, stride 2만큼 이동해 다음 출력을 계산한다.
슬라이드는 convolution과 pooling의 spatial 이동을 실제 격자 값으로 대비한다.
- MAI-P5-002 · PyTorch max-pooling example configuration:
#5.1 ImageNet과 ILSVRC
#5.1 Trends of DL-based image classifications.
ImageNet을 WordNet noun hierarchy에 조직된 image database로 소개한다.
1,000 object classes, 약 1.2M train, 50K validation, 100K test 이미지를 명시한다.
ILSVRC는 2010-2017의 8년 역사 동안 deep learning 연구의 핵심 동력이었다고 서술한다.
초기 hand-crafted feature 기반 방식에서 AlexNet을 거쳐 VGG·GoogLeNet, ResNet, SENet으로 이어지며 top-5 오류가 빠르게 낮아진 상대적 흐름을 단순화해 그렸다.
-
MAI-P5-003 · ImageNet object-class count:
-
MAI-P5-004 · Dataset split sizes:
#5.2 AlexNet: 구조와 입력
#5.2 AlexNet — Overview / Details.
AlexNet을 ILSVRC 2012 winner로 소개하고 당시 약 60M parameters, 650K neurons의 큰 CNN이었다고 설명한다.
입력 이미지를 1,000 classes 중 하나로 분류하고, 1,000-dimensional output의 각 성분을 class probability로 해석하며 전체 합을 1로 둔다.
입력은 RGB 256x256으로 맞추며, 작은 쪽을 256으로 resize 후 crop한다. grayscale이면 single channel을 복제해 RGB 3-channel로 만든다.
학습 시 256x256 내부에서 227x227 random crop을 생성해 첫 layer에 넣는다.
AlexNet은 5 convolutional layers + 3 fully-connected layers로 구성된다.
초기 층은 큰 11×11 kernel과 stride 4로 해상도를 빠르게 줄이고, 다섯 convolution layer 뒤 세 fully-connected layer가 1,000개 class를 분류한다.
conv/FC 뒤에는 ReLU를 사용하고 초기 두 convolution 뒤에는 local normalization 후 pooling을 적용한다. 슬라이드는 이후 normalization이 큰 효용을 보이지 않았다고 덧붙인다.
ReLU가 tanh/sigmoid 같은 saturating activation보다 deep CNN 학습을 빠르게 했다는 점을 핵심으로 제시한다.
-
MAI-P5-005 · AlexNet scale stated in source:
-
MAI-P5-006 · 1000-dimensional classifier output:
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 지정된 항을 모두 더하는 연산 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
-
MAI-P5-008 · RGB input size:
-
MAI-P5-009 · Random crop fed to the first layer:
-
MAI-P5-010 · AlexNet layer summary:
#AlexNet: ReLU·augmentation·dropout
tanh는 큰 양/음 입력에서 saturate해 slope가 0에 가까워지고 gradient descent를 느리게 할 수 있다고 설명한다.
ReLU는 positive 영역에서 slope가 0에 가깝지 않아 optimization이 빠르다는 직관을 제시한다. negative 영역 slope는 0이라는 점도 함께 적는다.
overfitting 완화를 위해 mirroring과 random crops를 사용한다. mirroring은 dataset을 2배, random cropping은 자료 표현상 2048배로 늘린다고 적는다.
또 다른 regularization으로 dropout을 사용한다.
-
MAI-P5-011 · Training-error level used in ReLU-vs-tanh comparison:
-
MAI-P5-012 · Source says ReLU reached 25% error six times faster:
-
MAI-P5-013 · Mirroring doubles the dataset:
-
MAI-P5-014 · Source-reported random-cropping augmentation factor:
#5.3 VGGNet: 작은 kernel을 깊게 쌓기
#5.3 VGGNet — Overview / Motivation / Details.
VGG16은 16-layer CNN이며 ILSVRC-2014 상위 모델로 소개되고 ImageNet test accuracy 92.7%라고 적는다.
AlexNet의 큰 early kernels(11x11, 5x5) 대신 작은 3x3 filter sequence를 사용한다.
첫 convolution에서 3x3 receptive field, stride 1을 사용하며 AlexNet의 11x11 stride 4와 비교한다.
여러 작은 convolution을 쌓으면 더 많은 nonlinear activation을 삽입하면서 큰 receptive field의 기능을 얻는다는 motivation을 제시한다.
슬라이드는 작은 convolution이 over-fitting 경향을 낮추고 3x3이 spatial left-right/up-down 정보를 잡는 최소 크기라는 식의 설명을 제시한다.
VGG16은 약 138M parameters이며, 13 convolutional + 3 FC layers로 설명한다.
동일한 3×3 convolution을 여러 번 쌓아 receptive field를 넓히고, block 사이의 pooling으로 공간 크기를 절반씩 줄인다.
-
MAI-P5-015 · VGG16 depth:
-
MAI-P5-016 · Source-reported VGG16 test accuracy:
-
MAI-P5-017 · VGG versus early AlexNet kernel sizes:
-
MAI-P5-018 · VGG16 parameter count:
-
MAI-P5-019 · VGG16 layer decomposition:
#VGG16 세부와 GoogLeNet 진입
VGG input은 RGB 224x224이며 ImageNet에서는 center crop으로 크기를 일정하게 맞춘다고 적는다.
convolution은 주로 3x3을 쓰고 1x1 convolution도 사용한다. 1x1은 receptive field를 바꾸지 않으면서 ReLU와 함께 non-linearity를 늘리는 용도로 설명한다.
hidden layers는 ReLU를 쓰며 AlexNet식 Local Response Normalization은 시간/메모리를 늘리고 accuracy 개선이 작다고 설명한다.
pooling은 feature-map dimensionality와 parameter burden을 줄이며 channel 수는 64→128→256→512로 늘어난다.
FC layers는 4096, 4096, 1000 channels이다.
두 개의 3x3은 5x5, 세 개의 3x3은 7x7 receptive field에 대응한다고 설명한다.
세 3x3 layer는 세 번의 ReLU를 제공하고 27C^2 parameters로, 하나의 7x7의 49C^2보다 적은 parameter를 사용한다.
#5.4 GoogLeNet을 ILSVRC 2014 winner로 소개하며 ZFNet/AlexNet 대비 개선, VGGNet보다 낮은 error를 언급한다.
-
MAI-P5-020 · VGG image input:
-
MAI-P5-021 · Channel growth described in source:
-
MAI-P5-022 · Three FC widths:
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 전체 클래스 수 또는 행렬—문맥 확인 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 전체 클래스 수 또는 행렬—문맥 확인 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
#5.4 GoogLeNet: 1×1 bottleneck과 Inception
GoogLeNet은 중간에 1x1 convolution을 사용하고 끝에 FC 대신 global average pooling을 사용한다. 두 아이디어는 Network In Network에서 왔다고 설명한다.
Inception module은 같은 input에 서로 다른 convolution/pooling branch를 병렬 적용한 뒤 output을 stack/concatenate한다.
NIN의 1x1 convolution은 ReLU와 함께 representational non-linearity를 늘리는 관점으로 소개한다.
GoogLeNet에서는 1x1 convolution을 dimension reduction module로 사용해 computation bottleneck을 줄이고 depth/width 확장을 가능하게 한다.
14x14x480 input에 48-channel 5x5 convolution을 직접 적용하면 operation count가 112.9M이라고 계산한다.
먼저 1x1로 16 channels로 줄이고 5x5로 48 channels를 만들면 operation count가 5.3M으로 감소한다.
1×1 bottleneck으로 채널 수를 먼저 줄인 뒤 3×3·5×5 convolution과 pooling 경로를 병렬 실행하고, 결과를 channel 방향으로 이어 붙인다.
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
#Inception과 global average pooling
각 inception branch는 서로 다른 feature를 추출하고, branch outputs를 concatenate해 다음 module input으로 보낸다.
native inception의 계산량이 커서 branch 앞에 1x1 dimension reduction을 삽입해 cost를 줄인다.
#Global average pooling.
AlexNet식 network 끝의 FC layer 예에서는 7x7x1024x1024=51.3M connections가 필요하다고 계산한다.
GoogLeNet의 GAP는 각 7x7 feature map을 1x1로 평균내므로 별도 FC connection 없이 channel descriptor를 만든다.
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
- MAI-P5-031 · Global average pooling geometry:
#GoogLeNet 전체 구조·auxiliary classifier·ResNet 진입
GAP 예시의 추가 weight는 0이라고 적는다.
FC→GAP 변경으로 top-1 accuracy가 약 0.6% 개선되었다고 출처 설명을 제시하며 NIN의 overfitting 완화 아이디어라고 연결한다.
#Overall architecture.
GoogLeNet 전체 architecture는 총 22 layers이며 여러 inception modules를 연결해 깊어진다고 설명한다.
AlexNet/ZFNet/VGGNet보다 매우 깊지만 이후 ResNet보다는 얕다고 비교한다.
#Auxiliary classifiers for training.
중간 softmax branches는 training only auxiliary classifiers이며 loss를 total loss에 weight 0.3으로 더한다.
auxiliary branches가 vanishing gradient를 완화하고 regularization도 제공한다고 저자 주장으로 소개한다.
#5.5 ResNet — Overview.
ResNet은 ILSVRC 2015 winner이며 residual learning으로 훨씬 깊은 network를 비슷한 parameter 수로 train할 수 있게 했다고 설명한다.
depth가 증가하면 accuracy가 saturate 후 degrade하고, 단순히 overfitting 때문이 아니라 deeper plain model의 training error 자체가 커지는 degradation problem을 제시한다.
-
MAI-P5-032 · Source example: GAP adds no FC connections:
-
MAI-P5-033 · Source-reported top-1 gain after replacing FC with GAP:
-
MAI-P5-034 · Source says 22 layers in total:
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 샘플 수 또는 손실함수—문맥 확인 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
#5.5 ResNet: degradation과 residual block
ResNet 논문의 degradation 문장을 인용하며 더 깊은 suitably deep model에서 training error가 오히려 커지는 현상을 강조한다.
해결책은 residual learning이며 핵심은 residual/skip connection이다.
residual branch가 F(x)를 학습하고 shortcut의 x와 더한다. WRN은 같은 원리를 유지하면서 layer 수 대신 channel 폭을 키운다.
BN · ReLU
BN
F(x)+x
plain 34-layer는 plain 18-layer보다 validation error가 높고 training error도 전 구간에서 높아 degradation을 보인다.
원자료 각주. vanishing/exploding gradients는 초기 convergence부터 방해할 수 있으며 normalized initialization, intermediate normalization, ReLU 등으로 완화할 수 있다는 footnote를 보존한다.
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 입력 또는 특징 벡터 | |
| 정답·관측값 벡터 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
#ResNet 세부·BN·5.6 WRN
ResNet에서는 34-layer가 18-layer보다 좋은 결과를 보이고 training error도 낮아 plain-net degradation이 해결됨을 설명한다.
#Further details.
ResNet은 every convolutional layer 뒤에 batch normalization을 사용한다고 설명한다.
BN은 current batch mean/variance로 hidden activation을 normalize하며 일반적으로 nonlinear function 직전에 적용한다고 설명한다.
BN의 효과에 대한 해석은 확정되지 않았다고 적고, original internal covariate shift 설명, layer interdependency 완화 가설, optimization landscape smoothing 설명을 병렬로 소개한다.
ResNet에는 dropout을 쓰지 않는다고 적는다.
#5.6 Wide residual network (WRN).
ResNet을 widen하면 같은/더 좋은 accuracy에서 shallower network를 만들 수 있어 layer 수와 training time을 줄일 수 있다고 설명한다.
circuit complexity 관점에서 shallow circuits가 deeper circuits보다 exponentially more components를 요구할 수 있음을 언급한다.
thin/deep ResNet에서 gradient가 residual weights를 우회해 일부 block만 유용한 representation을 학습할 수 있는 diminishing feature reuse 문제를 설명한다.
WRN은 feature planes를 늘려 widen하고, deepening factor l과 widening factor k를 사용한다. k=1은 ResNet width, k>1은 k배 wider이다.
원자료 각주. BN이 nonlinear function 뒤에 적용되는 경우도 있다는 footnote를 보존한다.
- MAI-P5-037 · WRN widening-factor definition:
#WRN 비교와 5.7 DenseNet
표 원자료. ILSVRC-2012 validation single-crop table은 ResNet-50/101/152, WRN-50-2-bottleneck, pre-ResNet-200의 top-1/top-5 error, parameter 수, batch time을 비교한다.
WRN-50-2-bottleneck이 ResNet-152보다 3배 적은 layers로 더 빠르면서 pre-ResNet-200에 가까운 결과를 낸다고 설명한다.
Pre-Activation ResNet은 BN-ReLU-Conv, original ResNet은 Conv-BN-ReLU 순서를 쓰며 대체로 더 낫지만 around-100-layer ImageNet에서는 뚜렷한 개선이 없다는 설명을 덧붙인다.
#5.7 DenseNet — Overview.
DenseNet은 2017 CVPR Best Paper Award를 받았고, 각 layer가 모든 preceding feature maps를 input으로 받고 자신의 feature maps를 모든 subsequent layers에 전달한다고 설명한다.
standard network는 L connections, L-layer DenseNet은 L(L+1)/2 connections를 가지며 summation 대신 concatenation을 사용한다.
l-th layer는 모든 preceding feature maps로 이루어진 l inputs를 받는다고 설명한다.
- MAI-P5-038 · Standard network connection count:
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 샘플 수 또는 손실함수—문맥 확인 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
- MAI-P5-040 · The l-th dense layer receives l inputs:
#Dense block: sequential/addition/concatenation
Dense block에서 standard feed-forward network는 l-th output을 (l+1)-th input으로 연결한다.
표준 transition을 x_l=H_l(x_{l-1})로 정의하고 H_l을 convolution/ReLU/pooling/BN 등의 composite function으로 설명한다.
ResNet은 identity mapping과 element-wise addition을 사용해 x_l=H_l(x_{l-1})+x_{l-1} 형태를 만든다.
DenseNet은 모든 preceding features를 concatenation해 x_l=H_l([x_0,...,x_{l-1}])로 입력한다.
DenseNet의 H_l은 BN→ReLU→3x3 convolution의 연속 연산으로 정의된다.
dense blocks 사이 transition layer는 1x1 convolution 뒤 2x2 average pooling을 사용한다.
dense block 안에서는 feature-map sizes가 같아 concatenation이 가능하고 마지막 dense block 뒤에는 GAP와 softmax classifier를 붙인다.
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 입력 또는 특징 벡터 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 입력 또는 특징 벡터 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 입력 또는 특징 벡터 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
- MAI-P5-044 · DenseNet transition-layer structure:
#DenseNet의 growth rate와 장점
각 layer가 preceding feature maps를 재사용하므로 network를 thinner/compact하게 만들 수 있다고 설명한다.
growth rate k는 each layer가 추가하는 channel 수로 정의된다.
각 layer의 출력은 더해지는 대신 channel 방향으로 concatenate된다. 따라서 l번째 layer는 x₀부터 xₗ₋₁까지 모두 입력으로 받는다.
입력: H₃([x₀, x₁, x₂]) — 이전 feature를 channel 방향으로 연결
#Advantages of DenseNet.
strong gradient flow: final classification layer의 error signal이 earlier layers로 직접 전달되어 implicit deep supervision 효과가 있다고 설명한다.
parameter/computational efficiency: ResNet layer parameter가 CxC에 비례하는 반면 DenseNet은 lkk에 비례하고 k<<C라고 비교한다.
-
MAI-P5-045 · Growth-rate definition:
-
MAI-P5-046 · Source connectivity parameter scaling:
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 전체 클래스 수 또는 행렬—문맥 확인 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
#DenseNet feature reuse와 5.8 SE Network
DenseNet의 각 layer는 모든 preceding feature를 받아 더 diversified/richer patterns를 얻는다고 설명한다.
standard convolutional classifier는 가장 complex한 final features를 주로 쓰지만 DenseNet classifier는 여러 complexity level의 features를 이용할 수 있다고 설명한다.
저자 주장을 따라 이것이 smoother decision boundaries 및 data-insufficient setting의 성능과 연결될 수 있다고 설명한다.
#5.8 Squeeze-and-Excitation Networks.
SE architecture는 ILSVRC 2017 winner로 소개되고, 일반 CNN의 equal channel weighting 대신 content-aware adaptive channel weighting을 추가한다고 설명한다.
SE block은 거의 추가 cost 없이 channel interdependencies를 강화하는 lightweight gating mechanism으로 소개한다.
squeeze는 각 feature map을 single numeric value로 축약해 C-dimensional vector를 만들고, two-layer neural network가 같은 크기의 vector를 출력하며 그 C values로 original feature maps를 channel-wise scale한다.
- MAI-P5-048 · Squeezed channel descriptor size:
#SE squeeze·excitation·scale
SE weights는 각 channel importance에 따라 original feature map을 scale한다.
spatial 정보를 global average pooling으로 squeeze하고, 두 fully-connected layer와 sigmoid가 만든 channel weight를 원래 feature map에 곱한다.
squeeze equation은 spatial average로 z_c를 계산한다.
excitation equation은 two-layer bottleneck W1/W2, activation delta, sigmoid를 통해 channel gates s를 만든다.
scale equation은 s_c와 u_c의 곱으로 recalibrated channel을 만든다.
SE block은 ResNet, Inception 등 popular convolutional modules에 쉽게 통합할 수 있다고 설명한다.
top-1 score는 최고 probability class가 target label과 같은지 확인하는 metric이라고 설명한다.
SE blocks 자체는 depth를 추가하지만 computationally efficient한 방식이라는 문장이 p18 첫 줄까지 이어진다.
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 지정된 항을 모두 더하는 연산 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 + 계산 과정 4단계 계산 · 숫자 예제 · 검산 포함
이 식이 답하는 질문
선형 점수를 확률처럼 해석 가능한 값으로 어떻게 바꾸는가?
한 줄 핵심
점수 z에 음수를 붙여 지수함수를 계산하고 1+e^{-z}의 역수를 취한다.
Calculation walkthrough
계산 과정
- 1
선형 점수 z를 계산한다
- 2
음의 지수값을 계산한다
- 3
1을 더한다
- 4
역수를 취한다
Worked example
숫자로 직접 계산 — z=2일 때
양의 점수가 어느 정도의 출력으로 변하는지 본다.
- 1
지수
- 2
분모
- 3
역수
결과: 출력은 약 0.881이다.
Sanity check
검산 포인트
- z=0이면 정확히 0.5다.
- 큰 양수에서는 1, 큰 음수에서는 0에 가까워진다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 표준편차 또는 시그모이드 표기 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
핵심 수식
쉽게 설명 핵심 설명
이 식이 답하는 질문
이 수식이 본문에서 정의하거나 연결하는 대상은 무엇인가?
한 줄 핵심
별도의 실제 계산이나 유도 과정이 없는 수식에는 범용 계산 절차를 덧붙이지 않고, 문맥과 기호만 간결하게 확인한다.
Symbols
이 식에 실제로 나온 기호
| 기호 | 의미 |
|---|---|
| 입력 또는 특징 벡터 |
Reference-quality follow-up
같은 계산을 더 깊게 확인할 레퍼런스
- MAI-P5-052 · SE bottleneck widths with reduction ratio r:
#참고문헌
#References.
- [1] Simonyan & Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recognition, ICLR 2015.
- [2] Szegedy et al., Going Deeper with Convolutions, CVPR 2015.
- [3] LeCun et al., Gradient-Based Learning Applied to Document Recognition, Proc. IEEE 1998.
- [4] Lin, Chen & Yan, Network in Network, ICLR 2014.
- [5] He et al., Deep Residual Learning for Image Recognition, CVPR 2016.
- [6] Ioffe & Szegedy, Batch Normalization, ICML 2015.
- [7] Santurkar et al., How Does Batch Normalization Help Optimization?, NeurIPS 2018.
- [8] Huang et al., Densely Connected Convolutional Networks, CVPR 2017.
- [9] Hu, Shen & Sun, Squeeze-and-Excitation Networks, CVPR 2018.
#강의자료를 읽을 때 주의할 점
VGG 슬라이드의 ‘3x3 is the optimal/smallest possible size’는 spatial context를 동시에 보는 최소 odd kernel이라는 강의 직관으로 읽어야 한다. 1x1 convolution도 존재하며, 3x3이 모든 목적에서 보편적 최적이라는 뜻으로 일반화하면 안 된다.
AlexNet 슬라이드의 ReLU 직관 중 ‘most neurons usually end up positive’는 일반 정리로 취급하지 않는다. ReLU의 비포화 positive branch가 optimization에 유리했다는 역사적 설명과 해당 문장을 분리한다.
BN 효과 설명은 원자료처럼 multiple hypotheses를 보존한다. internal covariate shift 하나로 원인을 확정하지 않고, optimization landscape 및 reparameterization 관점이 후속 연구에서 논의됐음을 명시한다.
DenseNet의 ‘higher computational and memory efficiency’는 parameter reuse/compactness 맥락의 source claim이다. dense concatenation은 activation-memory traffic를 늘릴 수 있으므로 현대 구현의 hardware efficiency와 동일시하지 않는다.
SE architecture의 ILSVRC 2017 winner 표현은 source wording을 보존하되, challenge 종료 시점과 SENet의 competition result를 역사적 맥락으로 읽는다.
#2026-08-18 최신 연구 업데이트
ConvNeXt는 ResNet을 Transformer-era recipe로 단계적으로 modernize하면서 pure ConvNet도 ViT/Swin 계열과 경쟁 가능한 backbone이 될 수 있음을 보였다.
ConvNeXt V2는 fully convolutional masked autoencoder와 Global Response Normalization을 결합해 architecture와 self-supervised pretraining을 함께 설계했다.
Vision Transformer는 image patches를 token sequence로 보고 large-scale pretraining 후 image recognition으로 transfer하는 순수 Transformer 경로를 확립했다.
Swin Transformer는 shifted local windows와 hierarchical feature maps로 classification뿐 아니라 dense prediction까지 general-purpose backbone으로 확장했고, Swin V2는 scale/resolution 안정성을 강화했다.
ResNet-RS 계열 연구는 architecture 차이와 training/scaling recipe 효과를 분리해, 강한 recipe가 고전 ResNet baseline 자체를 크게 끌어올릴 수 있음을 보였다.
ImageNet-1K top-1 하나만으로 일반화 품질을 판단하기 어렵다. ImageNet-C/P는 common corruption/perturbation robustness를 별도 측정한다.
ImageNet-A는 자연 이미지 중 모델이 공통으로 실패하는 hard examples를 adversarial filtration으로 구성해 in-distribution accuracy와 robustness의 차이를 드러냈다.
modern neural classifier는 높은 accuracy와 별개로 confidence calibration이 나쁠 수 있으며, temperature scaling은 간단한 post-hoc baseline으로 남아 있다.
CLIP은 natural-language supervision으로 zero-shot classifier를 구성해 ImageNet 밖의 distribution shifts와 transfer 평가를 image classification의 핵심 질문으로 끌어왔다.
foundation vision encoder 시대에는 fixed 1,000-way classifier보다 frozen/transferable representations와 downstream linear/probe/finetune 성능이 중요해졌다.
DINOv3는 2025년에 large-scale self-supervised training과 Gram anchoring을 사용해 dense feature degradation을 억제하고 다양한 vision task에서 범용 encoder 성능을 목표로 했다.
SigLIP 2는 captioning, self-distillation, masked prediction, online curation을 결합해 multilingual zero-shot classification, retrieval, transfer, localization/dense features를 함께 강화했다.
따라서 AlexNet→VGG→Inception→ResNet→DenseNet→SE의 역사적 축은 여전히 architecture 이해에 유효하지만, 2026의 실전 비교는 architecture·training recipe·pretraining data·calibration·distribution shift·transfer cost를 함께 봐야 한다.
#2026 관점에서 다시 읽는 한 줄 지도
AlexNet은 ReLU + data augmentation + dropout으로 대규모 CNN 학습을 현실화했고, VGG는 작은 3×3 kernel을 깊게 쌓는 단순성, GoogLeNet은 1×1 bottleneck + multi-branch Inception + GAP, ResNet/WRN은 identity path와 depth/width trade-off, DenseNet은 feature reuse via concatenation, SE는 channel-wise adaptive recalibration을 강조했다.
2026년에는 여기에 ViT/Swin의 attention backbone, ConvNeXt류의 modernized ConvNet, training/scaling recipe, self-supervised/multimodal foundation encoder, 그리고 calibration·distribution shift·robustness·transfer가 함께 평가축으로 들어간다. 따라서 “어떤 architecture가 ImageNet top-1이 가장 높은가?” 하나만 묻는 방식은 더 이상 충분하지 않다.