Data Blog
1.35K subscribers
97 photos
3 videos
4 files
159 links
Explainable AI и котики
Download Telegram
И картинка с частотой различного поведения вдогонку.
6🔥1
Привет, друзья!

Наконец дописала туториал по Логит-линзе — методу для анализа внутренних представлений (Logit Lens).

Метод был предложен на Lessworng в 2020 году на примере модели GPT-2.

Сама по себе линза является достаточно сложным методом в реализации — под каждую модель необходимо проектировать идею её построения заново, основываясь на анализе архитектуры. Но какая же она забавная!

И у метода есть преимущество:

Метод является model-specific, что позволяет изучать характеры поведения скрытых представлений в разных моделях.

Как они соотносятся? Быть может, именно вы сможете найти что-то интересное и я надеюсь, этот туториал вас вдохновит!

В результате практики, вы:

1. Изучите подход и концепцию Logit Lens;
2. Реализуете Logit Lens для Visual Transformer;
3. Познакомитесь с анализом результатов применения логит-линзы.

Как всегда, весь код на гитхаб — step by step, статья на Хабр!

Чудесного вам вечера и легкого старта в рабочую неделю,
Ваш Дата-автор!
11🔥6👍1
ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness

Привет, друзья! Хочу поделиться статьей, в которую я на прошлой неделе просто влюбилась, кажется.

Статья [https://arxiv.org/abs/1811.12231] показывает, что сверточные нейронные сети, обученные на ImageNet, имеют bias в сторону текстур.

Например, если взять изображение кота, но заменить его текстуру на кожу слона, то изначальный кот скорее всего станет слоном по прогнозу. Для людей же такая задача оказывается простой — мы заметим всё ещё кота, потому что будем ориентироваться на форму.

Инсайт не на миллион, но само исследование имеет красивые постановку и анализ.

Как показан bias:

При помощи style transfer, авторы создают набор данных, где объект имеет форму одного класса, но текстуру другого класса.

Результаты эксперимента:

— Люди в 95.9% случаев классифицировали объекты по форме.
— VGG-16: 82.8% решений основывались на текстуре.
— ResNet-50: 77.9% решений основывались на текстуре.
— AlexNet — использовала текстуру в 57.1% случаев (модель более формо-ортиентирована).

Как можно улучшить сеть, зная слабость с bias:

Авторы провели обучение ResNet-50 на Stylized-ImageNet (данные, в которых текстура заменена на стили живописи) и показали, что:

1. Это привело к увеличению восприимчивости в сторону формы — повышается точность классификации и детекции объектов на новых наборах данных (Pascal VOC, MS COCO).

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

Ну безумно красиво! И видно, что:

1. Для корректного поведения системы, которая задействует модель, либо набор данных должен быть максимально сконструирован так, чтобы были выучены релевантные представления, либо входные примеры должны быть согласованы с обучением;

2. Bажно знать, какие признаки извлекает модель (привет картам активации и иным методам XAI)

Так что не забываем интерпретировать модели, получается =)
И отличного вторника, друзья!


Ваш Дата-автор!
8🔥3👍1🤔1
Слокот.
😁7🗿2
Исследование само по себе наталкивает на переосмысление задачи обучения модели. То есть будто ещё до сбора данных можно добавить промежуточный шаг, где мы генерируем мета-признаки, которые хотим отличать и уже от этого собираем датасет.

Другая проблема — это не всегда удобно, возможно, делает разработку модели дороже и дольше и вот это всё.
7
PrivacyScalpel: Enhancing LLM Privacy via Interpretable Feature Intervention with Sparse Autoencoders
Или какие только названия не придумают. Похоже, в науку пришел маркетинг-принцип, когда название должно быть very attention-grabbing.

Привет, друзья! Ещё одна красивая статья. Она показалась мне полезной как задача на обзор и идея на блюдечке применения SAE в XAI (и, кстати, повышения Safety).

Мотивация:
При условии хорошо собранного запроса, LLM могут раскрывать конфиденциальную информацию (адреса электронной почты или номера телефонов). Это создает утечку риска персональной информации => с этим нужно бороться.

Способы борьбы:
Тривиальный метод — удаление конфиденциальных данных из обучающего набора. Однако, он требует полного анализа всего набора данных для трейда и может привести к потере в способностях модели. ,

Что предлагают авторы:

Для извлечения информации, связанной с персональными данными, авторы предлагают 3х шаговую структуру.

