본문 바로가기

IT

AI? 다 해결해?

인공지능, 머신러닝, 딥러닝

인공지능은 머신러닝(기계학습)과 딥러닝을 포함하는 의미입니다.

서로 다른 영역인 듯하기도 하고 비슷한 영역인 것 같기도 해서 많이 헷갈릴 수 있는데

인공지능, 머신러닝, 딥러닝은 크게 하나라고 보시면 됩니다.

 

AI, ML, DL 포함관계
그림1 인공지능 머신러닝 딥러닝

그림 1에서 보이는 것처럼 인공지능 안에 머신러닝이 있고 머신러닝 안에 딥러닝이 있습니다.

 

 

 

인공지능은 사람이 해야 할 일을 기계가 대신할 수 있는 모든 자동화를 포함하고 있습니다.

그래서 Rule 기반의 자동화 소프트웨어도 인공지능 영역에 속하게 됩니다.

로봇청소기, 인공지능 에어컨, 자율주행 자동차 등이 예입니다.

 

학습 분류

인공 지능 중 데이터를 통해 학습할 수 있는 기술을 머신러닝(기계학습)이라 합니다.

머신러닝 내에는 지도 학습, 비지도 학습, 강화 학습이 있습니다.

AI 적용가능영역
그림2 인공지능 적용 가능한 영역

지도 학습

지도 학습은 입력과 출력(Label, 정답)을 학습 데이터로 제공하는 것으로 분류 문제, 회귀 문제, 예측 문제를 풀 수 있습니다.

분류 문제의 경우는 동물 사진 분류, 손글씨 숫자 이미지 분류, 뉴스 기사 분류, 메일이 spam인지 ham인지 분류하는 문제를 풀 수 있습니다.

 

회귀 문제는 숫자를 예측하는 것으로 설탕 섭취량에 따른 혈압 수치는 얼마일까?(100mg/dl)  평균 학력에 따른 월 단위 독서량을 얼마일까(2-3권), 웹 사이트 방문 수에 따른 구매 비율을 얼마일까 (5%)의 문제를 풀 수 있습니다.

 

예측 문제는 회귀 문제에 시간이 들어간 것으로 다음 달 휘발유 가격을 얼마가 될까? 10년 후 지구 온도는 어떻게 변할까? 의 문제를 풀 수 있습니다.

 

비지도 학습

비지도 학습은 입력만을 학습 데이터로 제공하는 것으로 정답 없이 입력의 특징으로 패턴이나 차이점을 구별하도록 학습해 이상 값 감지, 그룹화 문제를 풀 수 있습니다.

 

예를 들어 이상값 감지에는 주식 사기 거래 감지, 신용카드 이상 사용 감지, 비정상 세포 감지등에 비지도 학습 모델이 이용될 수 있습니다.

그룹화의 경우는 유사 색상, 유사 크기, 유사 디자인 등 유사 상품 묶음 문제나 페이스북 친구 추천에 이용되는 SNS 친구 분석에 이용될 수 있습니다.

강화 학습

강화 학습은  목표 지향 학습으로 Learn from Mistakes!입니다.

완전한 답을 가르쳐 주지 않고 시행착오를 통해 학습하는 모델로 알파고 게임, 공장 자동화 로봇 등의 문제를 풀 수 있습니다.

 

딥러닝

머신러닝 중에서 인공신경망을 사용하는 모델을 딥러닝이라고 합니다.

딥러닝은 인공 신경망 모델을 사용한다는 차이만 있을 뿐이고

머신러닝의 학습방식인 지도 학습, 비지도 학습, 강화 학습 문제를 동일하게 풀 수 있습니다.

매트릭 (Metric)

인공지능 모델이 만들어졌다면 이 모델이 어느 정도로 문제를 잘 맞히는지 검증해야 합니다.

검증을 하기 위해서는 평가지표가 필요합니다.

분류 모델과 회귀 모델의 평가 매트릭에 대해 살펴보도록 하겠습니다.

분류 모델의 매트릭

오차 행렬

오차 행렬이란 학습을 통한 예측 성능을 측정하기 위해 예측값과 실제 값을 비교하기 위한 표로 분석 모형을 평가하는 기준입니다.

confusion matrix
그림 3 오차행렬

  • True Positive (TP ) : 실제 True인 답을 True라고 예측 (정답)
  • False Positive (FP) : 실제 False인 답을 True라고 예측 (오답)
  • False Negative (FN) : 실제 True인 답을 False라고 예측 (오답)
  • True Negative (TN) : 실제 False인 답을 False라고 예측 (정답)

오차 행렬 기반 Metric

위와 같이 오차 행렬을 기반으로 인공지능 분류 모델의 메트릭(평가 지표)은 정확도(Accuracy), 정밀도(Precision), 재현도(Recall), F1 Score 등이 있습니다.

