Какие бывают виды интерпретируемости?
В прошлом посте я упоминал о важности интерпретируемости моделей для анализа активности мозга. Сегодня хочу немного рассказать, какие категории интерпретируемости бывают в целом и какой здесь есть трейдофф между прозрачностью и свободой в выборе архитектуры.
Post-hoc интерпретация на базе эвристик и метрик
В этом подходе берут уже обученную модель и смотрят, как меняется её предсказание или качество после манипуляций с признаками или внутренними представлениями. Самый простой пример — занулить один из признаков и посмотреть, насколько просела метрика; потом второй и так далее. Дальше используется простая логика: чем сильнее ухудшилось качество после удаления признака, тем важнее он, вероятно, был для модели.
Сюда же относятся и некоторые градиентные подходы, вроде saliency maps. Их идея обычно в том, чтобы смотреть, как сильно какая-либо целевая величина (например, выход модели или финальная метрика) меняется при малом изменении входных признаков. Чем выше чувствительность величины к признаку, тем более важным он считается для конкретного решения модели.
Наиболее популярные методы из этой категории — SHAP, LIME, saliency maps, integrated gradients. Популярность этого класса обусловлена тем, что он находится на самом «доступном» крае трейдоффа: такие методы дают меньше прозрачности, потому что часто опираются на математические эвристики и слабо учитывают структуру архитектуры или смысл самих данных; зато именно поэтому их можно применить почти к любой задаче и почти к любой модели.
Использование методов, учитывающих структуру архитектуры и слоёв нейросети
Это следующая ступень: интерпретация становится более содержательной и человеко-читаемой, но и менее универсальной. Здесь методы строятся уже под конкретные архитектуры, а иногда и под конкретные типы слоёв. Соответственно, применить их можно не ко всему подряд.
Общая идея такая: разные архитектуры и слои отличаются математически и реализуют разные принципы обработки информации. Например, в CNN ранние свёрточные слои на изображениях часто начинают выделять простые локальные паттерны (границы, линии, текстуры), а более глубокие слои — более сложные структуры. В трансформерах важную роль играют механизмы внимания, которые моделируют взаимосвязи между токенами.
Поэтому методы интерпретации из этой категории пытаются вытащить ту информацию, которая уже «зашита» в структуре модели. Пример для CNN — Grad-CAM, а для трансформеров — анализ карт внимания или attention rollout. При этом, как и многие другие методы интерпретации, такие подходы обычно дают не прямое «объяснение» решения модели, а эвристическое и частичное представление о том, какие структуры и взаимосвязи были для неё важны.
Разработка интерпретируемых архитектур «по дизайну»
Этот вариант находится на другом крае трейдоффа: он наименее гибкий, но потенциально наиболее прозрачный. Идея в том, чтобы ещё на этапе разработки архитектуры закладывать в неё слои и операции, которые сами по себе имеют естественную, человеко-читаемую интерпретацию с учётом типа данных, их свойств, а иногда и конкретной задачи.
Например, при анализе ЭЭГ/МЭГ можно строить слои, которые по смыслу близки к классическим операциям обработки сигналов, но при этом имеют обучаемые параметры. Для выделения ритмов мозга данные часто фильтруют в заранее заданном частотном диапазоне (например, 8-13 Гц для альфа-ритма). Но можно использовать параметризованный слой так, чтобы этот диапазон обучался под задачу автоматически. Тогда после обучения можно посмотреть, какие частоты этот слой усиливал, а какие подавлял, и получить уже гораздо более содержательную интерпретацию того, что именно сеть считает полезным.
Если сильно упростить, картина такая: чем ближе мы к полностью универсальным post-hoc методам, тем легче их применять почти где угодно, но тем слабее и спорнее обычно интерпретация. Чем больше интерпретируемость встраивается в саму архитектуру, тем понятнее становится модель, но тем сильнее мы ограничиваем себя в её дизайне.
Илья Семенков