Хотел обучить нейросеть без backprop, а получил k‑means

turbojackal 1 час назад Объяснить с Хотел обучить нейросеть без backprop, а получил k‑means Средний 14 мин 1.3K Машинное обучение * Искусственный интеллект Python * Научно-популярное Математика * Кейс Из песочницы Я...
Will Anthropic have the best AI model at the end of October 2026?
Вот важная новость с фронта ИИ: turbojackal 1 час назад Объяснить с Хотел обучить нейросеть без backprop, а получил k‑means Средний 14 мин 1. 3K Машинное обучение * Искусственный интеллект Python * Научно-популярное Математика * Кейс Из песочницы Я решил проверить, как далеко можно зайти, если обучать скрытый слой нейросети вообще без обратного распространения ошибки. Только локальными правилами: каждый нейрон видит свой вход, свою активность и что делают соседи, и все.
Никакого глобального сигнала ошибки и никаких меток. Спойлер: в моей постановке такое обучение в итоге свелось к обычному k‑means. Оно обгоняет k‑means с той же архитектурой максимум на полпроцента и ни в чем не обгоняет backprop: ни по точности, ни при малом числе меток, ни по забыванию.
Технические детали
Но по дороге было много интересного. Сеть которая убивает собственные нейроны. Эволюция, которая обманывает саму себя.
И несколько моих собственных ошибок, из‑за которых я чуть не написал совсем другую статью. Если вы смотрите в сторону хеббовского обучения, это может сэкономить вам время. С чего все началосьОтправной точкой была статья Krotov & Hopfield (2019) “Unsupervised learning by competing hidden units”.
На каждом примере нейроны соревнуются, у кого активность больше. Победитель подтягивает свои веса к входу (обычное правило Хебба), а нейрон, занявший k‑e место, наоборот, немного отталкивается (анти‑Хебб). Еще есть член из правила Ойи: он не дает весам разрастаться и держит их норму около единицы.
Отраслевые последствия
Правила я себе поставил жесткие:веса скрытых слоев меняются только локально. Нейрону можно знать свой вход, свою активность, сигналы соседей и свое внутреннее состояние (порог, частоту побед)никакого backprop, глобальной ошибки и меток при обучении скрытых слоевметки видит только линейный классификатор (логистическая регрессия) поверх признаков relu(Wx)³. Он нужен только чтобы оценить, насколько признаки хороши.
И еще протокол, без которого половина выводов была бы неправильной. Каждый эксперимент меняет ровно один параметр относительно предыдущего. Каждый запуск идет на 5 сидах, и разницу я считаю реальной, только если она больше двух стандартных отклонений.
Гиперпараметры подбирают только по validation, test открыл один раз в самом конце. И в каждом сравнении есть эталоны с тем же числом нейронов: сырые пиксели, случайные веса, обычный MLP на backprop и (как потом выяснилось, самое важное) k‑means. Все написано на numpy, чтобы каждое обновление весов было на виду.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.