1️⃣ Определение слоя, ответственного за утечку PII (Personally Identifiable Information).
Задача переформирована в «найти слой A_l, такой что разделение информации, связанной и нет с PII на нем максимально. Для этого на активациях обучается линейный зонд — то есть классификатор, задача которого лейбелить представления на связанные с PIII и нет.


2️⃣ Обучение разреженного автоэнкодера (k-Sparse Autoencoder, k-SAE)
После выбора слоя A_l, на нём обучают разреженный автоэнкодер (SAE) для представления активаций через интерпретируемые признаки.

То есть мы активацию a_l и строим ее признаки, как:

z = TopK(W_{enc} (a^l - b_{pre})) — жду когда в тг добавят латех, а пока простите...

W_{enc} — матрица весов энкодера,
(a_l - b_{pre}) — скрытое представление, от которого отнят биас.
TopK() — функция, оставляющая только k наибольших значений (остальные зануляются).

Ещё, авторы используют дополненный (против классического MSE для AE-шек loss):

L = a_l - a_{l, predicted} ^2 + а||e - e_{topK}||^2

первая часть здесь — MSE, вторая — auxiliary loss — разность между ошибкой e = a_l - a_{l, predicted} и e_{topK} = W_{Decoder}*z_{topK}

3️⃣ Имея обученный автоэнкодер, применяется две стратегии для защиты (в комбинации и в соло).

1. Feature Ablation— отключение латентных признаков, связанных с PII.

Для этого:
Собирают датасет с PII, и для каждого примера строим его скрытый вектор z. Однако строят не для примера целиком, а начиная с токена, который содержит персональную информацию (в данном случае email).

Полученные активации в SAE пространстве усредняют и сортируют. А после зануляют активации, связанные с ними.

2. Feature Vector Steering — модификация латентных признаков, чтобы подавить утечки.

Steering — дословно «рулевое» управление и тут в качестве руля выступает вектор v. Он считается так:

v = MEAN(Z_{PII}) - MEAN(Z_{notPII) — то есть среднее активаций на представлениях данных с PII и без.

После вычисления этого вектора, вычисляется сдвиг представление z в сторону, удаляющую PII:

z' = z + a*v

К чему приходит такой танец:

На моделях Gemma2-2b и Llama2-7b удается снизить количество утечек с малой потерей производительности (максимальное падание примерно 2%, при этом утечки уходят до 0).

Ограничение работы, конечно, концентрация на одном нежелательном поведении, но всё же это хороший пример того что вмешательства в параметры (основанные на интерпретируемых представлениях), способны оставить модель "полезной" и при этом, сделать её более хорошей.

Рассчитываю скоро и с SAE потыкать что-то под туториал, пока что руки доходили только до просто AE. Но и для интересных результатов нужно работать с большими модельками, кажется, пора задуматься об аренде GPU...

Где-то в весенних работах, дипломах и вот этом всём,
Ваш Дата автор!
❤‍🔥5👍1
Ну и табличка со сравнением Leaks и прозводительности
5
Закон Гутхарта — неожиданная сторона критичности в сторону объяснения моделей.

Привет, друзья! Сегодня прям о вкусном:

когда метрика становится целью, она перестаёт быть хорошей метрикой

Или в оригинале:

any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes

Именно так звучит закон Гудхарта, пришедший из экономики, чтобы в машинном обучении просто «с ноги» заставить исследователей обратить внимание на метрики. Изначально он появился примерно в такой амплуа:

если государство вводит KPI для измерения успеха, бюрократическая система начинает оптимизировать именно этот KPI, а не реальный результат.

Если это амплуа перенести в машинное обучение, то получается такой сценарий:

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

Примеров исследований мало. Из игрушечных примеров (и вдогонку — обзор, почему метрика может быть проблемой):

* Переобучение модели в соревновании на оценку лидерборда.
* В результате оптимизации под CTR (click-through rate) можно прийти к показу провокационного (кликбейтного) контента, потому что он вызывает больше реакций, даже если это негативный эффект.

Из реальных, практико-ориентированных и связанных непосредственно с XAI мне удалось найти статью
Goodhart’s Law Applies to NLP’s Explanation Benchmarks.

Тейк статьи: показывают, что эти метрики объяснимости можно искусственно завысить, не улучшая реальную объяснимость модели.

Метод статьи: при помощи метрик — comprehensiveness  (измеряет, насколько ухудшится предсказание модели, если убрать "объясняющие" токены) и sufficiency (оценивает, насколько хорошо модель предсказывает только по выделенным токенам) — показывают, что можно значимо увеличить значения этих метрик, не изменяя сами объяснения и предсказания модели.

Это достигается за счёт того, что удалённые и оставленные токены принадлежат разным распределениям, что приводит к "подгонке" модели под метрику.

Кроме того, с критической точки зрения, можно выдвинуть гипотезу о том, что в случае unlearning’а, модель обучается скорее «скрывать» свое поведение, а не реально избавляется он bias’а. Однако это нельзя однозначно подтвердить и здесь очень важен вопрос о способе отучения.

Таким образом, критическая пища на эти выходные (мне хватило на неделю):

Оценка объяснимости остаётся нерешённой проблемой: существующие метрики можно обмануть и, как следствие, можно измерить определенные показатели, но важно понимать их текущую уязвимость.

Оценку модели, оценку её прозрачности, как и вообще весь процесс разработки, стоит планировать аккуратно. И чем сложнее модель, тем больше зон, которые нужно учитывать. А так всё хорошо начиналось, когда нужно было просто решить задачу MNIST.

Хороших вам выходных, друзья! И множества критических вопросов при оценке моделей!


P.S. Знаю, что обещала вам туториал, но последнее время много учусь и работаю. Делаю интересный проект на учебе, пишу диплом — скоро буду математиком. Плюс подтягиваю навыки, чтобы больше уметь в оценку больших моделей. И чем больше я изучу, тем больше интересного смогу сделать, разобрать и показать)

