설명 가능한 AI 소개

Python으로 배우는 Explainable AI

Fouad Trad

Machine Learning Engineer

소개

fouadtrad.jpg

Fouad Trad
  • 머신러닝 엔지니어
  • 박사과정 연구원
  • 사이버보안용 AI 전문
LinkedIn

mylinkedin.jpg

Python으로 배우는 Explainable AI

인공지능

  • AI는 머신이 인간과 유사한 작업을 수행하도록 합니다

인간이 기계와 체스를 두는 이미지

Python으로 배우는 Explainable AI

설명 가능성의 필요성

 

입력을 받아 출력을 내는 닫힌 블랙박스 시스템 이미지

 

  • 블랙박스 AI: 의사결정 과정을 알 수 없음
Python으로 배우는 Explainable AI

설명 가능성의 필요성

 

입력을 받아 출력을 내는 열린 화이트박스 시스템 이미지

 

  • 블랙박스 AI: 의사결정 과정을 알 수 없음
  • 설명 가능한 AI: 모델 내부 작동을 이해
Python으로 배우는 Explainable AI

설명 가능성 vs. 정확도

  • 기본 모델은:

    • 더 설명 가능함
    • 정확도 낮음
  • 복잡한 모델은:

    • 정확도 높음
    • 설명 어려움

기본 모델에서 복잡한 모델까지(규칙 기반, 선형 모델, 결정 트리, k-NN, SVM, 신경망)를 그래프로 보여 주며, 기본 모델은 설명 가능성이 높지만 정확도는 낮고, 복잡한 모델은 정확도가 높지만 해석이 어렵다는 점을 강조하는 이미지

Python으로 배우는 Explainable AI

결정 트리 vs. 신경망

결정 트리

조건에 따른 의사결정 경로를 보여줍니다

여러 조건에 따라 예측이 이루어지는 결정 트리 표현

Python으로 배우는 Explainable AI

결정 트리 vs. 신경망

결정 트리

조건에 따른 의사결정 경로를 보여줍니다

입학 예시용 결정 트리: 학부 학위가 없으면 불합격, 있으면 성적이 8.5 초과일 때만 합격

Python으로 배우는 Explainable AI

결정 트리 vs. 신경망

결정 트리

조건에 따른 의사결정 경로를 보여줍니다

입학 예시용 결정 트리: 학부 학위가 없으면 불합격, 있으면 성적이 8.5 초과일 때만 합격

신경망

본질적으로 투명하지 않음

여러 은닉층과 뉴런으로 구성된 신경망 구조 이미지

Python으로 배우는 Explainable AI

결정 트리 vs. 신경망

결정 트리

조건에 따른 의사결정 경로를 보여줍니다

입학 예시용 결정 트리: 학부 학위가 없으면 불합격, 있으면 성적이 8.5 초과일 때만 합격

신경망

본질적으로 투명하지 않음

같은 신경망이 학생 특성을 입력받아 합격/불합격을 예측하는 이미지

Python으로 배우는 Explainable AI

학생 입학 예측

GRE 점수 TOEFL 점수 대학 등급 SOP LOR CGPA 합격
337 118 4 4.5 4.5 9.65 1
316 104 3 3 3.5 8.00 1
314 103 2 2 3 8.21 0

 

  • 시험 점수: GRE, TOEFL
  • 대학 등급
  • SOP: 학업계획서
  • LOR: 추천서
  • CGPA: 누적 평점
Python으로 배우는 Explainable AI

학생 입학 예측

결정 트리
from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier(max_depth=5)

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Decision Tree: {acc}")
Accuracy of Decision Tree: 0.82
신경망
from sklearn.neural_network import MLPClassifier

model = MLPClassifier(hidden_layer_sizes=(1000,1000))

model.fit(X_train, y_train)
y_pred = model.predict(y_test)
acc = accuracy_score(y_test, y_pred) print(f"Accuracy of Neural Network: {acc}")
Accuracy of Neural Network: 0.9
Python으로 배우는 Explainable AI

결정 트리 규칙

from sklearn.tree export_text

rules = export_text(model, feature_names=list(X_train.columns))

print(rules)
|--- CGPA <= 8.34
|   |--- GRE Score <= 320.50
|   |   |--- class: 0

| |--- GRE Score > 320.50 | | |--- class: 1
|--- CGPA > 8.34 | |--- GRE Score <= 319.50 | | |--- class: 1 ...
Python으로 배우는 Explainable AI

모델 특화 vs. 모델 불특정 기법

모델 특화

특정 모델에 적용

특정 자물쇠에 맞춘 열쇠 이미지

Python으로 배우는 Explainable AI

모델 특화 vs. 모델 불특정 기법

모델 특화

특정 모델에 적용

특정 자물쇠에 맞춘 열쇠 이미지

모델 불특정

어떤 모델에도 적용

여러 자물쇠를 열 수 있는 마스터키 이미지

Python으로 배우는 Explainable AI

다음은?

  • 모델 특화 및 불특정 기법
  • 로컬/글로벌 방법
  • 심화 주제:
    • 설명 가능성 지표
    • 비지도 설명 가능성
    • 생성형 AI 설명 가능성

라이브러리 로고: SHAP, LIME, Scikit-learn

Python으로 배우는 Explainable AI

Let's practice!

Python으로 배우는 Explainable AI

Preparing Video For Download...