Data Blog
1.36K subscribers
97 photos
3 videos
4 files
160 links
Explainable AI и котики
Download Telegram
🎄 Привет, друзья!

Часто можно столкнуться с ситуацией, когда фреймворк, в котором реализован метод объяснения, просто не "дружит" с реализацией модели.

На днях я решала именно такую проблему — в рамках практики на заводе (🗿) мне нужно было проанализировать стабильность YOLO NAS. Так и появился туториал, в котором я решила разобрать, как использовать CAM (class activation map) для объяснения моделей зрения.

Почему CAM?

Class Activation Maps (CAM) — базовый инструмент для визуализации того, какие области изображения наиболее важны для модели при принятии решения. Он позволяет понять:

1. Какие признаки извлекает модель на разных слоях свертки;
2. Какие зоны изображения вносят вклад в прогноз конкретного класса;

С практической точки зрения:

1. Его почти всегда можно реализовать руками (если у вас есть задача классификации и сверточный слой);
2. Его можно использовать практически в любой задаче классификации с использованием сверточных нейронных сетей.

Прошу к чтению!

1. Туториал на Хабр
2. Туториал на гитхаб (ноутбук файлом)
3. Туториал на английском (коллаб)

P.S. а ещё там милые животные и красивые картинки — можно позапускать и поиграть =)
Всё ещё Ваш,
Дата-автор!
👍7❤‍🔥3
❤️ Привет, друзья!

🔅Новая библиотека, в этот раз для текстовых данных.

Библиотека: explabox, paper
Совместимость: pytorch, Keras, tensorflow (главное — формат onnx), scikit-learn

Ограничение: только текстовая модальность даных (датасеты Hf, pandas, numpy arrays)

Поддерживаемые методы:
1. LIME
2. KernelSHAP
3. Counterfactual/contrastive explanations [FoilTrees]
4. Local rule-based models

🔅 Ещё реализованы метрики: чувствительность (robustness, оценка того, как небольшие изменения влияют на объяснение), безопасность (security, например, если входные данные, содержащие определенные символы, приводят к сбою модели) и справедливости (fairness, например, оценка на специфических признака — страна происхождения, пол, раса или социально-экономический статус)


