Новый метод распутать «микс» в голове нейросети: что видит один нейрон на самом деле
Независимый исследователь предложил технику для детального изучения отдельного нейрона свёрточной сети (InceptionV1). Кластеризуя произведение Адамара (поэлементное умножение весов и рецептивного поля), удалось разложить «смешанный» нейрон на моносемантические кластеры — машины, кошки, собаки, буквы, лица. Выяснилось, что градиентный спуск нарочно «прячет» слабые паттерны (буквы) в шумовой диапазон, распределяя веса так, чтобы сумма оставалась низкой.
Если мы хотим понимать, *почему* нейросеть принимает решения, нужно уметь распутывать «смешанные» нейроны. Этот метод показывает, как оптимизация прячет слабые сигналы, и даёт инструмент для поиска скрытых паттернов — важно для безопасности и отладки.
Один нейрон — куча ролей
Независимый исследователь narang_27 опубликовал первую работу по механистической интерпретируемости свёрточных сетей, взяв за основу подход Distill Circuits. Объект изучения — единственный нейрон (1×1 свёртка) в слое mixed4e модели InceptionV1.
Ключевая идея: произведение Адамара (поэлементное умножение) рецептивного поля нейрона и его весов показывает, что именно нейрон «видит». Кластеризация этого произведения даёт набор паттернов, на которые нейрон откликается.
Что нашли
- Моносемантические кластеры: машины, кошки, собаки — всё, на что нейрон известно реагировал.
- Скрытые кластеры: буквы, человеческие лица и множество слабоактивированных паттернов.
- Механизм подавления: для слабых кластеров (например, букв) зависимые нейроны тоже активируются на те же концепты, но положительные и отрицательные веса распределены так, чтобы сумма оставалась низкой. Градиентный спуск целенаправленно прячет эти паттерны в шумовой диапазон.
Почему это важно
Работа даёт новый инструмент для тонкого анализа «полисемантичных» нейронов — тех, что реагируют сразу на несколько концептов. Обнаружение того, что сеть намеренно глушит слабые паттерны через распределение весов, — прямое свидетельство работы оптимизации на уровне отдельных признаков.
Автор признаётся, что начать со свёрточных сетей было ошибкой (их мало кто изучает в контексте интерпретируемости), и планирует перейти к языковым моделям. Работа оформлена в стиле Distill — с визуализациями и подробными пояснениями.
Ключевые выводы
- Произведение Адамара (веса × рецептивное поле) — чистый способ увидеть, на какие паттерны реагирует нейрон
- Один нейрон может быть «полисемантичным» — детектировать машины, кошек, буквы одновременно
- Градиентный спуск намеренно подавляет слабые паттерны, распределяя веса так, чтобы сумма оставалась низкой
- Зависимые нейроны для слабых кластеров тоже активируются на те же концепты — система самосогласованная
- Механистическая интерпретируемость свёрточных сетей пока непопулярна, но метод может работать и на языковых моделях
Автор: Артём Ковалёв · Источник: reddit.com
Классная работа для первой попытки в механистической интерпретируемости — автор взял один нейрон и по косточкам разобрал, что он видит. Произведение Адамара как способ заглянуть внутрь — элегантно и понятно. Но есть нюанс: свёрточные сети сейчас не в моде, все смотрят на трансформеры и языковые модели. Автор сам это признаёт и обещает переключиться.
Самое интересное — находка о том, что сеть *целенаправленно* прячет слабые паттерны в шум. Это не баг, а фича оптимизации: градиентный спуск научился держать концепты в резерве, не давая им перебивать основные активации. Если метод масштабируется на языковые модели, это может стать серьёзным инструментом для поиска скрытых способностей и потенциальных рисков. Пока — добротная пилотная работа с открытым кодом и визуализациями, ждём продолжения.
Комментарии