/
https://42jerrykim.github.io/ _index.md
완전연결 신경망이 픽셀을 통계적 패턴으로만 처리한다는 한계 실험부터, Convolution·Padding·Stride·Pooling·Receptive Field, 그리고 ResNet의 Skip Connection까지 CNN 아키텍처의 핵심을 정리합니다. 이미지를 16x16 패치로 잘라 언어모델의 토큰처럼 다루는 ViT 아키텍처를 Patch Embedding부터 CLS 토큰, Pre-LN 구조까지 분해합니다. CNN과 ViT의 근본적인 차이도 표로 자세히 정리합니다. ViT의 데이터 효율성을 지식 증류로 보완한 DeiT, 연산량을 윈도우 기법으로 줄인 Swin, 자연어로 지도학습하는 CLIP, 레이블 없이 자기 증류로 학습하는 DINO까지 4가지 ViT 변형을 원 논문과 함께 다룹니다. IoU와 mAP 같은 평가지표부터, Two-stage인 R-CNN·Faster R-CNN과 Transformer 기반 DETR까지 Object Detection의 핵심 개념과 발전 과정을 다룹니다. Recall-Precision 트레이드오프를 실무 사례로 설명합니다. 여러 프레임에 걸쳐 같은 물체를 이어 붙이는 Multi-Object Tracking을, Tracking-by-Detection과 Tracking-by-Regression 두 접근으로 나눠 설명합니다. 저신뢰도 검출까지 활용하는 ByteTrack과 DETR 기반 TrackFormer를 다룹니다. 픽셀 단위로 분류하는 Segmentation을 FCN의 Skip Fusion부터 Mask R-CNN, U-Net의 Encoder-Decoder 구조, Transformer 기반 SegFormer, 범용 파운데이션 모델 SAM까지 원 논문과 함께 정리합니다. 시리즈 B의 마지막 챕터입니다. 디자인 패턴은 암기용 카탈로그가 아니라 반복되는 설계 문제에 대한 검증된 해법입니다. SOLID 위반 신호로 변경 지점을 찾고, GoF 패턴 분류로 해법을 매칭하며, 패턴 오남용(패턴병)을 피하는 실무 판단 기준을 정리합니다. 레이어 분리는 코드를 폴더로 나누는 작업이 아니라 의존성 방향을 통제하는 작업입니다. 전통적 3계층 구조의 한계와, 도메인을 중심에 두는 의존성 규칙(Dependency Rule)을 아키텍처 품질 속성 관점에서 비교합니다. 의존성 역전은 '인터페이스를 만들라'는 뜻이 아니라 '어느 쪽이 더 안정적이어야 하는가'를 정하는 설계 결정입니다. 안정적 의존성 원칙과 인터페이스 분리 원칙을 함께 적용해 테스트 가능한 경계를 만드는 방법을 다룹니다. 확장 포인트를 아무 데나 만들면 YAGNI 위반이고, 필요한 곳에 안 만들면 매번 기존 코드를 고쳐야 합니다. 변화 빈도와 영향도를 근거로 확장 포인트 우선순위를 정하는 기준과, 전략 기반/이벤트 기반 확장 구조를 비교합니다.