Также обновила в табличку (https://xai-table.streamlit.app/).

Чудесного вам вечера!
Ваш Дата-автор,
копающийся в контенте о DeepSeek! 🐳
🔥43🤔1
🍉 Привет, друзья!
Мне нужна ваша помощь!

✔️ Если среди вас есть авторы каналов и вам:

— интересно подготовить и разместить классный материал на стыке вашей области и explainable AI;

— нравится курс «Explainable AI» и вы хотите подарить своим читателям промокод;

✔️ Или же вы не автор, но:
— у вас другие идеи для сотрудничества;

Напишите мне: @sabrina_sadiekh!
Открыта к свежим идеям!


По новым материалам — готовлю туториал по зондированию (probing) моделей на примере GPT. Также есть несколько идей по обзорам, но пока планомерно включаюсь в рабочий процесс после долгого больничного.

До скорых публикаций,
Ваш Дата автор!
❤️
12
🐳 DeepSeek, CoT, reasoning и explainable AI

Привет, друзья!

DeepSeek взорвал новостные ленты абсолютно везде. Дублировать информацию не хочу, а вот закинуть немного рассуждений в сторону модели — хочу. Хорошие посты про DeepSeek есть на Хабр — вот и на канале «Силошная».

Поговорим, конечно в ключе DeepSeek и XAI.

Факт — DeepSeek, как и GPT, как и другие LLM модели, демонстрирует отличные возможности, схожие с человеческим мышлением. Причем мышлением уровня почти любого специалиста — автоматизация создания постов для соцсетей — один сценарий, а вот автоматизация написания научных работ — другой. Кроме того, выдвигаются гипотезы о том, что LLM могут генерировать новые научные идеи на уровне экспертов (это спорно и субъективно).

В общем, LLM беспокоят автоматизацию человечества. Но это очень красиво!


Что особенного в DeepSeek — явный процесс рассуждения. В постах, выдвигающих модель на передний план [1], [2], [3] подсвечивается именно оно и его важность для XAI.

Теперь перейдем к области XAI — тут существует гипотеза, что рассуждение (reasoning) в моделях также можно называть техникой самообъяснения. Часто, в статьях объяснения от LLM рассматриваются с отметкой хорошего качества. Кто-то пишет более глобально, выдвигая гипотезу, что объяснение, даваемое моделью при инференсе может вообще решать проблему интерпретируемости в LLM.

Чуть углубляя детали — обоснование, рассуждение началось с цепочек мыслей (Chain-of-Thought Prompting (CoT)), улучшающих даже маленькие модели.

Если кратко — метод Chain-of-Thought Prompting (CoT) заключается в том, чтобы стриггерить поэтапное рассуждение. В некоторых случаях (в о1, например), CoT реализуется внутри модели, и тогда просить её рассуждать не нужно — она сама с этим справляется.

🐳 Насколько CoT и reasoning надежны, в контексте принятия решения за объяснения?

Объективный взгляд:

1. Ни то, не другое не даёт глобальных объяснений и ничего не говорит о паттернах, изученных внутри модели.

Каждый раз мы смотри рассуждение на конкретном примере и не видим глобальных объяснений внутренней информации в модели.

2. CoT склонен к галлюцинациям и непоследовательности

Например, ChatGPT может демонстририровать причинно-следственные галлюцинации [пример, 4]. На более сложных бенчмарках исследователи в показывают, что рассуждение и объяснение чувствительно к сдвигу данных [5]. Также можно показать, что качество CoT чувствительно к формулировке промта (попробуйте поломать модель, например, ухудшением грамматики промта).

3. Если посмотреть на LLM в math reasoning (и это можно обобщить на пример любой дисциплины) — тут тоже свои проблемы. Начиная неверной интерпретацией вопроса, заканчивая нестабильностью. Кроме того, если окончательный ответ правильный, шаги рассуждения могут быть кривыми (почитать).

Личное мнение:

С одной стороны, нельзя отменить результат, что качество работы, написанной LLM (в том числе научной) может быть высоко оценено экспертом. С другой, всё, что LLM объясняет на естественном языке оценивается носителем естественного языка, и, как следствие, имеет bias в сторону носителя.

🐳 Вывод

Нельзя опровергнуть, что LLM «умнее» какого-то процента людей, и DeepSeek — ещё одно умопомрачающее доказательство этого. Однако, это не отменяет необходимости учиться рассуждать на уровне LLM в необходимой предметной области, чтобы верифицировать ответы на вопросы.

Такой субботний лонгрид, друзья! Что думаете про способности LLM вы?

P.S. конечно, всегда ваш,
Дата-автор!
🔥7👍41🐳1
P.S., Друзья! В будущую субботу в 18:00
немного поболтаем про способности LLM с Владом Тен (tg ch) — человеком, который, мне кажется, вырастил немалое количество нынешних программистов.

🏔 У меня вообще огромный восторг, потому что я тоже смотрела видосы Влада на ютуб (которых уже нет), и Влад в какой- то момент моего пути вдохновил меня видео с рассуждением на фоне травы и гор.

У Влада огромный боевой опыт решения задач на LeetCode и такой же опыт прохождения собеседований — в Bolt, Amazon, Microsoft. И путь у Влада тоже интересный! Так что в субботу мы соберемся обсудить, как то, что модели решают задачи как человек (и даже лучше) влияет на необходимость формирования собственных навыков.

Будем рады всех видеть, до встречи!

В комметанрии можете накидать вопросов (по теме), на которые хотели бы послушать ответы/рассуждения. Постараемся ответить!
👍7🔥51
Live stream scheduled for
Привет, друзья! С днём всех влюбленных вас!

Будьте влюблены — в себя, в других, в свою работу и увлекательный процесс изучения всего в жизни!

А я очень люблю вас! 🫶🏻

И конечно — повторим дата-валентинки! Вы знаете, что делать!

Чудесной пятницы,
Ваш Дата-автор! ❤️
14❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥3
Привет, друзья! Напоминаю, что через пару часов будет созвон с Владом.

Порассуждаем на тему решения задач LLM на уровне человека и что нам-людям с этим делать :)
👍7🔥31
Live stream started
Live stream finished (1 hour)
🇨🇳 Друзья, спасибо, что были на эфире и задавали вопросы!

Эфир, к сожалению, сохранился лишь частично и бито по соотношению звука и картинки, но мы решили повторить эфир чуть позже — с записью и звуком. Так что будет повтор, как только поймем когда — напишу!

Немножко key-моментов:

1. Поговорили про то, какого это — перекатываться из гуманитариев в математики.

2. Зафиксировали, что LLM могут быть успешно применены уже много где — от задач, связанных с контентом до поиска и понимания закономерностей в геномных последовательностях, но галлюцинации, неустойчивость и другие внутренние ошибки мешают слепому использованию;

3. Сделали ставку на то, что моментально общество не поменяется;

4. Пришли к консенсусу, что учёба — развивает личность и умение решать задачи — это всегда про вашу особенность, силу и уникальность, так что учиться — ещё полезно и нужно;

5. Видели кота.

Ссылки/курсы/материалы, про которые говорили:

1. Открытый курс по интерпретируемым моделям [free]
2. Открытый курс по ML моделям [free]
3. Курсы моих коллег [если что — маякните, договорюсь на промокод]
4. Канал и курс Влада по алгоритмам
5. Мой курс по объяснению моделей (XAI) (есть промокод)
6. Пухлый обзор LLM в отношении кодовых задач

