Giới thiệu về AI có thể giải thích

Explainable AI trong Python

Fouad Trad

Machine Learning Engineer

Giới thiệu bản thân

fouadtrad.jpg

Fouad Trad
  • Kỹ sư máy học
  • Nghiên cứu sinh Tiến sĩ
  • Chuyên AI cho An ninh mạng
LinkedIn

mylinkedin.jpg

Explainable AI trong Python

Trí tuệ nhân tạo

  • AI cho phép máy thực hiện tác vụ giống con người

Hình người chơi cờ với máy.

Explainable AI trong Python

Nhu cầu về khả năng giải thích

 

Hình hệ thống hộp đen đóng nhận đầu vào và tạo đầu ra.

 

  • AI hộp đen: không hiểu cách ra quyết định
Explainable AI trong Python

Nhu cầu về khả năng giải thích

 

Hình hệ thống hộp mở nhận đầu vào và tạo đầu ra.

 

  • AI hộp đen: không hiểu cách ra quyết định
  • AI có thể giải thích: hiểu hoạt động bên trong mô hình
Explainable AI trong Python

Khả năng giải thích vs. độ chính xác

  • Mô hình đơn giản:

    • Dễ giải thích hơn
    • Kém chính xác hơn
  • Mô hình phức tạp:

    • Chính xác hơn
    • Khó giải thích hơn

Hình cho thấy các mô hình AI trên đồ thị từ cơ bản đến phức tạp (dựa trên luật, mô hình tuyến tính, cây quyết định, k-NN, SVM và mạng nơ-ron), nhấn mạnh rằng mô hình cơ bản thường dễ giải thích nhưng kém chính xác, còn mô hình phức tạp rất chính xác nhưng khó diễn giải.

Explainable AI trong Python

Cây quyết định vs. mạng nơ-ron

Cây quyết định

Hiển thị đường đi quyết định theo điều kiện

Minh họa cây quyết định cho thấy dự đoán dựa trên nhiều điều kiện

Explainable AI trong Python

Cây quyết định vs. mạng nơ-ron

Cây quyết định

Hiển thị đường đi quyết định theo điều kiện

Cây quyết định cho ví dụ tuyển sinh: nếu sinh viên không có bằng cử nhân thì bị từ chối; nếu có, chỉ được nhận khi điểm > 8.5

Explainable AI trong Python

Cây quyết định vs. mạng nơ-ron

Cây quyết định

Hiển thị đường đi quyết định theo điều kiện

Cây quyết định cho ví dụ tuyển sinh: nếu sinh viên không có bằng cử nhân thì bị từ chối; nếu có, chỉ được nhận khi điểm > 8.5

Mạng nơ-ron

Không minh bạch theo thiết kế

Hình minh họa cấu trúc mạng nơ-ron: nhiều tầng ẩn, mỗi tầng có nhiều nơ-ron.

Explainable AI trong Python

Cây quyết định vs. mạng nơ-ron

Cây quyết định

Hiển thị đường đi quyết định theo điều kiện

Cây quyết định cho ví dụ tuyển sinh: nếu sinh viên không có bằng cử nhân thì bị từ chối; nếu có, chỉ được nhận khi điểm > 8.5

Mạng nơ-ron

Không minh bạch theo thiết kế

Hình cho thấy cùng mạng nơ-ron nhận đặc trưng của sinh viên và dự đoán nên nhận hay từ chối.

Explainable AI trong Python

Dự đoán tuyển sinh sinh viên

Điểm GRE Điểm TOEFL Xếp hạng trường SOP LOR CGPA Nhận
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

 

  • Điểm thi: GRE và TOEFL
  • Xếp hạng trường
  • SOP: statement of purpose
  • LOR: letter of recommendation
  • CGPA: cumulative grade point average
Explainable AI trong Python

Dự đoán tuyển sinh sinh viên

Cây quyết định
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
Mạng nơ-ron
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 trong Python

Quy tắc cây quyết định

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 trong Python

Kỹ thuật theo mô hình vs. độc lập mô hình

Theo mô hình

Áp dụng cho mô hình cụ thể

Hình chiếc chìa khóa thiết kế cho ổ khóa cụ thể

Explainable AI trong Python

Kỹ thuật theo mô hình vs. độc lập mô hình

Theo mô hình

Áp dụng cho mô hình cụ thể

Hình chiếc chìa khóa thiết kế cho ổ khóa cụ thể

Độc lập mô hình

Áp dụng cho mọi mô hình

Hình chiếc chìa khóa vạn năng mở được nhiều ổ

Explainable AI trong Python

Tiếp theo là gì?

  • Kỹ thuật theo mô hình và độc lập mô hình
  • Phương pháp cục bộ và tổng quát
  • Chủ đề nâng cao:
    • Thước đo khả năng giải thích
    • Giải thích cho học không giám sát
    • Giải thích cho AI sinh sinh

Logo của các thư viện: SHAP, LIME và Scikit-learn

Explainable AI trong Python

Ayo berlatih!

Explainable AI trong Python

Preparing Video For Download...