Explainable AI 入門

Python 的 Explainable AI

Fouad Trad

Machine Learning Engineer

關於我

Fouad Trad 的照片

Fouad Trad
  • 機器學習工程師
  • 博士生
  • 專長:資安領域的 AI
LinkedIn

我的 LinkedIn

Python 的 Explainable AI

人工智慧

  • AI 讓機器能執行類似人類的任務

顯示人類和機器下棋的圖片。

Python 的 Explainable AI

為何需要可解釋性

 

顯示一個封閉黑箱系統接收輸入並產生輸出的圖片。

 

  • 黑箱式 AI:無法理解其決策過程
Python 的 Explainable AI

為何需要可解釋性

 

顯示一個開放白箱系統接收輸入並產生輸出的圖片。

 

  • 黑箱式 AI:無法理解其決策過程
  • 可解釋 AI:可理解模型的內部運作
Python 的 Explainable AI

可解釋性 vs. 準確度

  • 基本模型:

    • 較可解釋
    • 準確度較低
  • 複雜模型:

    • 準確度較高
    • 較難解釋

圖示展示 AI 模型從基礎到複雜(規則式、線性模型、決策樹、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:讀書計畫(statement of purpose)
  • LOR:推薦信(letter of recommendation)
  • CGPA:累計平均成績(cumulative GPA)
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

一起來練習吧!

Python 的 Explainable AI

Preparing Video For Download...