AI-Model-Development
AI 모델 개발 전 과정(문제정의, 데이터, 학습/평가, 배포/모니터링) 실무 가이드를 정리
Self-Supervised Learning
기법 유형 | 대표 방식 | 예시 모델 |
---|---|---|
예측 기반 | 일부 마스킹/다음 단어 예측 | BERT, GPT, MAE, wav2vec |
대비 학습 | positive/negative 쌍 학습 | SimCLR, MoCo |
프록시 태스크 | 회전/컬러화/위치 예측 | RotNet, Colorization |
비대비 학습 | teacher-student, self-distill | BYOL, SimSiam, DINO |
멀티모달 학습 | modality 간 alignment | CLIP, ALIGN, VideoBERT |
핵심 포인트
- 라벨 없이도 대규모 데이터에서 표현 학습을 수행 → 다운스트림 성능 향상
- 동일 데이터의 두 뷰(증강) 설계가 중요(대비/비대비 모두)
- 멀티모달에서는 텍스트-이미지/영상 정렬로 제로샷 성능 확보
손실 함수 설계 요약
- 대비 학습(Contrastive, 예: SimCLR)
- InfoNCE: 같은 원본에서 나온 positive 쌍의 유사도는 극대화, 다른 샘플(negative)과는 최소화
- 배치 내 모든 샘플을 negative로 활용(large batch가 유리), 또는 메모리 뱅크/큐(MoCo)
- 비대비 학습(Non-Contrastive, 예: BYOL/SimSiam/DINO)
- Teacher-Student 구조, stop-gradient로 collapse 방지
- 예측기(projector/predictor) 헤드가 student → teacher 표현을 추종하도록 학습
- 예측 기반(Masked/Auto-Regressive)
- MIM(Masked Image Modeling): MAE는 패치 마스킹 후 복원 L2
- MLM(Masked Language Modeling): [MASK] 토큰 복원 cross-entropy
- 멀티모달 정렬(CLIP)
- Dual encoder 이미지/텍스트 임베딩 간 대각 정렬을 temperature-scaled softmax로 양방향 최적화
증강(Augmentation) 설계 팁
- 이미지: RandomResizedCrop, ColorJitter, GaussianBlur, HorizontalFlip, Solarize(특히 SimCLR/SimSiam/DINO)
- 음성: 시간 마스킹/주파수 마스킹(SpecAugment), 노이즈 주입, 피치 시프팅
- 텍스트: 토큰 드롭/셔플, 스팬 마스킹(T5 스타일), 동의어 치환은 의미 왜곡 주의
- 비전-텍스트: 동일 개체/장면을 보존하는 약한 증강 조합이 정렬 안정성에 유리
구현 체크리스트
- 대규모 배치 또는 모멘텀 큐(MoCo v2)로 충분한 negatives 확보(대비 학습)
- EMA(Exponential Moving Average)로 teacher 업데이트(BYOL/DINO)
- 학습 초기 온도(temperature)와 학습률 warmup, cosine decay 스케줄 권장
- 프로젝션 헤드 비선형(MLP, BN) 사용 시 수렴 안정화에 도움
언제 무엇을 쓸까
- 라벨이 거의 없음: BYOL/SimSiam/DINO/MAE로 표현 사전학습 후 파인튜닝
- 제로샷/텍스트 질의 필요: CLIP류 멀티모달 정렬
- 다운스트림이 분류/검색: Contrastive(InfoNCE) 임베딩이 전이 성능 우수
흔한 함정과 대응
- Collapse(표현 상수화): stop-grad, predictor, centering(예: DINO)로 완화
- 과한 강증강으로 의미 소실: 약한+강한 증강을 균형 있게 혼합, 뷰간 일관성 유지
- 작은 배치로 성능 저하: gradient accumulation, MoCo 큐, 더 긴 학습으로 보완
자연어 처리 모델 (NLP)
GPT (Generative Pre-trained Transformer)
- 목적: 다음 토큰(단어) 예측(Autoregressive LM)
- 특징: 문장 생성/요약/대화 등에 강함, 좌→우 단방향 컨텍스트
- 학습: 대규모 코퍼스 사전학습 → 지시튜닝/대화튜닝/정렬(RLHF) 강화
BERT (Bidirectional Encoder Representations from Transformers)
- 목적: 마스킹된 토큰 복원(MLM) + NSP(두 문장이 연속인지)
- 특징: 양방향 컨텍스트 인코딩, 분류/검색/NER 등 인코더 태스크에 강함
- 변형: RoBERTa(노 NSP, 긴 학습), ALBERT(파라미터 공유), DeBERTa(상대 위치 등)
상세 설명과 예시는 문제 해설 참고
Fine-Tuning 전략
Full Fine-Tuning
- 개념: 모델 모든 파라미터를 태스크 데이터로 재학습
- 장점: 특정 태스크에 최적화된 최고 성능
- 단점: 초대형 모델에서 비효율(메모리/시간), 저장·재사용 어려움
LoRA (Low-Rank Adaptation)
- 개념: 가중치 업데이트를 저랭크 행렬로 근사, 추가 파라미터만 학습
- 장점: 성능 유지하며 메모리·연산량 절약, 모듈 병합/재사용 용이
- 단점: 일부 태스크에서 Full FT 대비 소폭 성능 손해 가능
PEFT (Parameter-Efficient Fine-Tuning)
- 개념: 전체가 아닌 일부 파라미터만 업데이트하는 기법 묶음
- 포함: LoRA, Adapter, Prompt/Prefix Tuning, BitFit 등
- 장점: 메모리/연산 효율 극대화, LLM 실무에서 표준화 추세
- 활용: HuggingFace peft 라이브러리로 다양한 방법 제공
Fine-Tuning 기법 비교
기법 | 특징 / 방식 | 장점 | 단점 |
---|---|---|---|
Full Fine-Tuning | 모델 전체 파라미터를 새 데이터에 맞게 업데이트 | 특정 도메인에 최적화된 최고 성능 | 연산량·메모리 소모 매우 큼, 데이터 많이 필요 |
Feature-based | 사전학습 모델을 Feature Extractor로 사용, 최종 분류기만 학습 | 빠르고 단순, 데이터 적을 때 효과적 | 모델 전체를 활용하지 않아 성능 제한 |
Adapter Tuning | 각 Transformer 블록에 작은 Adapter Layer 삽입 후 해당 모듈만 학습 | 여러 태스크 동시 적용 가능, 효율적 | Full FT 대비 약간 성능 손실 |
Prompt Tuning | 입력 앞에 학습 가능한 가상 토큰(프롬프트) 추가 | 초경량, 대형 모델에도 효율적 | 태스크 복잡할수록 성능 불안정 |
Prefix Tuning | Attention Key/Value에 학습 가능한 Prefix 추가 | 대형 LLM에 적합, 다양한 태스크 적용 가능 | Full FT보다 성능 낮을 수 있음 |
LoRA | 가중치 업데이트를 저랭크 행렬로 근사해 추가 파라미터만 학습 | 성능·효율 균형, 여러 LoRA 모듈 결합 용이 | 일부 복잡 태스크에서 성능 한계 |
BitFit | 모델의 Bias 항목만 학습 | 극도로 가벼움, 빠른 학습 | 성능 제한적, 단순 태스크에 적합 |
PEFT | Parameter-Efficient FT 기법들의 총칭(LoRA/Adapter/Prompt 등) | 대규모 LLM 실무 표준, 효율성 극대화 | Full FT보다 성능 약간 낮을 수 있음 |
QLoRA | 모델 가중치 4/8bit 양자화 후 LoRA 적용 | 저자원 환경에서도 초대형 모델 FT 가능, VRAM 절약 | 양자화로 인한 미세한 성능 손실 가능 |
CAM 모델
CAM(Class Activation Map)은 CNN 분류 모델이 특정 클래스를 예측할 때, 해당 클래스와 관련된 중요한 이미지 영역을 시각화하는 기법입니다.
상세내용은 문제 해설 참고
기법 비교
기법 | 핵심 아이디어 | 장점 | 한계 / 단점 |
---|---|---|---|
CAM | CNN Feature Map × FC 가중치로 클래스별 중요 영역 시각화 | 간단·직관적, 초기 CNN 해석 기법 | GAP(Global Avg Pooling) 구조 필요 → 특정 네트워크에만 적용 |
Grad-CAM | Gradient + Feature Map으로 중요 영역 강조 | 구조 제약 거의 없음(ResNet/ Inception/ ViT 등) | 해상도 낮고 객체 경계가 흐림 |
Score-CAM | Gradient 대신 모델 출력 Score 기반으로 중요 영역 산출 | Gradient 의존 제거 → 더 안정적 결과 | 연산 비용 큼(출력 반복 계산 필요) |
블랙박스 모델
블랙박스 모델은 내부 의사결정 과정을 직접 해석하기 어려운 고복잡도 모델(딥러닝, 앙상블 등)을 의미합니다. 실무에서는 높은 정확도와 함께 사후 설명(post-hoc explainability)을 병행합니다.
화이트박스 vs 블랙박스 비교
구분 | 화이트박스 모델 (White-Box) | 블랙박스 모델 (Black-Box) |
---|---|---|
정의 | 내부 동작을 사람이 쉽게 이해 | 내부 동작 불투명, 해석 어려움 |
대표 모델 | 선형/로지스틱 회귀, 의사결정트리, 규칙기반 | 딥러닝(CNN/RNN/Transformer), 앙상블(RF/XGBoost), 비선형 SVM |
해석 가능성 | 높음 → 예측 근거 설명 용이 | 낮음 → 입출력만 관찰 가능 |
예측 성능 | 단순 데이터에 충분 | 복잡 패턴·대규모 데이터에 강력 |
복잡도 | 낮음(식/규칙 기반) | 높음(수백만~수십억 파라미터) |
사용 사례 | 규제/의료/정책 등 설명 책임 중요 | 비전/음성/NLP/자율주행 등 정확도 중시 |
장점 | 투명성, 신뢰성 | 높은 정확도, 복잡 데이터 처리 |
단점 | 복잡 데이터에서 성능 한계 | 해석 곤란, 편향·책임성 이슈 |
블랙박스 해석(사후 설명) 기법
- CAM/Grad-CAM/Score-CAM: 비전 모델 국소 중요도 시각화(상단 섹션 참조)
- SHAP: 샘플 수준 피처 기여도(일관성·지역선형 근사)
- LIME: 국소 영역 선형근사로 설명(간단, 안정성은 데이터/커널 의존)
- Integrated Gradients: 입력→baseline 경로 적분으로 기여도 산출
- Occlusion/Feature Ablation: 피처/영역 마스킹 후 성능 변화 관찰
- Counterfactuals: 최소 변경으로 예측이 바뀌는 사례 생성(what-if 분석)
운영 시 고려사항
- 데이터 편향·드리프트 모니터링, 모델카드/데이터시트로 문서화
- 설명 요청·이의제기 절차, 영향평가(금융·의료 등 규제 대응)
- 설명 가능성 vs 성능 트레이드오프: 규제 영역은 혼합 접근(화이트+블랙)
Surrogate Model
Surrogate Model은 복잡한 블랙박스 모델을 근사(approximate)하여 설명력을 제공하는 간단하고 해석 가능한 모델입니다. 블랙박스(예: 딥러닝)에 다양한 입력을 넣어 출력(label)을 수집하고, 이 입력-출력 쌍으로 Decision Tree, Linear/Logistic Regression 등 화이트박스 모델을 학습해 블랙박스의 예측 경향을 사람 친화적으로 설명합니다.
- 목적: 블랙박스의 전역/국소 의사결정 경향을 해석 가능한 규칙/계수로 표현
- 전역(Global) 대체: 전체 입력 공간에서 근사(예: 트리 기반 규칙)
- 국소(Local) 대체: 특정 샘플 주변에서 근사(LIME의 국소 선형 모델 등)
- 주의: Surrogate의 설명은 근사치이며, 분포 밖(out-of-distribution)에서는 신뢰하기 어려움
Linear Regression vs Logistic Regression
구분 | Linear Regression (선형 회귀) | Logistic Regression (로지스틱 회귀) |
---|---|---|
목적 | 연속형 값 예측(회귀) | 범주형 값 예측(이진/다중 분류) |
출력값 범위 | −∞ ~ +∞(실수) | 0 ~ 1(확률) |
활용 함수 | 단순 선형결합 | 시그모이드(이진) / 소프트맥스(다중) |
손실 함수 | MSE(Mean Squared Error) | 로그 손실(Log Loss, Cross-Entropy) |
활용 예시 | 집값, 온도, 매출 예측 | 스팸 분류, 질병 진단, 이탈 예측 |
Learning Curve
그림 예시는 문제 참고
Underfitting(과소적합) 개선
- 모델 복잡도 ↑: 더 큰 신경망, 더 많은 파라미터
- 특징 엔지니어링 강화: 더 정보력 높은 입력 feature
- 학습 더 오래: Epoch 증가, Learning rate 스케줄 조정
Overfitting(과적합) 완화
- 데이터 늘리기: 추가 수집 또는 데이터 증강(Data Augmentation)
- 정규화 강화: Dropout, L2/L1, Early Stopping
- 모델 단순화: 레이어/노드 수 축소
- 앙상블: 여러 모델 결합으로 일반화 성능 ↑
- 교차검증(CV): 일반화 잘 되는 하이퍼파라미터 선택
학습곡선 해석 팁
- 훈련·검증 오류가 모두 높음 → 과소적합
- 훈련 낮고 검증 높음 → 과적합(데이터/정규화/단순화/증강 검토)
AI 모델 평가(Confusion Matrix)
실제 Positive | 실제 Negative | |
---|---|---|
예측 Positive | TP | FP |
예측 Negative | FN | TN |
- 정확도(Accuracy): (TP + TN) / (TP + TN + FP + FN)
- 정밀도(Precision): TP / (TP + FP)
- 재현율(Recall, Sensitivity): TP / (TP + FN)
- 특이도(Specificity): TN / (TN + FP)
- F1-score: 2 × (Precision × Recall) / (Precision + Recall)
문제 요구 지표 확인 필수. 예: 14번 문제는 Recall이 정답.
ROC-AUC / PR-AUC
- ROC-AUC
- ROC 곡선: FPR(False Positive Rate) = FP/(FP+TN) vs TPR(Recall)
- AUC는 임계값 전 범위에서의 평균 성능을 요약. 클래스 불균형이 심하지 않을 때 적합
- PR-AUC
- PR 곡선: Precision vs Recall. 양성 클래스가 희소할수록 모델 구분력을 더 잘 반영
- 극단적 불균형(예: 사기·고장 예측)에서는 PR-AUC 사용 권장
- 선택 가이드: 불균형 심함 → PR-AUC, 그렇지 않음 → ROC-AUC. 두 지표를 함께 보고 trade-off 판단
임계값(Threshold) 조정 전략
- 비즈니스 비용 기반 최적화: 비용행렬(C_FP, C_FN)을 정의해 기대비용 최소화 임계값 선택
- 고정 재현율/정밀도 제약: 예) Recall ≥ 0.9를 만족하는 최소 임계값 선택
- Youden’s J: J = TPR − FPR 최대화 임계값(의료 진단 등에서 사용)
- KS 통계량: 누적 TPR − 누적 FPR 최대점(신용평가)
- 검증셋/교차검증 기반 서치: Grid search로 임계값을 스윕하고 목표 지표 최대화
- 캘리브레이션 후 조정: Platt scaling/Isotonic으로 확률 보정 후 임계값 적용
Class 불균형 해소
접근 방식별 요약
접근 방식 | 방법 | 장점 | 단점 |
---|---|---|---|
데이터 수준 | 언더샘플링(Under-Sampling) | 간단, 빠름 | 정보 손실 가능 |
데이터 수준 | 오버샘플링(SMOTE, ADASYN 등) | 소수 클래스 보강, 다양성 증가 | 과적합 위험 |
데이터 수준 | 데이터 증강(Augmentation) | 소수 클래스 다양성 확보 | 도메인 지식 필요 |
알고리즘 수준 | 클래스 가중치(Class Weighting) | 단순 적용 가능, 효과적 | 가중치 튜닝 필요 |
알고리즘 수준 | Cost-Sensitive Learning | 잘못 예측 비용 반영 | 비용 설계 복잡 |
앙상블 | EasyEnsemble, Balanced RF | 강력한 성능, 불균형 완화 | 계산 비용 증가 |
손실 함수 | Weighted Cross-Entropy | 클래스별 가중치 반영, 단순·효과적 | 가중치 선택 어려움 |
손실 함수 | Focal Loss | Hard example 집중, 희귀 이벤트 강함 | α, γ 튜닝 필요 |
평가지표 | F1, ROC-AUC, PR-AUC | 불균형에 적합한 평가 | Accuracy보다 해석 복잡 |
실무 팁
- 우선 클래스 분포·오염 확인 → 데이터 질 개선 우선
- 소수 클래스 충분치 않으면 증강/합성 + 적절한 지표(PR-AUC/F1) 사용
- 비용민감·가중치·임계값 조정을 함께 튜닝(그리드/랜덤/베이지안)
HyperParameter Tuning
모델 학습에서 사람이 사전에 정해야 하는 값(데이터로 직접 학습되지 않음).
- 딥러닝: Learning Rate, Batch Size, Epoch, Dropout, Optimizer 등
- 트리 기반: max_depth, learning_rate, min_samples_split, n_estimators 등
- SVM: C, γ, Kernel
문제 유형 주의: 국어형 설명 문항(정의/장단점/적용 상황) 확인
(1) Grid Search
- 후보를 격자(Grid)로 전수 조합해 탐색
- 장점: 단순, 재현 쉬움
- 단점: 차원↑ 시 계산량 폭증, 비효율적
(2) Random Search
- 범위에서 무작위 샘플링으로 탐색
- 장점: 고차원에서 효율적, 빠른 베이스라인
- 단점: 최적 보장 어려움, 운에 민감
(3) Bayesian Optimization
- 과거 결과로 확률모형(GP 등)을 구축 → 기대 개선이 큰 지점을 선택
- 장점: 시도 수 대비 효율 높음
- 단점: 구현 복잡, 계산량 있음
보완 전략
- 교차검증으로 일반화 성능 평가, 조기중단·러닝레이트 스케줄 병행
- 하이브리드: 랜덤 탐색으로 거친 영역 탐색 → 베이지안으로 미세 조정
AI-Model-Development
install_url
to use ShareThis. Please set it in _config.yml
.