Вступ до пояснюваного ШІ

Пояснюваний ШІ в Python

Fouad Trad

Machine Learning Engineer

Про мене

Фото Фуада Трада

Fouad Trad
  • Інженер з машинного навчання
  • Аспірант PhD
  • Спеціалізація: ШІ для кібербезпеки
LinkedIn

Мій профіль LinkedIn

Пояснюваний ШІ в Python

Штучний інтелект

  • ШІ дає змогу машинам виконувати завдання, подібні до людських

Зображення: людина грає в шахи з машиною.

Пояснюваний ШІ в Python

Потреба в пояснюваності

 

Зображення: «чорна скринька» отримує вхід і генерує вихід.

 

  • Black box AI: немає розуміння, як ухвалюються рішення
Пояснюваний ШІ в Python

Потреба в пояснюваності

 

Зображення: «біла скринька» отримує вхід і генерує вихід.

 

  • Black box AI: немає розуміння, як ухвалюються рішення
  • Пояснюваний ШІ: зрозуміти внутрішню роботу моделі
Пояснюваний ШІ в Python

Пояснюваність vs. точність

  • Базові моделі:

    • Більш пояснювані
    • Менш точні
  • Складні моделі:

    • Точніші
    • Менш пояснювані

Зображення: моделі ШІ на шкалі від простих до складних (правила, лінійні моделі, дерева рішень, k-NN, SVM, нейронні мережі) з висновком: прості моделі зазвичай більш пояснювані, але менш точні; складні — точні, але їх важче тлумачити.

Пояснюваний ШІ в Python

Дерева рішень vs. нейронні мережі

Дерева рішень

Показують шлях рішення за умовами

Схема дерева рішень, що демонструє, як робляться передбачення на основі кількох умов

Пояснюваний ШІ в Python

Дерева рішень vs. нейронні мережі

Дерева рішень

Показують шлях рішення за умовами

Дерево рішень для прикладу вступу: якщо студент не має ступеня бакалавра — відмова; інакше приймають лише за оцінки вище 8.5

Пояснюваний ШІ в Python

Дерева рішень vs. нейронні мережі

Дерева рішень

Показують шлях рішення за умовами

Дерево рішень для прикладу вступу: якщо студент не має ступеня бакалавра — відмова; інакше приймають лише за оцінки вище 8.5

Нейронні мережі

Не прозорі за своєю природою

Зображення структури нейронної мережі: кілька прихованих шарів із нейронами.

Пояснюваний ШІ в Python

Дерева рішень vs. нейронні мережі

Дерева рішень

Показують шлях рішення за умовами

Дерево рішень для прикладу вступу: якщо студент не має ступеня бакалавра — відмова; інакше приймають лише за оцінки вище 8.5

Нейронні мережі

Не прозорі за своєю природою

Те саме NN отримує ознаки студента й передбачає, чи прийняти, чи відхилити.

Пояснюваний ШІ в 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: заява про мету навчання
  • LOR: рекомендаційний лист
  • CGPA: середній бал за весь період
Пояснюваний ШІ в 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
Пояснюваний ШІ в Python

Правила дерева рішень

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

Методи для конкретної моделі vs. незалежні від моделі

Для конкретної моделі

Застосовуються до певної моделі

Зображення: ключ, зроблений під конкретний замок

Пояснюваний ШІ в Python

Методи для конкретної моделі vs. незалежні від моделі

Для конкретної моделі

Застосовуються до певної моделі

Зображення: ключ, зроблений під конкретний замок

Незалежні від моделі

Підходять до будь-якої моделі

Зображення: «майстер-ключ», який відкриває кілька замків

Пояснюваний ШІ в Python

Що далі?

  • Методи для конкретної моделі та незалежні від моделі
  • Локальні та глобальні методи
  • Додаткові теми:
    • Метрики пояснюваності
    • Пояснюваність для безнаглядуваного навчання
    • Пояснюваність генеративного ШІ

Логотипи бібліотек: SHAP, LIME та Scikit-learn

Пояснюваний ШІ в Python

Давайте потренуємось!

Пояснюваний ШІ в Python

Preparing Video For Download...