บทนำสู่ Explainable AI

Explainable AI ด้วย Python

Fouad Trad

Machine Learning Engineer

เกี่ยวกับฉัน

fouadtrad.jpg

Fouad Trad
  • วิศวกร Machine Learning
  • นักศึกษาปริญญาเอก
  • เชี่ยวชาญด้าน AI สำหรับความปลอดภัยทางไซเบอร์
LinkedIn

mylinkedin.jpg

Explainable AI ด้วย Python

ปัญญาประดิษฐ์

  • AI ช่วยให้เครื่องจักรทำงานได้เหมือนมนุษย์

ภาพมนุษย์เล่นหมากรุกกับเครื่องจักร

Explainable AI ด้วย Python

ความจำเป็นของการอธิบายได้

 

ภาพระบบกล่องดำที่รับข้อมูลเข้าและสร้างผลลัพธ์

 

  • Black box AI: ไม่สามารถเข้าใจกระบวนการตัดสินใจได้
Explainable AI ด้วย Python

ความจำเป็นของการอธิบายได้

 

ภาพระบบกล่องเปิดที่รับข้อมูลเข้าและสร้างผลลัพธ์

 

  • Black box AI: ไม่สามารถเข้าใจกระบวนการตัดสินใจได้
  • Explainable AI: เข้าใจการทำงานภายในของโมเดล
Explainable AI ด้วย Python

การอธิบายได้ vs. ความแม่นยำ

  • โมเดลพื้นฐาน:

    • อธิบายได้มากกว่า
    • แม่นยำน้อยกว่า
  • โมเดลซับซ้อน:

    • แม่นยำมากกว่า
    • อธิบายได้น้อยกว่า

ภาพแสดงโมเดล AI บนกราฟตั้งแต่โมเดลพื้นฐานไปจนถึงโมเดลซับซ้อน (rule-based, linear models, decision trees, k-NN, SVMs และ neural networks) โดยโมเดลพื้นฐานมักอธิบายได้มากกว่าแต่แม่นยำน้อยกว่า ขณะที่โมเดลซับซ้อนแม่นยำสูงแต่ตีความได้ยากกว่า

Explainable AI ด้วย Python

Decision trees vs. neural networks

Decision trees

แสดงเส้นทางการตัดสินใจตามเงื่อนไข

ภาพแสดง decision tree ที่ใช้เงื่อนไขหลายข้อในการทำนาย

Explainable AI ด้วย Python

Decision trees vs. neural networks

Decision trees

แสดงเส้นทางการตัดสินใจตามเงื่อนไข

Decision tree สำหรับตัวอย่างการรับสมัคร โดยหากนักศึกษาไม่มีปริญญาตรีจะถูกปฏิเสธ และจะได้รับการตอบรับก็ต่อเมื่อเกรดสูงกว่า 8.5

Explainable AI ด้วย Python

Decision trees vs. neural networks

Decision trees

แสดงเส้นทางการตัดสินใจตามเงื่อนไข

Decision tree สำหรับตัวอย่างการรับสมัคร โดยหากนักศึกษาไม่มีปริญญาตรีจะถูกปฏิเสธ และจะได้รับการตอบรับก็ต่อเมื่อเกรดสูงกว่า 8.5

Neural networks

ไม่โปร่งใสโดยธรรมชาติ

ภาพแสดงโครงสร้างของ neural network ซึ่งประกอบด้วย hidden layers หลายชั้น แต่ละชั้นมี neurons หลายตัว

Explainable AI ด้วย Python

Decision trees vs. neural networks

Decision trees

แสดงเส้นทางการตัดสินใจตามเงื่อนไข

Decision tree สำหรับตัวอย่างการรับสมัคร โดยหากนักศึกษาไม่มีปริญญาตรีจะถูกปฏิเสธ และจะได้รับการตอบรับก็ต่อเมื่อเกรดสูงกว่า 8.5

Neural networks

ไม่โปร่งใสโดยธรรมชาติ

ภาพแสดง neural network เดิมที่รับข้อมูลนักศึกษาและทำนายว่าควรรับหรือปฏิเสธ

Explainable AI ด้วย Python

การทำนายการรับเข้าศึกษา

GRE Score TOEFL Score University Rating SOP LOR CGPA Accept
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: statement of purpose
  • LOR: letter of recommendation
  • CGPA: cumulative grade point average
Explainable AI ด้วย Python

การทำนายการรับเข้าศึกษา

Decision Tree
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
Neural Network
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
Explainable AI ด้วย Python

กฎของ decision tree

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 ...
Explainable AI ด้วย Python

เทคนิค Model-specific vs. Model-agnostic

Model-specific

ใช้กับโมเดลเฉพาะ

ภาพกุญแจที่ออกแบบมาสำหรับล็อกเฉพาะชิ้น

Explainable AI ด้วย Python

เทคนิค Model-specific vs. Model-agnostic

Model-specific

ใช้กับโมเดลเฉพาะ

ภาพกุญแจที่ออกแบบมาสำหรับล็อกเฉพาะชิ้น

Model-agnostic

ใช้ได้กับทุกโมเดล

ภาพกุญแจมาสเตอร์คีย์ที่เปิดได้หลายล็อก

Explainable AI ด้วย Python

ถัดไปมีอะไรบ้าง?

  • เทคนิค Model-specific และ Model-agnostic
  • วิธีแบบ Local และ Global
  • หัวข้อขั้นสูง:
    • เมตริกการอธิบายได้
    • Explainability แบบ Unsupervised
    • Explainability สำหรับ Generative AI

โลโก้ของไลบรารี SHAP, LIME และ Scikit-learn

Explainable AI ด้วย Python

มาฝึกกันเถอะ!

Explainable AI ด้วย Python

Preparing Video For Download...