Metric 내용
Accuracy
(정확도)
- 실제 데이터와 학습 모델이 예측한 데이터를 비교하여 같은지 판단.
- 오차 행렬의 대각선 부분에 해당.
Accuracy
Error Rate
(오류율)
- 전체 중 오답 예측률.
- Accuracy와 반대되는 수치.
Recall
(재현율)
- 실제 Positive 중 모델이 Positive로 찾은 비율
- Positive를 찾을 수 있는 능력을 나타냄
- 민감도 (Sensitivity )와 같음
- TPR (True Positive Rate)라고 함
Recall
Specificity
(특이도)
- 실제 Negative 중 모델이 Negative로 찾은 비율
- Negative를 찾을 수 있는 능력을 나타냄
Specificity
Precision
(정밀도)
- 예측을 Positive라 분류한 것 중 실제 Positive인 비율
- 인공지능 모델의 Positive 판정에 신뢰도를 나타냄

Precision
F1 Score - 정밀도와 재현율의 조화평균
- 분류 대상 데이터 분포가 고르지 못할 경우
  학습 데이터 분포에 따라 Accuracy 수치가 왜곡될 수 있어
   재현율과 정밀도의 조화평균인 F1 Score를 사용

AUROC ( Area Under the ROC Curve)

  • ROC (Receiver Operating Characteristic)
    • 곡선 FPR(False Psotive Rate)이 변할 때 민감도인 TPR이 어떻게 변화하는지를 나타내는 곡선입니다.
    • 임계 값(Threshold)이 1이면 확률이 1일 때 True로 예측하므로 FP(실제 False이고 True로 예측)가 0이므로 FPR은 0이 됩니다.
    • 임계 값을 0~1 범주 이내 값으로 조정하면서 FPR에 따른 TPR을 계산하며 곡선을 그립니다.
    • TPR 값과 FPR 값이 0.5인 모델 위에 ROC가 위치할 경우 성능이 기본 모델보다 좋음을 의미합니다.
  • AUC (Area Uner Curve)
    • 평가 모델의 ROC 곡선의 하단 면적을 의미합니다.
    • 랜덤일 때 0.5 값으로 ROC 곡선이 직선에서 멀어질수록 성능이 더 뛰어난 것으로 해석합니다.
AUC 1
AUC 1
양성과 음성이 모두 정확히 분류
오류로 인한 교집합 없음.
AUC 면적은 1이 됨.
AUC 0.7
AUC 0.7
양성과 음성 판정에 일부 오류가 있음
AUC 면적은 0.5와 1 사이가 됨.
AUC 0.5
AUC 0.5
양성과 음성판정이 부정확한 상태
AUC 면적은 최솟값인 0.5가 됨

 

 회귀 예측 모델의 매트릭

회귀 예측 모델을 평가하기 위한 지표는 실제값과 회귀 예측값의 차이를 기반으로 성능지표들을 수립합니다.

Metric 내용
R2 Score
(R-Squared)
실제 값의 분산 대비 예측값의 분산 비율을 의미
1에 가까울수록 좋음
R2 score
MAE
(평균 절대 오차)
(Mean Absolute Error) 
- 실제 정답 값과 예측값의 차이를 절댓값으로 변환한 뒤 합산하여 평균을 구한다.
- 특잇값이 많은 경우에 주로 사용된다. 값이 낮을수록 좋다
- 장점 : 직관적, 정답 및 예측값과 같은 단위를 가짐
- 단점 : 제 정답보다 낮게 또는 높게 예측했는지 파악이 안 됨,  
         스케일 의존적 : 모델마다 에러 크기가 동일해도 에러율은 동일하지 않음.
MAE
MAPE
(평균 절대 비율 오차)
(Mean Absolute Percentage Error)
- MAE를 비율, 퍼센트로 표현하여 스케일 의존적 에러의 문제점을 개선
- 장점 : 직관적, 다른 모델과 에러율 비교가 쉬움
- 단점 : 실제 정답보다 낮게 또는 높게 예측했는지 파악이 안 됨,  
         실제 정답이 1보다 작을 경우 무한대로 수렴할 수 있음.
MAPE

 

이상으로 인공지능 모델을 개발했을 때 이 모델의 성능을 평가하는 지표에 대해 살펴보았습니다.

성가 지표는 지도 학습이냐 비지도 학습이냐로 나누어지기도 하고, 

데이터냐 이미지이냐로 지표가 달라지기도 합니다.

 

만약 A의 데이터를 학습시키고 B의 데이터로 성능 평가를 한다면 어떻게 될까요?

학습된 데이터와 다르기 때문에 생성된 모델의 성능은 매우 나빠질 것이 당연합니다.

 

인공지능! 다시 말해 학습시킨 것! 

인공지능 모델이 만능 해결사가 아님을 인지하는 것이 중요합니다.

지금은 인공지능이 발전하고 있는 과정이기에 인공지능이라면 모든 것을 해결한다고 생각하고 있습니다.

그러나 컴퓨터가 해결할 수 있는 영역은 정해져 있습니다.

기계의 모델은 학습된 상황에서 성과 지표에만 도달하면 됩니다.

 

인간은 효율적으로 기계를 사용하고 지혜롭게 운영하는 것이 필요합니다.

 

 

 

 

'IT' 카테고리의 다른 글

빅데이터 구조  (0) 2022.11.16
인공지능의 시작  (0) 2022.11.15
유무선 네트워크  (0) 2022.10.27
파이선 문법 3 - 제어,배열,함수  (0) 2022.10.27
파이선 문법 2 - 입출력  (0) 2022.10.26