Перейти к содержимому
IMOEX 2226.36 1.6%
·Технологии·3 августа 2026 г.

Нейросеть, которую почти не учат или что такое резервуарные вычисления

Нейросеть, которую почти не учат или что такое резервуарные вычисления

В машинном обучении есть негласный договор. Если хочешь чтобы сеть работала - обучи все веса. Итеративно, через обратное распространение ошибки, тысячи шагов градиентного спуска. А вот к резервуарным вычислениям этот договор применяется с обратной логикой. Подавляющее большинство весов генерируются случайно и никогда не меняются. Обучается только один выходной слой.

И это, как ни странно, работает.

Начнем, впрочем, говорить про проблему - иначе непонятно, зачем вообще идти на такой компромисс.

Рекуррентные нейросети придуманы для последовательных данных - временных рядов, речи, текста. В отличие от обычных сетей, у них есть интересное состояние. Выход на шаге t зависит не только от входа на шаге t, но и от всего что было до. Это делает их мощными - и одновременно очень неудобными в обучении.

Обучают РНС через BPTT - метод обратного распространения ошибки по времени. Собственно, алгоритм раскрывает сеть во времени. Берет все T шагов, строит граф вычислений и считает градиент через него. На каждом шаге градиент проходит через матрицу весов W. Если W перемножать саму на себя T раз подряд - при собственных значениях меньше 1 произведение стремится к нулю экспоненциально. При больше 1 - к бесконечности.

Первое называется затуханием градиента, второе - взрывом градиента. И это, кстати, нюанс.

RNN плохо запоминает то, что было давно. Градиент от событий на шаге t=1 до шага t=100 затухает настолько, что сеть его просто не видит. LSTM частично решает это через систему гейтов, которые контролируют поток информации. Но LSTM тяжелее, медленнее, и проблему не убирает - немного смягчает.

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Habr