Всё допишем, оформим, иначе никак 😌


Ваш,
Дата-автор!
❤‍🔥12🌭4👍2
🍉 Некоторые апрельские апдейты.

Привет, друзья! Весна выходит яркой.

Прежде всего, я сейчас во многом погружена в диплом, госы и вторую учебу — в марте мне удалось попасть на поток по AI Safety и сейчас я работаю с прекрасным ментором — Леной. Я безумно рада — настолько, что кажется, что в сутках всё-таки есть 25й час, чтобы успевать всё (безумно ценно разговаривать на одном языке, узнавать новое из интересной мне области и быть в кругу единомышленников и новых точек зрения на область!)

Надеюсь, к маю успею сделать классный проект на стыке xai и safety и поделиться результатом!

Во-вторых, я всё ещё настроена на науку, так что готовлюсь к поступлению в магистратуру.

Ну, и в-третьих, спустя месяц вышло солнце, и я счастлива =)

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

По просьбам, публикую промокод на апрель: ARTICHOKE я надеюсь, вы его хоть раз в жизни ели

И, конечно, вторым сообщением — новый туториал.
💘64👍2🥰1🕊1
АЕ, АЕ, сегодня про AE aka Autoencoders.

Я уверенно, но чуть медленно продолжаю цикл туториалов, посвященных области explainable AI. Так, уже были разобраны метод Logit Lens на примере ViT, зондирование gpt2, CAM на примере Yolo NAS — всё можно найти по статьям в профиле на Хабр.

В этом, новом туториале, мы разберем идею применения автокодировщиков для анализа и извлечения признаков из скрытых состояний модели.

В процессе, вы:

* Изучите или повторите, как работает извлечение признаков в Visual Transformers;
* Построите и примените автокодировщик для сжатия скрытых представлений, выученных моделью ViT в задаче классификации котиков и собачек;
* Сравните Vit и PCA в данной задаче.

🐥 Залетайте читать! AE — конечно, не SAE и в задачах сложнее лучше использовать именно SAE, но туториал позволит пощупать базовую идею применения энкодеров.

В скором времени надеюсь сделать материал и по SAE!

Хорошей весны!
Ваш Дата Автор!
❤‍🔥7👍1
Which LIME should I trust? Concepts, Challenges, and Solutions

🦙 Доброго утра, друзья!

Продолжаю читать кликбейтные статьи, и в этот раз — пришла к вам с полезной для практики.

💡Про что:

LIME (local model agnostic explanation) — один из самых популярных инструментов XAI, в том числе для глубоких моделей. В простом приближении задача LIME — построить простую (линейную) модель, интерполирующую поведение основной в окрестностях конкретного примера.

Метод прост, легко реализуем и масштабируем до глобальных объяснений (то есть на всем наборе данных, а не только для одной точки). Однако, для него есть место критике критике: нестабильность результатов, низкая достоверность, проблемы с интерпретацией и масштабируемостью.

💡Что:

