6주차인데, 병원이나 회사일이나 워크샵 등으로 5일을 빠졌다.
출석률 80% 넘겨야 스파르타 코딩 클럽에서 이수자에게만 주는 무료 강의
2개를 받을 수 있으니 분발해야겠다.
01. CNN 핵심 아이디어
- 지역 수용영역(Local receptive field) : 픽셀 전부를 한 번에 보지 않고, 작은 창(kerenl)으로 국소 패턴을 학습
- 파라미터 공유(Parameter sharing) : 같은 커널을 전 장소에 적용 → 파라미터 수 감소
- 평행이동 등가성(Translation equivariance): 입력이 평행이동되면 특징맵도 같은 방식으로 이동
02. 2D 합성
- 엄밀히는 상관연산; DL 프레임워크의 conv2d 기본

yc,i,j=bc+m=1∑Cinu=1∑Khv=1∑KwWc,m,u,vxm,i⋅Sh+u−Ph,j⋅Sw+v−Pw.
03. 출력 크기 공식
- 패딩 P, 스트라이드 S, 팽창(Dilation), D가 있을 때
Hout=⌊ShH+2Ph−Dh⋅(Kh−1)−1+1⌋
Wout=⌊SwW+2Pw−Dw⋅(Kw−1)−1+1⌋
04. 파라미터 수 &연산량(FLOPs) 근사
#params=KhKwCinCout+Cout.
FLOPs≈2HoutWoutKhKwCinCout
05. 수용영역(Receptive Field) 계산
- 계층 l 의 수용영역 RFl, 점프(유효 스트라이드) Jl, 초기 RF0=1, J0=1, 커널 크기 Kl, 스트라이드 Sl 라고 하면
Jℓ=Jℓ−1⋅Sℓ,RFℓ=RFℓ−1+(Kℓ−1)⋅Jℓ−1
06. 패딩/스트라이드/팽창(Dilation)
- same 패딩 : Hout ≈[H/S], Wout ≈[W/S] 되도록 패딩을 선택
- dilation : 커널 내부 간격을 벌려 수용영역 확대, 해상도 유지
- dilation 이 D일 때 유효 커널 크기
Keff=(K−1)⋅D+1
07. 활성화 함수

08. 풀링(Pooling)
- Max Pool: 국소 영역 최댓값
- Average Pool: 국소 영역 평균
- Global Average Pool(GAP): 채널별 전 공간 평균
yc=HW1i=1∑Hj=1∑Wxc,i,j.
09. 정규화(Normalization)
-
배치정규화(BatchNorm)
- 특정 채널 c에 대해 배치 평균, 분산을 uc, σc2 라고 하면
x^c=σc2+ϵxc−μc,yc=γcx^c+βc.
-
레이어정규화(LayerNorm)
- 한 샘플 내부의 전체(또는 채널별 공간) 평균·분산으로 정규화
x^=σ2+ϵx−μ,y=γx^+β
10. 잔차 연결(Residual Connection)
11. 합성곱 변형들
- 1 X 1 합성곱(포인트와이즈)
- 채널 혼합(차원 축소/확장)에 사용, 공간 크기 보존
- 그룹 합성곱(Grouped Conv)
- 채널을 여러 그룹으로 나눠 연산 → 파라미터/연산량 감소
- 깊이별 분리합성곱(Depthwise Separable, DW+PW)
- 표준 conv비용 : K2CinCout
- DW+PW 비용: Kin2+CinCout
- 비용 비율:
ratio=K2CinCoutK2Cin+CinCout=Cout1+K21.
- 팽창합성곱(Dilated/Atrous)
- 해상도 유지하며 수용영역 확장(위 6절 참조)
- 전치합성곱(Transposed Conv; 업샘플)
Hout=(Hin−1)S−2P+D⋅(K−1)+output_padding+1
12. 역전파(Backprop) 핵심
- 손실 L, 출력 기울기 ∂y∂L가 주어질 때,
- 가중치 기울기: 입력과 출력기울기의 상관(또는 conv)
- 입력 기울기: (cross-correlation 기준) 커널을 180° 회전하여 conv
∂W∂L≈x⋆∂y∂L,∂x∂L≈flip(W)∗∂y∂L
13. 분류 헤드: 소프트맥스 & 크로스엔트로피
- 크로스엔트로피:
pk=∑jezjezk,L=−k=1∑Cyklogpk
- 라벨 스무딩(ε):
yk(smooth)={1−εC−1εif correctotherwise
14. 전형적 블록 & 스테이지 설계 패턴
- Conv-BN-Activation 순서 반복(현대 CNN은 Conv→BN→GELU/ReLU가 일반적)
- 해상도를 절반으로 줄일 때(스트라이드 2) 채널 수를 2배로 늘려 표현력 유지
- 잔차 블록 마지막 BN의 γ를 0으로 초기화하면 학습 안정화(초기엔 항등에 가까움)
15. 초기화 & 최적화 & 정규화 팁
- 초기화: ReLU류는 Kaiming(He) 초기화, tanh류는 Xavier(Glorot)
- 옵티마이저: 대규모/현대 레시피는 AdamW + cosine decay + warmup. 순수 CNN에서 SGD+모멘텀도 아직 강력
- 정규화: Weight decay(L2), Dropout(특히 분류 헤드), Stochastic Depth(딥 네트)
- 데이터 증강: Random crop/flip, Color jitter, Random erasing, Mixup/CutMix(라벨도 혼합)
16. 대표 아키텍처 요약
- LeNet-5(1998): 소형 필터+풀링+MLP
- AlexNet(2012): ReLU, 드롭아웃, CUDA 병렬로 대규모 데이터(ImageNet) 돌파
- VGG(2014): 3×3 작은 필터의 깊은 스택
- Inception(2014–): 멀티 스케일 분기, 병렬 경로
- ResNet(2015): 잔차 연결로 초딥 네트 학습 가능
- MobileNet/ShuffleNet: 경량(Depthwise/Group)
- EfficientNet: 컴파운드 스케일링
- ConvNeXt: 현대적 설계(대형 커널, 층 정규화 등)로 ViT와 경쟁