오늘 배운 AI 기초 강의를 처음부터 끝까지 정리했다. 모델이 어떻게 학습하는가(미분·경사하강) 에서 출발해, 선형 회귀 → 뉴런 → 인공 신경망 → 활성화 함수 → 역전파로 이어지는 딥러닝의 뼈대를 잡고, 이어서 AI 서비스의 엔드투엔드 흐름(데이터 → 전처리 → 학습 → 추론 → 후처리 → 서비스) 과 CNN, YOLO, RNN, TrOCR까지 실무 관점으로 훑었다.
1. Model Fitting (모델 피팅)
모델이 파라미터를 조정해가며 데이터를 가장 잘 설명하도록 "학습"해 나가는 과정.
즉, "학습한다"는 것은 결국 파라미터를 계속 바꿔가며 데이터에 잘 맞는 값을 찾아가는 것이다. 그렇다면 "어느 방향으로, 얼마나" 파라미터를 바꿔야 할까? → 여기서 미분이 등장한다.
2. 최적화와 미분
미분 = 순간 변화율
원인이 한 단위 변할 때 결과는 얼마나 변하나?
"밥 먹기" 비유로 이해하기
| 상황 | 한 접시 더 먹으면 | 미분값(기울기) | 해석 |
|---|
| 매우 배고픔 | 만족감이 크게 늘어남 | 큰 양수 | 더 먹어야 함 |
| 조금 배고픔 | 만족감이 조금 늘어남 | 작은 양수 | 조금 더 먹으면 됨 |
| 딱 좋음 | 만족감 그대로 | 0 | 최적점 |
| 배부름 | 만족감이 오히려 줄어듦 | 음수 | 오히려 게워내야? (그만 먹어야) |
직관 정리
- 미분값이 0인 지점이 최대 지점일 가능성이 높다.
- 미분값의 부호에 따라 움직이면 최대 지점에 도달할 가능성이 높다.
- → 최소 지점을 찾을 때도 마찬가지다. (부호를 따라 반대로 움직이면 됨)
경사 하강법 (Gradient Descent)
경사(기울기)를 따라 내려가다 보면 최소 지점을 찾을 가능성이 높다.
미분값의 부호를 이용해 함수의 최소 지점을 향해 조금씩 이동하는 방법. 딥러닝 학습의 핵심 원리다.
3. 학습률 (Learning Rate)
모델 학습이란
데이터와 오차가 최소화되는 방향으로 파라미터를 조정하는 것.
학습률이란
한 번에 얼마나 파라미터를 조정할 것인지 결정하는 값.
- 학습률이 낮으면 → 천천히 내려감
- 학습률이 높으면 → 빨리 내려감
"그럼 학습률이 높으면 무조건 좋은 거 아닌가?" → ❌ 문제점 3가지
- 로컬 미니멈(Local Minimum)에 갇혀버림
- Global Minimum(전역 최소)을 건너뛰고 Local Minimum(지역 최소)에 수렴해버림.
- 최소점을 못 찾고 발산(Exploded)해 버림
- 학습률이 너무 크면 최소점 주변에서 튕겨 나가며 값이 발산할 수 있음.
- 경사가 약하면 거의 못 움직인다
- 평평한 구간(Wide Plateau)이 나오면 기울기가 거의 0이라 학습이 정체됨.
💡 그래서 학습률은 무작정 크게 두는 게 아니라 학습 과정을 관찰하며 점진적으로 조정하는 것이 중요하다.
4. 선형 회귀 (Linear Regression)
핵심 아이디어
지금 데이터를 가장 잘 설명하는 직선 찾기.
- "가장 잘 설명하는" = 데이터와 오차가 가장 작은
- "직선 찾기" = 기울기와 y절편, 파라미터 2개짜리 모델을 찾는 것
MSE (Mean Square Error, 평균 제곱 오차)
각 데이터 점과 직선 사이의 오차를 제곱해서 모두 더한 값.
MSE=오차12+오차22+⋯
MSE가 최소화되는 파라미터(기울기, y절편) 를 경사 하강법으로 찾아 나간다.
선형 회귀의 한계 — 직선으로만 표현하기 힘든 데이터들
- "엄청 싼데 맛있는 소고기", "엄청 비싼데 평범한 김밥" 같은 예외들 → 직선 하나로는 표현이 어려움.
- 적은 차원으로 표현하기에는 현실이 너무 복잡하다.
- 선형 관계는 생각보다 많지 않다. (가격이 비싸지는 만큼 만족도가 계속 증가하진 않음)
두 가지 해결 방향
| 문제 | 해결책 |
|---|
| 적은 차원으로 표현하기엔 현실이 훨씬 복잡 | 차원을 늘린다 |
| 선형 관계는 생각보다 많지 않다 | 직선을 꺾거나 구부린다 |
5. 뉴런과 퍼셉트론
생물학적 뉴런
- 여러 뉴런으로부터 신호를 받아 축적하다 역치(Bias) 를 넘어서면, 신호를 생성해 다음 뉴런으로 신호를 전달한다. → Activation(활성화)
- 서로 상호작용이 많은 뉴런 사이의 시냅스는 더 견고해지고, 상호작용이 감소하면 시냅스는 더 약해진다. → Synaptic weight(시냅스 가중치)
퍼셉트론 (Perceptron)
수학적으로 모델링한 인공 뉴런.
x ──w1──┐
├──▶ Σ ──▶ Activation ──▶ Output
x ──w2──┘ ▲
│
b (bias)
- 여러 뉴런(입력)으로부터 신호를 받아 (
x, w)
- 가중합(Σ) 을 하고 편향(
b)을 더한 뒤
- 활성화 함수(Activation) 를 거쳐 다음 뉴런으로 신호를 전달(Output)
핵심:
- 상호작용에 따라 연결 강도(
w1, w2)가 다르다.
- Weight와 Bias를 조절해 나가며 오차를 줄인다.
6. 인공 신경망 (ANN → DNN)
인공 신경망
인공 뉴런 유닛들의 네트워크를 구성한 것.
- 구조: Input Layer → Hidden Layer → Output Layer
- Feed-forward(순방향 전파)로 신호가 흐르고, Back-propagation(역전파)으로 학습한다.
심층 신경망 (Deep Neural Network)
이 유닛들을 깊은 층(Multiple Hidden Layer) 으로 구성하면 심층 신경망이 된다.
차원을 늘린다는 것
- Input이 단순해도 층을 쌓으면 파라미터를 더 많이 가질 수 있게 된다.
x⇒(w1x+b1), (w2x+b2)⇒y
- 구성하기에 따라 입출력의 차원도 다양하게 구성할 수 있다.
(x1,x2)⇒(w11x1+w12x2+b1), (w21x1+w22x2+b1)⇒y
→ 이것이 "적은 차원으로 표현하기엔 현실이 훨씬 복잡 → 차원을 늘린다" 에 대한 답이다. 👍
7. 직선을 꺾거나 구부린다 (활성화 함수와 접힘 효과)
직선을 그냥 더하면?
- 직선 두 개를 그냥 더하면 → 또 다른 직선이 된다. (꺾이지 않음)
활성화 함수를 적용하면?
잘라서 붙여야 꺾은 선이 된다.
A(활성화) 적용
x ──▶ w1·x + b1 ──┐
├──▶ y (꺾인 선!)
x ──▶ w2·x + b2 ──┘
A(활성화) 적용
- 활성화 함수를 적용한 후 합치면 꺾은 선을 만들 수 있다. → folding(접힘)
활성화 함수 예시
- ReLU: 음수 구간은 0, 양수 구간은 그대로 → 특정 지점에서 꺾이는 선을 만든다.
- Sigmoid: 부드러운 S자 곡선.
합성 과정 (Piecewise Linear)
- 비선형 유닛 여러 개(예: ReLU 유닛 3개)를 합성하면, 접힌 직선들을 합쳐 곡선을 근사할 수 있다.
- 이 꺾인 선이 또 활성화 함수를 거쳐 또 접히고… 또 합쳐지고… 또 접히고…
- 층이 깊어질수록 구간이 지수적으로 폭발하며 매우 복잡한 함수를 표현할 수 있게 된다.
→ 이것이 "선형 관계는 많지 않다 → 직선을 꺾거나 구부린다" 에 대한 답이다.
8. 역전파와 경사 폭발/소실
탕수육 비유로 이해하는 역전파
- 손님(나)이 다 식고 눅눅한 탕수육을 받아서 배달 기사에게 얘기함.
- 배달 기사는 좀 더 빨리 가기로 하고, 식당에도 탕수육이 눅눅하다고 전달.
- 매니저는 포장에 구멍을 더 뚫어야겠다고 생각하고, 주방장한테도 전달.
- 주방장은 탕수육을 더 센 불에 튀겨야겠다고 생각함.
역전파(Backpropagation) = 오차(눅눅함)를 해결하기 위해 앞 단계로 계속해서 전파하고 조정하는 과정.
- 순전파: 눅눅함이 전달되는 방향 (요리사 → 고객)
- 역전파: 책임이 거슬러 오는 방향 (고객 → 요리사)
경사 폭발 / 경사 소실
| 현상 | 원인 | 결과 |
|---|
| 경사 폭발 (Exploding Gradient) | 책임(기울기)이 앞 단계로 갈수록 점점 커짐 | 값이 발산 |
| 경사 소실 (Vanishing Gradient) | 책임(기울기)이 앞 단계로 갈수록 점점 줄어듦 | 앞쪽 층이 거의 학습 안 됨 |
📌 여기까지 핵심 요약
- 기계 학습은 경사 하강을 통해 오차를 줄인다.
- 학습 과정을 관찰하며 점진적으로 학습률을 조정하는 것이 중요하다.
- 활성화 함수의 효과로 더 정교한 모델링이 가능하다.
- 심층 신경망은 경사 폭발/소실이 일어날 수 있다.
9. 기본 하이퍼파라미터
지금까지의 내용을 바탕으로 기본적인 하이퍼파라미터를 이해할 수 있다.
- 학습률과 학습률 최적화 알고리즘 (SGD, Mini-batch, Adam …)
- 활성화 함수 (tangent, ReLU, leaky ReLU …)
- 에포크(epoch), 배치(batch)
10. AI 엔드투엔드 흐름
데이터 → 전처리 → 학습 → 추론 → 후처리 → 서비스
(수집&라벨링) (정규화&증강) (모델학습) (예측수행) (결과정제) (배포&운영)
11. 데이터 (수집 & 라벨링)
핵심 질문: "양질의 데이터를 확보할 수 있나?"
- 원천 데이터 확보 / 라벨링 및 검증 / 데이터 품질 관리
- 공개 데이터가 없거나 안 맞으면 직접 만들어야 한다.
좋은 데이터의 조건
| 조건 | 의미 | 키워드 |
|---|
| 다양성 | 다양한 시나리오와 조건을 포함 | 각도, 배경, 조명 |
| 대표성 | 실제 데이터 분포를 반영 (클래스 불균형 해결) | 분포, 균형, 샘플링 |
| 품질 | 라벨링 정확도와 일관성 (명확한 가이드라인) | 정확도, 일관성 |
데이터 수집 전략
- 엣지 케이스 확보: 극단적 조건(어두운 환경, 각도, 거리)에서의 샘플을 충분히 수집
- 계절/시간대 다양화: 다양한 계절, 시간대, 조명 조건 데이터 수집
- 소스 다변화: 여러 데이터 소스(카메라, 스캐너, 웹)에서 샘플 확보
- 클래스 균형: 각 클래스별 샘플 수를 균형 있게 분배
검증/테스트 분리
테스트 데이터셋은 "기출문제"와 같다. 모델 학습에 절대 사용하면 안 된다.
(학습에 사용하면 평가 성능이 왜곡되고, 일반화 성능을 올바르게 확인할 수 없다.)
- 데이터 누수 방지: 훈련·검증·테스트 데이터를 완전히 분리 → 모델이 훈련 데이터를 외워버리는 것을 방지.
- 일반적 분할 비율: 훈련 70% / 검증 15% / 테스트 15%
- 교차 검증(Cross Validation): k-fold 교차 검증으로 데이터 분할의 안정성 확보
- 공정한 평가: 실제 환경과 유사한 조건에서 모델 성능 평가
12. 전처리 (Preprocessing)
목표: "학습을 잘 할 수 있게 데이터를 정리하기."
(이미지 리사이즈 / 정규화 및 표준화 / 데이터 증강)
① Resize
모델이 요구하는 입력 크기에 맞게, 혹은 목적에 맞게 이미지 크기를 조정.
(원본 이미지 → 크기 조정 → 정규화)
크기 결정 기준
- 성능 vs 속도: 높은 해상도 = 더 정확한 특징 추출 / 낮은 해상도 = 빠른 추론 속도
- 메모리 제약: 메모리 부족 시 배치 크기 감소, 모델 복잡도에 따른 메모리 계산
- 객체 스케일: 작은 객체 = 높은 해상도 필요 / 큰 객체 = 낮은 해상도 가능
② Normalize (정규화)
이미지의 픽셀 값을 특정 범위로 변환하여 모델 학습을 안정화.
데이터의 분포를 조정하여 기울기 소실/폭발 문제를 방지하고 학습 속도를 향상시킨다.
| 방법 | 설명 |
|---|
| 0~1 스케일링 | 픽셀 값을 0~1 범위로 변환 (pixel / 255) — 가장 기본적인 정규화 |
| 표준화 (z-score) | 평균 0, 표준편차 1로 변환 (x - μ) / σ — 분포를 정규분포로 |
| 채널별 평균/표준편차 | RGB 채널별로 다른 값 적용 (예: ImageNet [0.485, 0.456, 0.406]) — 실무에서 가장 많이 사용 |
③ Augmentation (데이터 증강)
기존 데이터를 변형하여 새로운 학습 샘플을 생성 → 일반화 성능 향상.
- 기하 변환: Flip, Rotate, Crop 등 이미지의 공간적 변형
- 광학 변환: Brightness, Contrast 등 색상/조명 변화
- 노이즈 추가: Gaussian Noise → 데이터 강건성 향상
- 스케일 변환: Resize, Zoom 등 다양한 크기 대응
13. 추론 (Inference)
학습된 모델로 새로운 데이터를 예측하는 과정 (Forward Propagation).
(입력 데이터 → 전처리 → 모델 추론 → 결과 출력)
모델 추론에서 관찰할 것
- 응답성: 빠른 응답 시간으로 실시간 추론 가능한지 (지연 시간 < 100ms)
- 메모리 최적화: 효율적인 메모리 사용으로 타겟 디바이스에서 동작하는지 (처리량 1000+ 요청/초)
- 성능 모니터링: 추론 성능을 실시간으로 모니터링 및 분석 (정확도 95%+)
14. 후처리 (Post-processing)
모델의 출력은 그대로 사용하기 어려운 경우를 제거해 정확도·안정성·사용성을 모두 향상시킨다.
① NMS (Non-Maximum Suppression)
여러 개의 겹치는 박스 중 최선의 하나만 남기는 작업 (중복된 탐지 결과 정리).
- 모든 탐지 결과 — 모델이 예측한 여러 개의 바운딩 박스
- 점수가 가장 높은 박스 선택 — 가장 높은 점수의 박스(빨강)를 선택
- IoU 임계값 이상인 박스 제거 — 선택한 박스와 IoU가 높은(많이 겹치는) 박스 제거
- 남은 박스에 대해 반복 — 1~3 과정을 반복하여 최종 박스 결정
💡 핵심 아이디어: 점수가 높은 박스는 유지하고, 겹치는(IoU가 높은) 낮은 점수의 박스는 제거하여 중복 탐지를 줄인다.
② Threshold (Score Threshold)
확률 값을 기준으로 낮은 신뢰도 결과를 필터링 (정확도-재현율 균형).
- 예측된 박스 중 신뢰도(score)가 임계값(threshold) 이상인 박스만 유지. (예: Threshold = 0.5)
- 임계값을 높이면 → 더 정확하지만, 놓치는 경우 발생
- 임계값을 낮추면 → 더 많이 검출하지만, 오탐 증가
③ Smoothing (스무딩)
예측 값의 급격한 변동을 줄여 더 부드럽고 일관된 결과를 만든다 (깜빡임 감소, 노이즈 제거).
- 이웃한 값들의 평균(또는 가중 평균)을 사용하여 급격한 변동(노이즈)을 줄임.
- 예: 이동 평균 (Window Size = 3)
15. 서비스 및 배포
배포 단계에서 고민할 것들:
| 고려사항 | 내용 |
|---|
| 지연 (Latency) | 실시간 추론 처리를 위한 빠른 응답 속도 최적화 |
| 비용 (Cost) | GPU 등 인프라 리소스 효율화 및 운영 유지비 절감 |
| 안정성 (Stability) | 예외 상황 자동 복구 및 무중단 서비스 보장 |
배포 형태: 클라우드 API / 온프레미스 서버 / 엣지 디바이스
16. 사람의 시각 정보 처리 (딥러닝 비전의 근원)
인간의 시각 정보 인지 과정
시각 입력 → 병렬 처리 → 정보 병합 → 인지 완성
① 시각 입력
- 간상세포 (막대세포): 명암을 감지하는 흑백 센서
- 원추세포 (원뿔세포): 색상을 식별하는 고해상도 컬러 센서
- 빛(광학 신호) → 전기 신호(데이터)로 변환
② 병렬 처리 (뇌의 시각 피질)
망막(눈) → V1(방향/에지) → V2(경계 통합) ┬→ V3(형태-운동) → V5(운동) → 두정엽(Dorsal)
└→ V4(색상/형태) ──────────────→ 측두엽(Ventral)
- 1단계 (눈 & 풍경): 입력
- 2단계 (V1): 선과 에지 추출
- 3단계 (V2): 명확한 윤곽선
- 4단계 (V3): 위치와 운동 (좌표/움직임) / (V4): 색상과 형태
- 5단계 (V5): 속도와 운동 방향
③ 인지 완성
간단한 정보들을 다각도로 추출해서, 점차 복잡하고 추상적인 개념으로.
(노이즈 → 실루엣 → 눈/귀 → 고양이 순으로 점점 구체화)
이 구조가 바로 CNN의 발상과 정확히 대응된다.
17. CNN (Convolution Neural Network, 합성곱 심층 신경망)
인간의 뇌 vs CNN
| 인간의 뇌 (Visual Cortex) | 인공지능 (CNN) |
|---|
| V1, V2 (하위 피질): 가장자리, 선 추출 | 초기 합성곱층 (Lower Layers): 엣지 및 색상 추출 |
| V4, IT (상위 피질): 추상적 패턴 및 얼굴 조립 | 심층 합성곱층: 복잡한 형태 조립 |
합성곱 (Convolution)
필터와의 내적값을 모아서 새로운 벡터 생성.
내적이란?
두 벡터가 얼마나 유사한지 강도를 표현.
- 필터(패턴)와 이미지 조각이 얼마나 닮았는지를 내적으로 측정 → 패턴 검출.
- Conv Layer가 깊어질수록: 저수준 특징(선/에지) → 중간 수준 특징 → 고수준 특징 → 더 추상적인 특징(고차원 개념: 강아지/고양이/자동차 …)
문제점
여러 패턴 × 여러 레이어 → 메모리 사용량 & 계산량 폭발!
18. Pooling (풀링과 압축)
대표 값을 뽑아 공간을 압축. (예: 2×2 Max Pooling)
1 3 | 2 4
5 6 | 7 8 → 6 8
-----+----- 14 16
9 10| 11 12 (각 2×2 영역의 최댓값)
13 14| 15 16
Pooling의 효과
- 공간 축약: 특징맵의 크기를 줄여 계산량 감소
- 효율성 향상: 메모리 사용량 감소, 처리 속도 개선
- 불변성 확보: 위치 변화에도 특징 인식 유지
CNN 정리
Convolution → Pooling → Fully Connected
(필터 적용) (다운샘플링) (분류/회귀)
특징 추출 차원 축소 최종 예측
(엣지·텍스처) (불변성 확보) (객체 인식)
- Convolution: 필터로 특징 추출
- Pooling: 계층적 표현 학습
- Fully Connected: 지역적 연결
19. YOLO (You Only Look Once)
전통적인 R-CNN의 물체 식별 (2-step)
- 영역 분할 — "여기 뭐가 있네?" (Selective Algorithm)
- 물체 식별 — "이건 사람이네"
단점:
- 계산량이 많아서 느림
- 각 모듈의 성능이 모두 중요
YOLO
영역 탐지와 식별을 한 번에! ("여기 사람이 있네!")
전통적인 CNN의 약점 → YOLO의 개선
- 전통적 CNN: 물체를 식별하는 재료가 압축된 결과물 → 작은 물체인 경우 식별이 잘 안 됨.
- YOLO architecture: Backbone Network → Feature Pyramid → Decoupled Detection Head
- 여러 해상도의 Feature map을 동시에 고려 → 아주 작은 물체도 잘 찾아냄.
- 출력: 클래스, 바운딩 박스 위치(x, y, w, h), Objectness Score(IoU)
20. 시퀀스와 RNN
시퀀스 (Sequence)
입출력 데이터 중 ① 순서가 중요하고 ② 가변 길이인 경우.
(예: H → E → L → L → O, 문자열의 순서가 중요한 이유)
RNN (Recurrent Neural Network)
Hidden State라는 정보를 누적해 나가며 이전 정보를 기억, 계승.
y_{t-1} y_t y_{t+1}
▲ ▲ ▲
→ h_{t-1} ─h→ h_t ─h→ … h_{t+1} ─h→ …
▲ ▲ ▲
x_{t-1} x_t x_{t+1}
- 입력
x_t, 은닉 상태 h_t, 출력 y_t가 시간 흐름에 따라 순환 연결됨.
OCR — 대표적인 시퀀스 데이터 처리
이미지 입력 → 문자 특징 추출 → 시퀀스(순서) 예측
패턴 인식뿐만 아니라 순서가 중요한 대표적인 시퀀스 데이터 처리.
21. TrOCR (ViT 기반 OCR 라이브러리)
트랜스포머의 장점(예: 병렬성) 등을 그대로!
전통적인 RNN based OCR의 단점
- CNN Feature Encoder → RNN Sequence Generator(LSTM/GRU) → LLM Contextual Corrector
- 복잡한 구조, 스크래치부터 학습해야 함.
TrOCR — 깔끔한 구조
사전 학습된 트랜스포머를 이용해 디코딩과 인코딩.
- Transformer Encoder (사전 학습된 Vision Model, 예: ViT/DeiT) — 이미지 특징 추출
- Transformer Decoder (사전 학습된 Language Model, 예: RoBERTa/BART) — 텍스트 생성 및 내부 문맥 교정
- Cross-Attention으로 비전 컨텍스트와 텍스트를 연결.
22. 모델링 마인드셋
| 원칙 | 내용 |
|---|
| 단순하게 시작 | 기본 모델로 시작하여 문제의 본질을 파악 |
| 점진적 복잡화 | 성능이 필요한 부분만 복잡도를 추가 |
| 반복적 개선 | 실패에서 배우며 지속적으로 개선 |
✅ Baseline 모델 먼저 구축 · ✅ 필요할 때만 복잡한 모델 사용 · ✅ 오버엔지니어링 피하기
23. 전체 흐름 복습 & 체감 중요도
1. 데이터 → 2. 전처리 → 3. 모델 학습 → 4. 모델 추론 → 5. 후처리
(수집&라벨링) (정규화&증강) (특징 추출) (시퀀스 처리) (결과 정제)
현실적 비율 — 모델보다 데이터가 훨씬 중요
| 항목 | 체감 중요도 |
|---|
| 데이터 | 70% |
| 모델 | 20% |
| 나머지 | 10% |
24. 과적합(Overfitting) 방지
다양한 조건의 양질의 데이터 확보가 시급하다.
"조명이 바뀌면?", "배경이 바뀌면?", "해상도가 낮아지면?" 에도 견딜 수 있어야 한다.
| 방법 | 설명 |
|---|
| 데이터 증강 | 다양한 변환(Flip, Rotate, Crop)으로 학습 데이터 다양화 |
| 조기 종료 (Early Stopping) | 검증 손실이 증가하기 시작하면 학습을 중단 |
| 규제화 (Regularization) | L1/L2 정규화, Dropout으로 모델 복잡도 제어 |
| 앙상블 (Ensemble) | 여러 모델의 예측을 결합하여 일반화 성능 향상 |
25. 추론 최적화 기법
| 기법 | 설명 | 효과 |
|---|
| 양자화 (Quantization) | 모델 파라미터를 저정밀도로 변환 (FP32 → INT8) | 모델 크기 75% 감소, 추론 속도 2~4배 향상 |
| 프루닝 (Pruning) | 불필요한 연결을 제거하여 모델 경량화 (가중치가 0인 연결 제거) | 구조적/비구조적 프루닝, 정확도 손실 최소화 |
| 지연 로딩 (Lazy Loading) | 필요한 시점에 모델을 로드하여 메모리 효율성을 높임 | 동적 모델 로딩, 메모리 사용량 최적화, 초기 로딩 시간 단축 |
🔑 오늘의 한 줄 정리
딥러닝은 결국 "경사 하강으로 오차를 줄이며 파라미터를 조정하는 것" 이고, 활성화 함수로 곡선을 근사하며 층을 깊게 쌓아 표현력을 키운다. 그리고 실무에서는 모델보다 데이터(70%)가 훨씬 중요하며, 전체 파이프라인(데이터 → 전처리 → 학습 → 추론 → 후처리 → 서비스)을 균형 있게 다뤄야 한다.