AI-Model-Development

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

문제 유형 주의: 국어형 설명 문항(정의/장단점/적용 상황) 확인

  • 후보를 격자(Grid)로 전수 조합해 탐색
  • 장점: 단순, 재현 쉬움
  • 단점: 차원↑ 시 계산량 폭증, 비효율적
  • 범위에서 무작위 샘플링으로 탐색
  • 장점: 고차원에서 효율적, 빠른 베이스라인
  • 단점: 최적 보장 어려움, 운에 민감

(3) Bayesian Optimization

  • 과거 결과로 확률모형(GP 등)을 구축 → 기대 개선이 큰 지점을 선택
  • 장점: 시도 수 대비 효율 높음
  • 단점: 구현 복잡, 계산량 있음

보완 전략

  • 교차검증으로 일반화 성능 평가, 조기중단·러닝레이트 스케줄 병행
  • 하이브리드: 랜덤 탐색으로 거친 영역 탐색 → 베이지안으로 미세 조정
Author

Hamin Lee

Posted on

2025-09-04

Updated on

2025-09-04

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.