Статья "Which LIME Should I Trust?" Не вводит ничего нового, но дает шикарный обзор существующих улучшений LIME. Внутри — таксономия (классификация) более 50ти модификаций оригинального LIME.

Они поделены:

— по типу улучшения — что надстроено над оригинальным LIME (например, изменение выборки, модели-суррогата или визуализации объяснений);
— по типу решаемой проблемы (локальность, достоверность, стабильность и др.).
5
💡Что полезно:

В обзоре есть прекрасный практико-ориентированный раздел — описано, какие версии LIME работают лучше для изображений, текста, временных рядов или графов и где их найти. Так что если вы хотите использовать LIME в работе, вам может пригодится интерактивный сайт, где собрана и регулярно обновляется (по заявлению авторов) информация обо всех вариантах LIME — which-lime-to-trust.

Сохраняйте куда-то, вдруг :)

Потыкать LIME на табличках и почитать про метод: можно тут.

Отличных выходных и хорошего настроя на новую неделю, друзья!
Ваш Дата-автор!
9
🪻Привет, друзья!

Помните пост про архитектурный bias в CNN? Меня уже недельки две мучает вопрос — какой bias дают другие компоненты архитектур, и сегодня я наконец-то довела мини-ресерч на эту тему.

Часть 0. Зачем это знать, если ты не ресёрчер?

Понимание архитектурных bias’ов — это про:
— подходы к обучению — раз.
— про интерпретируемость — два.

Например, если CNN ориентирована на текстуры, а вы анализируете Grad-CAM или SHAP-карту, то вы скорее— вы увидите пятно на мехе, а не форму животного.

ViT может подсветить глобальный контур, но проигнорировать локальную деталь.

Визуализация градиетными методами покажет, куда смотрит модель, но не зачем. Важно понимать архитектурные предпосылки для более гранулярных выводов.

Часть 1. Про модели зрения. Key insights:

1. CNN — сильные текстурные биасы.

— имеют сдвиг в сторону текстур, а не форм, что контрастирует с тем, как картинку воспринимает человек. Это мы с вами видели в статье из прошлого поста по теме. Да-да, слонокот снова в деле.

— Отсутствие встроенной ротационной инвариантности – еще один пример: без аугментаций CNN будут “предвзято” считать объект под новым углом другим классом. Просто повертите 9 в голове.


2. ViT — сильная устойчивость.

— При правильном обучении трансформеры хорошо распознают глобальную форму объекта, подобно тому, как это делает человек.

— Устойчивее CNN при random patch masking — случайно «прячем» часть изображения. ViT сохранял ~60% точности ImageNet даже при 80% зашумлениях в данных.

— Нюанс: ViT требует гораздо большего объема данных для успешного обучения.

3.MLP — вроде не эффективно, но можно ухитриться.

— Чистые MLP выглядят как неэффективное решение — слишком много параметров, слишком медленно, особенно на изображениях. Но! Есть ходы.

MLP-Mixer — архитектура основанная исключительно на многослойных персептронах (MLP). При этом, он сохраняет преимущество трансформеров (инвариантен к перестановке пикселей), и решает проблему CNN — имеет меньший текстурный перекос, чем у обычных CNN. Но при этом он требует тоже много данных.

— При этом, увеличение параметров в MLP тоже дает хорошую производительность (но нужно учитывать, что вычислительно это не совсем приятно).

The end на эту часть. Если вам интересно продолжение дайте знать (реакциями, всегда рада им)! Докопаюсь до других моделек.

Чудных выходных, не болейте, дышите весной!
Ваш Дата-автор!

❤️

P.S.
Если ничего писать не удается, значит я в прямом и переносном смыслу сижу под бумажками и за ноутбком. Сейчас заканчиваю безумно красивую работу с Mrs Wallbreaker. А ещё на упорстве у меня быть может получится начать сотрудничать с профессором (не из РФ!), так что я барахтаюсь лапками, чтобы меня не реджектнули. А если не выйдет — попытаемся снова. Такие дела!
13👍8
Привет, друзья!

Это мог бы быть туториал с кодом, но меня немного не хватает на это. Однако!

Не могу не поделиться очень свежей (28.04.2025) публикаций тулы для Vision Mechanistic Interpretability!

📐 Prisma [paper], [github]— классический open-source фреймворк для механистической интерпретируемости моделей зрения. Если вы знакомы с TransformerLens (для языковых моделек) — по сути решение аналогичной задачи, но на другой модальности.