Чудесного вам вечера! И до связи на новой неделе ❤️‍🔥
Ваш Дата-автор!
12❤‍🔥6
Привет, друзья! 🤟🏼

Туториал пока пеку и очень хочу попробовать снова снять видео на ютуб…снова к XAI-библиотекам! В прошлый раз — тексты, сегодня — таблички и картинки.

Библиотека: xai_evals , paper.
Совместимость: pytorch, tensorflow, scikit-learn, XGBoost

Поддерживаемые методы:

1. LIME
2. SHAP
3. Градиентные методы (Grad-CAM, Integrated Gredients, Backtrace (последний, к слову, сама пока ни разу не трогала, он был реализован в ноябре 2024, уже работаю над его анализом))

🦑 Реализованы метрики:

1. Табличные:

— надежность, чувствительность (faithfulness, sensitivity) — оценка того, как изменения в признаке влияют на прогноз и объяснение.
— полнота объяснения — измеряет, насколько ухудшаются прогнозы модели при удалении наиболее важных признаков, определенных в объяснении.
— достаточность — насколько признаков, определенных как важные, достаточно для прогноза
— монотонность, сложность и разреженность — метрики, показывающие характер изменения объяснения и его сложнось

2. Картиночные:

— надежность, чувствительность и их вариации — аналогично табличной по идее — для проверки устойчивости объяснений

Также обновила в табличку (https://xai-table.streamlit.app/).

Планирую добавить модуль про метрики оценивания в курсы (и бесплатный и платный) или сделать серию постов. Тыкните реакцию (огонечек, сердчеко, можно бусты..), если нужно!

❤️ Чудесного вам рабочего дня!

До сих пор ваш,
Дата-автор!
❤‍🔥84
Привет, друзья!

Немного заболела (не люблю эту необходимость не работать) и в часы просветления занималась и продолжаю заниматься модулем про оценку объяснений для курса. Поэтому туториал (и даже ролик на ютуб) будут, когда я оживу, а пока немного про метрики.

В XAI нет стандартного подхода к оценке объяснений (пока что) и, вместо изучения десятков формул удобнее рассматривать общие категории. Одна из них — классификация Co-12:

Correctness — насколько точно объяснение соответствует модели.
Completeness — насколько полно объяснение отражает логику модели.
Consistency — дают ли похожие данные похожие объяснения?
Continuity — небольшие изменения входных данных не должны сильно менять объяснение.
Contrastivity — объясняет ли метод, почему предсказан X, а не Y?
Covariate complexity — как объяснение учитывает сложные взаимодействия признаков?
Compactness — «чем меньше, тем лучше» (разреженность объяснения).
Composition — как представлена информация в объяснении?
Confidence — насколько метод учитывает неопределенность?
Context — насколько объяснение полезно для конкретного пользователя?
Coherence — согласуется ли объяснение с известными знаниями?
Controllability — может ли пользователь влиять на объяснение?

Важно понимать: не нужно заучивать все эти критерии (и даже знать 🎅🏻). Классификацию привожу просто для того, чтобы вы понимали, насколько широк взгляд на оценку. Ну и вдовесок — в библиотеках XAI реализована лишь часть из метрик [можно почитать тут].

Для понимания метрики иногда полезно лезть в код библиотеки. Например, я выше писала про xai_evals, там в статье Faithfullness имеет одну математическую постановку, для табличек, а на практике — вычисляется как корреляция. Прикреплю картинки.

Ну, и суммируя, всё вот так:

❄️Как и в ситуации оценки ML/DL моделей, бинарная оценка "окей", "не окей" не подходит.
❄️В сообществе XAI не существует стандартизированного набора метрик.
❄️Основная сложность — нужно сравнивать методы по скорости, устойчивости, надежности и применимости в разных доменах (наборы данных, модели).
❄️Одна и та же метрика может по-разному реализовываться в разных библиотеках.

✔️ Практически важно — сравнивать методы в рамках одной библиотеки.

Такие дела! Не болейте, друзья!

Пойду восстанавливаться и делать видос,
Ваш Дата-автор!
4
Картинки. Кстати, тут ещё важно обратить внимание, что в качестве изменения — не случайность, а простое зануление — пригодное не для всех признаков.
👍1👀1
А вот наглядная картинка из статьи про метрики в библиотеках
👀2👍1
И раз уж я снова могу смотреть на компьютер (лучшее, что может случиться, когда ты трудоголик ❤️‍🔥) есть мини-вопрос к вам:

Какие ролики вы бы хотели видеть на ютуб?

У меня на уме только всякие туториалы, но аудитория знает лучше — это факт!
👍3🗿2