Интерпретируемое машинное обучение (2022): различия между версиями

Материал из SecSem Wiki
Перейти к навигации Перейти к поиску
(Задания)
 
(не показана 21 промежуточная версия этого же участника)
Строка 2: Строка 2:
 
Курс '''Интерпретируемое машинное обучение''' читается в весеннем семестре первого года обучения магистерской программы "Искусственный интеллект в кибербезопасности".
 
Курс '''Интерпретируемое машинное обучение''' читается в весеннем семестре первого года обучения магистерской программы "Искусственный интеллект в кибербезопасности".
  
* '''Когда''': во вторник, 18:20, 16 февраля 2021
+
* '''Когда''': в четверг, 14:35.
* '''Где''': аудитория 612, 2-й учебный корпус, планета Земля, Млечный Путь.
+
* '''Где''': дистанционно, [https://us02web.zoom.us/j/89520765465?pwd=RFVSYVhBY0N4Q2Rzai8raTlPbUVxdz09 ссылка на зум], [https://t.me/+4pURIJfM2bU4NDIy ссылка на чат]
  
Курс рекомендуется студентам, интересующимся практической безопасностью. Каждое занятие будет иметь формат воркшопа/семинара - будет практическим, на него надо приходить с ноутбуком, а также установленным софтом.
+
Курс рекомендуется студентам, интересующимся методами интерпретации для моделей машинного обучения.
  
Оценка за курс будет определяться по результатам выполнения практических заданий. За каждое из заданий будут даваться баллы, сумма баллов и определит оценку. Задания будут делиться на обязательные и бонусные. Баллы за все обязательные задания вместе дадут '''10000'''. Критерии такие:
+
Оценка за курс будет определяться по результатам выполнения домашних заданий заданий. Выполнение всех домашних заданий позволяют получить "зачет" автоматически.
* '''2000''' и больше будут давать оценку "отлично".
+
 
* баллы >= '''1000''', но меньше '''2000''' будут давать оценку "хорошо"
+
== Лекции ==
* баллы >= '''500''', но меньше '''1000''' будут давать оценку "удовлетворительно"
+
* '''14.02''' - ML задачи в кибербезопасности [https://www.dropbox.com/s/ff6uqqijyvmh8dz/1_MLinCybersecurity.pdf?dl=0 слайды]
 +
* '''21.02''' - Введение в интерпретируемое машинное обучение [https://www.dropbox.com/s/ye2qk2xq5vp75xd/2_XAIIntro.pdf?dl=0 слайды] [https://www.dropbox.com/s/2g77fvvljwh6izs/2_XAIIntro_1.mp4?dl=0 видео - часть 1] [https://www.dropbox.com/s/9fotma9b4iaf9pw/2_XAIIntro_2.mp4?dl=0 видео - часть 2]
 +
* '''18.03''' - LIME [https://www.dropbox.com/s/yglbepfkl53q43c/3_Lime.pdf?dl=0 слайды] [https://www.dropbox.com/s/gvugffzv52ng1j0/3_Lime.mp4?dl=0 видео]
 +
* '''24.03''' - SHAP [https://www.dropbox.com/s/b6rvh6rzig65ieg/4_SHAP.pdf?dl=0 слайды] [https://www.dropbox.com/s/pa6pwg8wvxh14qy/4_SHAP.mp4?dl=0 видео]
 +
* '''31.03''' - PDP, ICE, ALE [https://www.dropbox.com/s/ld05h4fh9zmo5l7/5_PDP_ICE_ALE.pdf?dl=0 слайды] [https://www.dropbox.com/s/fzxasn5m2zq9wcc/5_PDP_ICE_ALE.mp4?dl=0 видео]
 +
* ''' 7.04''' - Saliency maps, DeconvNet, Occlusion Sensitivity, Integrated gradients [https://www.dropbox.com/s/db2c6y4xaccuhpw/6_SDOI.ipynb?dl=0 тетрадка] [https://www.dropbox.com/s/fq6p6vjeswrs08p/6_SDOI.mp4?dl=0 видео]
 +
* '''14.04''' - Backpropagation methods: Vanila backprop, Guided backprop, CAM (class activation methods), Grad-CAM+, Grad-CAM++ [https://www.dropbox.com/s/hyk5dollr4d7iik/7_Backprop_methods.ipynb?dl=0 тетрадка]
 +
* '''21.04''' - Visual Transformers [https://www.dropbox.com/s/gfyb3g4y6epikxt/8_ViT.ipynb?dl=0 тетрадка] [https://www.dropbox.com/s/x1kx7kzlzxq0otb/8_ViTs.mp4?dl=0 видео]
 +
* '''28.04''' - Deep Taylor decomposition, Layer-wise Relevance Propagation [https://www.dropbox.com/s/n2ho4s8nfk2fpn6/9_LRP.ipynb?dl=0 тетрадка] [https://www.dropbox.com/s/28fod9sjccvgpdm/9_LRP.mp4?dl=0 видео]
 +
 
 +
== Задания ==
 +
# Реализация LIME и SHAP [https://t.me/c/1554651430/20 Описание задания] Дедлайн: 26 марта
 +
# Интерпретация нейронных сетей для картинок [https://t.me/c/1554651430/78 Распределение методов интерпретации по людям] Дедлайн: 20 мая
 +
 
 +
== Полезные ссылки и литература ==
 +
=== Книги ===
 +
# [https://cset.georgetown.edu/publication/machine-learning-and-cybersecurity/ Machine Learning and Cybersecurity (2021)]
 +
# [https://www.dropbox.com/s/wd6g3jhi0qy3eyv/interpretable-machine-learning.pdf?dl=0 Molnar "Interpretable Machine Learning" (2020)]
 +
# [https://github.com/PacktPublishing/Interpretable-Machine-Learning-with-Python Masis "Interpretable Machine Learning with Python" (2021)]
 +
# [https://www.dropbox.com/s/ive59hcn7783vpm/%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D0%B8_%D0%BF%D0%BE_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC%D1%83_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D1%83_%D0%A5%D0%B5%D0%BB%D0%B5%D0%BC%D1%81%D0%BA%D0%B8%D0%B9_A_%D0%AF_z_lib_org.pdf?dl=0 Хелемский "Лекции по функциональному анализу"]
 +
=== Статьи ===
 +
# [https://www.dropbox.com/s/h7sa4zi3n44qmkb/lime_paper.pdf?dl=0 Ribeiro "“Why Should I Trust You?” Explaining the Predictions of Any Classifier" (2016)]
 +
# Friedman, Jerome H. “Greedy function approximation: A gradient boosting machine.” Annals of statistics (2001): 1189-1232
 +
# Apley, Daniel W. “Visualizing the effects of predictor variables in black box supervised learning models.” arXiv preprint arXiv:1612.08468 (2016)
 +
# [https://arxiv.org/abs/1706.07979 "General Activation Maximization, Activation Maximization in Codespace, Simple Taylor Decomposition, Deep Taylor Decomposition, LRP-ab"]
 +
# [https://distill.pub/2017/feature-visualization/ "DeepDream"]
 +
# [https://arxiv.org/pdf/1312.6034.pdf "Saliency Map, Vanilla Backpropagation"]
 +
# [https://arxiv.org/pdf/1311.2901.pdf "DeConvNet Full Input Reconstruction, DeConvNet Partial Input Reconstruction, Occlusion Sensitivity"]
 +
# [https://arxiv.org/pdf/1412.6806.pdf "Guided Backpropagation"]
 +
# [https://arxiv.org/pdf/1703.01365.pdf "Integrated Gradients"]
 +
# [https://arxiv.org/pdf/1706.03825.pdf "SmoothGrad"]
 +
# [http://iphome.hhi.de/samek/pdf/MonXAI19.pdf "Deep Taylor Decomposition, LRP-0, -epsilon, -gamma, LRP-ab"]
 +
# [https://arxiv.org/pdf/1704.02685.pdf "DeepLIFT"]
 +
# [http://cnnlocalization.csail.mit.edu/Zhou_Learning_Deep_Features_CVPR_2016_paper.pdf "Class Activation Map (CAM)"]
 +
# [https://arxiv.org/pdf/1610.02391.pdf "Gradient-Weighted Class Activation Map (Grad-CAM)"]
 +
=== Репозитории и либы ===
 +
# https://github.com/marcotcr/lime
 +
# https://shap.readthedocs.io
 +
# https://scikit-learn.org/stable/modules/partial_dependence.html

Текущая версия на 12:03, 30 апреля 2022

Курс Интерпретируемое машинное обучение читается в весеннем семестре первого года обучения магистерской программы "Искусственный интеллект в кибербезопасности".

Курс рекомендуется студентам, интересующимся методами интерпретации для моделей машинного обучения.

Оценка за курс будет определяться по результатам выполнения домашних заданий заданий. Выполнение всех домашних заданий позволяют получить "зачет" автоматически.

Лекции

Задания

  1. Реализация LIME и SHAP Описание задания Дедлайн: 26 марта
  2. Интерпретация нейронных сетей для картинок Распределение методов интерпретации по людям Дедлайн: 20 мая

Полезные ссылки и литература

Книги

  1. Machine Learning and Cybersecurity (2021)
  2. Molnar "Interpretable Machine Learning" (2020)
  3. Masis "Interpretable Machine Learning with Python" (2021)
  4. Хелемский "Лекции по функциональному анализу"

Статьи

  1. Ribeiro "“Why Should I Trust You?” Explaining the Predictions of Any Classifier" (2016)
  2. Friedman, Jerome H. “Greedy function approximation: A gradient boosting machine.” Annals of statistics (2001): 1189-1232
  3. Apley, Daniel W. “Visualizing the effects of predictor variables in black box supervised learning models.” arXiv preprint arXiv:1612.08468 (2016)
  4. "General Activation Maximization, Activation Maximization in Codespace, Simple Taylor Decomposition, Deep Taylor Decomposition, LRP-ab"
  5. "DeepDream"
  6. "Saliency Map, Vanilla Backpropagation"
  7. "DeConvNet Full Input Reconstruction, DeConvNet Partial Input Reconstruction, Occlusion Sensitivity"
  8. "Guided Backpropagation"
  9. "Integrated Gradients"
  10. "SmoothGrad"
  11. "Deep Taylor Decomposition, LRP-0, -epsilon, -gamma, LRP-ab"
  12. "DeepLIFT"
  13. "Class Activation Map (CAM)"
  14. "Gradient-Weighted Class Activation Map (Grad-CAM)"

Репозитории и либы

  1. https://github.com/marcotcr/lime
  2. https://shap.readthedocs.io
  3. https://scikit-learn.org/stable/modules/partial_dependence.html