[AI] 인공지능 구축 절차
● 인공지능 구축 절차
절차 | 설명 |
1) 문제 정의 및 기획 | - 해결하고자 하는 문제가 무엇인지 정의 - 문제해결을 위한 기능과 성능 검토 |
2) 데이터 수집 및 전처리 | - 공공 데이터, 웹 스크래핑, 내부 데이터 등 다양한 경로를 통해 수집 - 결측치(Missing value) 처리, 이상치(Outlier) 제거 등 데이터 정제 |
3) 모델 설계 및 개발 | - 문제에 적합한 모델을 선정(ex. CNN, RNN 등) - 적절한 프레임워크 선택(ex. TensorFlow, PyTorch 등) |
4) 학습 및 최적화 | - 준비된 데이터를 활용해 모델 학습 - 적절한 비용함수와 하이퍼파라미터 튜닝으로 모델 최적화 - 과적합 / 과소적합 방지 |
5) 평가 및 검증 | - 정확도, 편향성, 강건성 등 다각도의 평가 - 혼동행렬, 교차 검증 기법 |
6) 배포 및 모니터링 | - API(Application Programming Interface) 서버, 모바일, 클라우드 등 다양한 방식으로 배포 - 배포 후 모델의 응답속도, 정확도 등을 지속 점검 / 운영 |
※ 과적합 (Overfitting)
학습용 데이터에 지나치게 특화되어 새로운 데이터에 대한 오차가 커지는 현상
해결방안 | 설명 |
정규화 (Regularization) | 복잡한 문제를 좀 더 간단하게(가중치 규제) 하는 방법 |
드롭 아웃 (Drop out) | 학습과정에서 인공신경망의 일부를 사용하지 않는 방법 |
크로스 밸리데이션 (Cross Validation) | 데이터를 여러 부분으로 나누어 일부는 학습에 나머지는 검증에 사용하는 방법 |
※ 과소적합 (Underfitting)
학습이 부족하여 데이터에 있는 패턴을 충분히 숙지하지 못해 성능이 떨어지는 현상
해결방안 | 설명 |
추가 학습 | 학습 반복을 통해 Epoch(학습 1회전)수를 증가시켜 모델이 데이터 패턴을 충분히 학습 |
모델 복잡도 증가 | 모델에 더 많은 특성을 추가하거나 더 복잡한 모델을 사용 |
하이퍼파라미터 조정 | 학습률(Learning rate) 등 설정값을 조정하여 학습과정을 최적화 |
※ 혼동행렬(Confusion Matrix)
분류 문제에서 모델의 성능(얼마나 잘 분류했는지)을 평가 하는데 효과적인 도구
지표 | 설명 |
정확도 (Accuracy) | 전체 예측 중 정답을 맞춘 건수 비율 |
정밀도 (Precision) | 예측한 ‘양성’ 중 실제 ‘양성’인 비율 |
재현율 (Recall) | 실제 ‘양성’ 중 모델이 맞춘 비율 |
F1 점수 (F1 Score) | 정밀도와 재현율의 균형 평가(=평균) |
Ex) 총 100개 메일 중 40개 스팸, 60개 정상
실제↓ / 예측→ |
스팸 |
정상 |
스팸 |
30 |
10 |
정상 |
5 |
55 |
* 정확도 = (30 + 55) / 100 = 85%
* 정밀도 = 30 / (30 + 5) = 85.7%
* 재현율 = 30 / (30 + 10) = 75%
※ 교차 검증 (Cross Validation)
1) 홀드 아웃
- 전체 데이터를 랜덤하게 학습용 데이터(Training Set), 평가용 데이터(Test Set)로 나누어 검증하는 기법
- 학습용 데이터는 학습 데이터와 검증 데이터(Validation Set)로 분할됨
2) K-Fold Cross Validation
- 데이터를 임의의 K개로 나눈 뒤, 그 중 1개를 학습용(training set), 나머지 K-1개를 검증용(test set)으로 사용하여 K번 반복해서 모델 성능을 평가하는 방법
- 한번 나눠서 학습하는 홀드아웃 방식에 비해 정확하고 일반화된 성능을 얻을 수 있음.
3) LOOCV (Leave-One-Out Cross Validation)
- 데이터 개수가 적을 때 효과적인 평가방법
- 한번에 하나의 데이터 샘플을 선택하고 그 외 데이터를 사용하여 모델의 성능을 반복 평가(데이터가 N개면, N번 학습+평가) ; 가장 정밀한 교차검증이지만, 느리고 계산 비용이 크다.
※ 운영시 추가 고려사항
AI 모델은 학습이라는 기본 원리 특성상 지속적인 관리와 발전이 필수적
항목 | 설명 |
AB 테스트 | 두 모델 버전을 일부 사용자에게 나눠 성능 비교 |
재학습 자동화 | 일정 기간마다 데이터를 모아 다시 학습할 수 있게 구성 |
롤백 전략 | 문제가 생겼을 때 이전 버전으로 빠르게 복구할 수 있는 시스템 |
※ MLOps (Machine Learning Operations)
모델의 개발, 배포, 운영을 자동화하고 지속적으로 최적화하는 방법론