Я удалил backpropagation из нейросети. Она обучилась методами XIX века
Все началось с того, что я открыл PyTorch и удалил из модели .backward(). Взял и стер как строчку, которая «вроде ничего не делала». Только вот эта строчка делала вообще все. Я хотел понять одну вещь: а что, если забыть, что backpropagation существует? Не как упражнение, чтобы вспомнить основы, а буквально обучить нейросеть, ни разу не посчитав градиент. То есть без всего того математического аппарата, который мы с вами воспринимаем как воздух. И у меня получилось. Правда попутно я обнаружил, что Adam — это, по сути, уравнение движения с трением, записанное на Python. (Лагранж бы такое одобрил, наверное).
https://habr.com/ru/companies/selectel/articles/1025542/
#нейронные_сети #backpropagation #градиентный_спуск #оптимизация #SGD #momentum #метод_Ланжевена #случайный_поиск #история_математики #selectel