Библиотека пока разрабатывается, поэтому документация не очень удобная. Но планы и покрытие их — огонь —

✔️ Доступ к 75+ ViT и VideoVit (уже)
Детали — расширение Hf, openCLIP, timm моделей + адаптация Kandinsky ViT encoder с предобученным SAE на нем
✔️ 80+ заранее обученных Sparse Autoencoder (SAE) (в процесссе оформления, но уже можно погулять по репозиторию и статье — там много весов)
✔️Удобный зоопарк функций для circuit analysis, logit lens, attention analysis
Визуализация — красиво, интерактивно и с plotly
✔️Туториалы и toy-модели для экспериментов в low-resource среде (aka collab)

Если хотите использовать/потрогать что-то, то наиболее широкий туториал здесь.
Мой фаворит — кот в туалете отсюда =)

Сохраняйте, если захотите вернуться, когда руки дойдут до кода. Уверена, ребята подтянут все быстро.

Хорошей вам недели,
Ваш Дата-автор!
3🔥3
И, конечно, если этот блог не для этого, то зачем...?

А обзор (отсылаясь к посту выше) — будет. Меня немного загрузило, так что как только выгружусь.
❤‍🔥9🆒1
Привет, друзья!

Пока я закрываю сессию и финалю часть дел, блогом удается заниматься чуть меньше.

Но! Есть две новости:

1. На днях мой коллега по первому научруку опубликовал статью про гроккинг.

Явление безумно интересное. И красивое.

Призываю прочитать!

2. В курсе по XAI на степик скоро будет полностью готов новый модуль — дописываю последний урок.

Вернусь через неделю!
Спасибо за ваши реакции и комментарии ❤️

Ваш, на сессии,
Дата-автор!
🤝84
GPT-2 победила o1-mini благодаря гроккингу

Мы использовали 2WikiMultiHopQA набор данных для n-шаговых задач рассуждения и с помощью гроккинга добились 96% точности.

Что такое гроккинг?

Гроккинг – отложенное обобщение модели. Если тренировать модель очень долго, то она начнет решать задачу со 100% точностью на новых данных. Очень долго – в 100 раз дольше после достижения моделью 100% точности на тренировочной выборки.

Что уникального?

Мы первые, кто применил гроккинг на реальном наборе данных. До сих пор гроккинг не применялся на реальных задачах рассуждения – только "лабораторные" примеры модульного деления. Недавно вышла статья, которая все еще на игрушечном наборе данных показала, что проблема была в количестве выведенных фактов. Если просто, то в реальных данных просто недостаточно примеров рассуждения, чтобы гроккинг появился.

Что сделали мы?

Мы решили продолжить открытия той статьи, но на реальных данных и аугментировали больше рассуждения с "выведенными фактами". Сделали это с помощью GPT-4о модели, расширили набор тренировочных данных, тренировали модель очень долго, и вау-ля! У вас почти 100% точность. Почему нет 100%? В процессе аугментации возникают ошибки и галлюцинации, поэтому точность не 100%, но если улучшить этот процесс, то можно достичь и 100%.

Пример задачи:

Обучающая пара:
– Эйфелева Башня находится во Франции.
– Музей BMW находится в Германии.

Вопрос: Находятся ли они в одной стране?

Чтобы ответить, модель должна сделать два шага рассуждения: извлечь местоположения объектов и сравнить их. Проблема в том, что в реальных данных вопросов с ответами не так много – их мы и расширили.

Что теперь?

Хотим работать в этом направлении дальше и планируем расширить набор задач, который можно решать с помощью гроккинга.

Нужна ваша помощь!

Выпустили статью и сейчас боремся за "Статью дня" на Hugging Face. Проголосовать можно тут:

👉 Поддержите апвоутом 👈

Полноценный обзор статьи на Хабре

Сама статья

P.S. За репост отдельный респект.
🔥18
🐥 Привет друзья!

Задача «сделать серию постов про архитектурный bias» оказалась с плотной звездочкой. Но кто мы такие, чтобы звездочек бояться? — подумала я, и всё-таки продолжаю эту идею...

Так что сегодня про диффузионные модели.

TLDR: У них проблема не сколько в архитектуре, сколько в том числе в задаче. Во-первых, мы хотим сгенерировать новые данные, на основе обучающих. Во-вторых, делаем это путем последовательного расшумления.

Напоминание:
Диффузионные модели – это класс генеративных моделей, которые учатся пошагово улучшать случайный шум до осмысленных данных путем расшумления.

