AI
[AI] 용어 정리, 모델 구분, AI 개발 과정 정
히치하이커 J
2024. 9. 7. 19:40
반응형
- 용어 정리
- training set : 시스템이 학습하는 데 사용하는 샘플.
- training instance(=sample) : 각각의 훈련 데이터.
- model : 머신러닝 시스템에서 학습하고 예측을 만드는 부분.
- 예 : neural network, random forest
- training data : 훈련 데이터
- accuracy : 정확도, 성능 측정
- data mining : 대용량의 데이터를 분석하여 숨겨진 패턴을 발견하는 것.
- Masking : Sample의 일부분을 가리는 것.
- Learning rate : Online learning에서, 변화하는 데이터에 얼마나 빠르게 적응할 것인지에 대한 속도, 비율.
- Generalization : AI 모델이 학습한 데이터를 바탕으로, 새로운 데이터를 처리하고 적절하게 예측하거나 분류하는 능력.
- Generalizaton이 잘 된 모델은 학습 데이터에 과하게 의존하지 않고, 학습되지 않은 새로운 상황에서도 좋은 성능을 발휘할 수 있다.
- Overfitting(과적합) : 학습 데이터에만 특화된 모델. 학습 데이터와 조금이라도 다른 상황에서 오작동할 가능성이 높음.
- Hyperparameter : 모델이 training을 거치기 전에 설정되는 변수. 엔지니어가 직접 설정한다.
- 머신러닝 사용 이유
- 문제가 어려울 경우 : 규칙이 점점 길고 복잡해져서 유지&보수가 어려운 경우.
- 전통적인 방식으로는 너무 복잡하거나 알려진 알고리즘이 없는 문제.
- 대규모의 데이터 속에서 새로운 추세나 상관관계를 발견하는 경우(=데이터 마이닝, Data mining)
- 머신러닝 활용 사례
- 이미지 분류(CNN 등)
- NLP(Natural Language Processing, 자연어 처리)
- 음성 인식
- Regression
- Outlier detection
- Clustering
- Dimensionality Reduction
- 추천 시스템
- Reinforcement Learning
- 머신러닝 종류
- Training Method : 지도 형태, 정보량 등으로 구분.
- Supervised Learning(지도 학습)
- 알고리즘에 주입하는 훈련 데이터에 레이블(label)이라는 원하는 답이 포함된다.
- 분류(Classification)
- 회귀(Regression) : 특성(feature=predictor예측 변수=attribute속성)으로 타깃(target)을 예측.
- Regression을 Classification에 사용할 수도 있고, 그 반대도 가능(=Logistic Regression)
- Unsupervised Learning(비지도 학습)
- 훈련 데이터에 레이블이 없음.
- 군집(Clustering) 알고리즘 : 알고리즘이 스스로 데이터 간의 연결고리를 찾는다.
- 계층 군집(Hierarchical clustering) : 각 그룹을 더 작은 그룹으로 세분화할 수 있다.
- 시각화(Visualization) : 레이블이 없는 대규모의 고차원 데이터를 넣으면, 도식화가 가능한 2D나 3D의 표현을 보여준다.
- → 데이터 조직 구조 이해, 예상치 못한 패턴 발견 가능.
- 차원 축소(Dimensionality reduction) : 너무 많은 정보를 잃지 않는 선에서, 데이터를 간소화하려는 알고리즘.
- → 특성 추출(Feature extraction).
- 이상치 탐지(Outlier detection) : 정상 샘플들을 통한 훈련 후, 새로운 샘플을 보고 정상 데이터인지 혹은 이상치인지 판단한다.
- 특이치 탐지(Novelty detection) : training set에 있는 모든 샘플과 달라 보이는 새로운 샘플을 탐지하는 것이 목적.
- 이상치 탐지 vs 특이치 탐지
- 상황 : 강아지 사진 수천 장 내에 치와와 사진이 1% 있는 경우.
- 이상치 탐지 : 치와와가 매우 드물고 다른 강아지와 다르다고 인식하여 이상치로 분류함.
- 특이치 탐지 : 새로운 치와와 사진을 특이치로 처리하지 못함.
- 이상치 탐지 vs 특이치 탐지
- 연관 규칙 학습(Association rule learning) : 대량의 데이터에서 특성(feature) 간의 흥미로운 관계를 찾는 알고리즘.
- Semi-supervised Learning(준지도 학습)
- Training set 내에 레이블이 없는 샘플과 레이블이 있는 샘플이 함께 있는 경우.
- 대부분은 supervied learning + unsupervised learning.
- Self-supervised Learning(자기 지도 학습)
- Label이 전혀 없는 data set에서 label이 완전히 부여된 data set을 형성하는 것.
- 예 : 손상된 이미지 복구
- 모델의 입력 : 마스킹된 이미지.
- 레이블 : 원본 이미지.
- → Data set 내의 각 이미지의 일부분을 랜덤하게 masking하고, 모델이 원본 이미지를 복원하도록 훈련한다.
- Reinforcement Learning(강화 학습)
- 환경(environment)을 관찰해서 행동(action)을 실행하고 그 결과로 보상(reward/penalty)를 받는 학습 방법.
- → 정책(policy : 가장 큰 reward를 얻기 위한 최상의 전략)을 스스로 학습함.
- 에이전트(Agent) : 학습하는 시스템.
- Policy는 주어진 environment에서 agent가 어떤 action을 선택해야 할지 정의함.
- Supervised Learning(지도 학습)
- 온라인 학습 vs 배치 학습
- 배치 학습(Batch learning) : 먼저 시스템을 훈련시킨 다음, 제품 시스템에 적용하면 더이상 학습 없이 실행된다. 즉, 학습한 것을 단지 적용만 한다. → Offline learning
- 단점 : 모델의 성능은 시간이 지남에 따라 천천히 감소하는 경향이 있다.
- 이유 : 세상은 계속 진화하는데 모델은 바뀌지 않고 그대로이기 때문이다.
- → 모델 부패(Model rot) 또는 데이터 드리프트(Data drift)
- 해결 방법 : 최신 데이터에서 모델을 정기적으로 재훈련하기.
- 훈련→평가→론칭
- 온라인 학습(Online learning) : 데이터가 도착하는 즉시 학습을 진행한다.
- 방법 : Data sample을 순차적으로 한 개씩 또는 미니배치(mini-batch)라 부르는 작은 묶음 단위로 주입하여 시스템을 훈련시킨다.
- 사용처 : 극도로 빠른 변화에 적응해야 하는 시스템(예 : 주식 시장에서 새로운 패턴을 탐지하는 시스템), 컴퓨팅 자원이 제한된 시스템(예 : 모바일 디바이스에서 모델을 훈련할 떄)
- Learning rate(학습률)
- 크면 : 시스템이 데이터에 빠르게 적응, 그러나 예전 데이터를 금방 잊어버림.
- 작으면 : 새로운 데이터에 있는 잡음이나 대표성 없는 데이터 포인트에 덜 민감해짐, 그러나 시스템의 관성이 더 커져서 더 느리게 학습이 진행된다.
- 단점 : 시스템에 나쁜 데이터가 주입되었을 때/데이터 품질이 안 좋을 떄/학습률이 적절하지 않을 때 → 시스템 성능이 감소함.
- 해결 방법 1 : 시스템을 면밀히 모니터링한다. 만약 성능 감소가 감지되면 즉각 학습을 중지시킨다.
- 해결 방법 2 : 입력 데이터를 모니터링해서 비정상 데이터를 잡아낸다.
- 배치 학습(Batch learning) : 먼저 시스템을 훈련시킨 다음, 제품 시스템에 적용하면 더이상 학습 없이 실행된다. 즉, 학습한 것을 단지 적용만 한다. → Offline learning
- 사례 기반 학습 vs 모델 기반 학습
- 분류 기준 : 일반화(generalization)이 이루어지는 방식.
- 사례 기반 학습
- training sample과 new data 간의 similarity measurement.
- 시스템이 training sample을 기억(학습) → similarity measurement를 통해 new sample과 training sample을 비교함
- 모델 기반 학습
- training sample 학습을 통해 model을 만들어 prediction(예측)에 사용하는 방법.
- Data preprocessing → Model selection → Justifying utility function/fitness function/cost function → Model training → Prediction
- Training Method : 지도 형태, 정보량 등으로 구분.
- 머신러닝 추후 과제 : Bad Model, Bad Data
- Bad Data
- 충분하지 않은 양의 training data
- 대표성 없는 training data
- sampling bias : sampling noise, wrong sample extraction method
- 낮은 품질의 training data
- error, outlier, noise으로 가득한 training data.
- 관련없는 features
- garbage in, garbage out
- Bad Model
- Overfitting
- 해결 방법 : 데이터에 완벽히 맞추는 것 - 일반화를 위해 단순한 모델을 유지하는 것 사이의 올바른 균형을 찾아야 함.
- 자유도(degree of freedom)에 규제(regularization)를 어느 정도 가해야 함.
- Hyperparameter를 training 전에 적절하게 설정해야 함.
- Hyperparameter를 매우 크게 설정하면 : 기울기가 0에 가까운 거의 편평한 모델을 얻게 된다.
- 해결 방법 : 데이터에 완벽히 맞추는 것 - 일반화를 위해 단순한 모델을 유지하는 것 사이의 올바른 균형을 찾아야 함.
- Underfitting
- 설명 : 모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못하는 상황.
- 해결방법
- Regularization을 감소시킴.
- 학습 알고리즘에 더 좋은 feature를 제공함.
- Model parameter가 더 많은 모델을 선택한다.
- Overfitting
- Bad Data
- 테스트와 검사
- training set, validation set, test set
- validation set 사용 이유 : Model을 test set에서 여러번 측정했으므로, model과 hyperparameter가 test set에 최적화된 모델을 만들었기 때문.
- 과정 : 다양한 hyperparameter 값을 가진 여러 모델을 훈련 → validation set에서 가장 높은 성능을 내는 model 선택 → training set + validation set 에서 다시 훈련하여 최종 model 만들기 → 최종 모델을 test set에서 평가하여 오차 추정.
- validation set가 너무 작을 경우 : 여러 모델 중 최적의 모델을 선택하기 어려움.
- validation set가 너무 클 경우 : “training set <<<<< training set + validation set” → 너무 작은 training set에서 훈련한 후보 모델을 비교하는 것은 적절하지 않다.
- 해결 방법 : cross-validation (반복적인 교차 검증)
- 데이터 불일치 : training data가 실제 제품에 사용될 데이터를 완벽하게 대표하지 못함.
- 해결 방법 : train-dev set
- train-dev set : training set의 일부를 떼어내 또 다른 set를 만드는 것.
- NFL(No Free Lunch, 공짜 점심 없음) 이론
- 데이터에 관해 아무런 가정도 하지 않으면, 한 모델을 다른 모델보다 선호할 근거가 없음.
- “실제로 경험하기 전에(=테스트하기 전에) 더 잘 맞을 거라고 보장할 수 있는 모델은 없다.”
- 어떤 모델이 최선인지 확실히 아는 유일한 방법은, 모든 모델을 평가해보는 것이다.
반응형