Где архитектура и процесс генерации значимо влияют на искажения в результирующих данных?

Исследований много. Как минимум — потому что генеративные модели массово используются для создания контента, который, в свою очередь, по определению оказывает влияние на людей.

Так, для диффузионных моделей выделены следующие проблемы:

1. Локальный характер генерации — то есть модели верно воспроизводят отдельные символы, но плохо их собирают. Где это видно: лишние пальцы и нечитаемый текст — детали корректны, а их количество или порядок – нет.

На поверхности — это наследованное bias’a базовой сети — поскольку чаще всего диффузионные модели используют в качестве денойзера сверточный U-Net, они унаследуют и bias CNN: внимание к текстурам, локальным особенностям.

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


2. Воспроизведение перекосов — диффузионный генератор тяготеет к “усредненному” по распределению результату, если его явно не скорректировать. Иначе говоря, если в обучающем наборе какой-то признак встречается чаще, модель будет смещена в сторону генерации этих более частых признаков.

Это дает в том числе воспроизведение социальных сдвигов. Так, например, генерации, женщины ( =( ) занижены во всех “высокостатусных” профессиях
“Doctor” → почти всегда мужчина, “nurse” → почти всегда женщина. Почитать какая модель более стереотипна — здесь (но не забудьте посмотреть раздел Limitations). Других статей, если что, тоже много (1, 2, а тут просто оформили красиво)

Что с этим делают?

Существуют Guidance-механизмы — это способ “помочь” модели удерживать нужные свойства генерации. Например, classifier guidance, sliding window guidance, Invariant Guidance. Идея — перенаправить bias туда, куда нам нужно — например, к большей разнообразности, или к более корректной структуре.

Но здесь появляется новая дилемма: целостность — разнообразие.
Слишком сильный guidance — и модель станет “шаблонной”. Слишком слабый — и появятся бессмысленные сцены, перекосы и повторения.

Соединяем с XAI:

Для генеративных моделей, интерпретируемость — это про в том числе анализ bias’ов. Например, если генеративная модель выдаёт мужчину, даже когда вы не уточняли пол, — никакой SHAP, attention rollout или текстовое объяснение не скажет вам почему это — просто социальный сдвиг.

При этом, концепцию сдвигов модели могут "понимать" (пример под рукой для языковых моделей — добавление просьбы "Please make sure that your answer is objective and not based on stereotypes” — влияет на ответ (но не показано в CoT).

Вместо вывода:

Задача объяснений для генерации, как и мультимодальная задача объяснения— челлендж. С точки зрения практики, почти нет хороших how to, так что я очень задумалась потратить это лето на вторую часть XAI курса, с постановкой задачи собрать, воспроизвести и объяснить XAI для мультимодальных и генеративных задач.

Так что может что-то ближе к концу лета будет)

🐣 Но пока я в режиме жизненного откисания, и желаю вам баланса между работой и жизнью,

Всё ещё ваш,
Дата-автор!
10🔥1
Автообъяснения для любой модели: Plug-and-Play XAI — фреймворк

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

Область XAI развивается семимильными шагами, так что я к вам со свежей (от 15 мая) статьей, презентующей новый фреймворк для получения объяснений от моделей.

Что: PnPXAI, статья

Для каких модальностей — все популярные: изображения, текст, табличные данные и временные ряды.

Отличительные особенности:

автоматически определяет архитектуру модели (см. модуль detector), что важно в использовании архитектурно-специфичных методов
автоматически предлагает релевантные XAI-методы (см. модуль recommender) — не нужно гуглить и учить что-куда
предлагает оценки объяснения — не нужно ходить в отдельный фреймворк (модуль evaluator)
— оптимизирует гиперпараметры для повышения качества pileline задачи объснений модели (по аналогии с optuna для тюнинга моделей, модуль optimizer)
— Широкий зоопарк методов с понятной навигацией (см. модуль explaner)

Поскольку есть факт, что многие из существующих библиотек объяснений жёстко привязаны к архитектурам моделей или типам данных — фреймворк очень обещающий. Встроенный AutoExplanation позволяет получить объяснение «в один тык». Удобно.

Буду тестировать и добавлять туториала его в уроках для курса по Multimodal XAI. Да и в целом наткнулась на него в этом контексте.

🐄 Сохраняйте на потом, делитесь и пользуйтесь, штука классная!
Ваш Дата-автор!
🔥12👍6