Словарь ИИ
Что такое рекуррентная нейросеть
Коротко
Рекуррентная нейросеть (RNN) это нейросеть, которая читает данные по одному элементу и хранит внутреннюю память о прочитанном, поэтому подходит для текста, речи и рядов чисел.
Машинное обучение · recurrent neural network
Михаил МозгПроверено: 1 минута чтения
Ребенку
Когда тебе читают сказку, ты не забываешь начало, пока слушаешь конец. Ты помнишь, что Колобок ушел и от бабушки, и от зайца, поэтому понимаешь, зачем лиса хитрит. Такая программа тоже слушает историю слово за словом и держит в голове главное из прошлого. Правда, очень длинные сказки она запоминает плохо.
Простыми словами
Обычная нейросеть смотрит на все данные сразу. Рекуррентная читает их по порядку: слово за словом, секунду записи за секундой, день продаж за днем. После каждого шага она обновляет свою память, короткую сводку прочитанного, и передает ее дальше. Так она понимает, что «не» в начале фразы меняет смысл ее конца. Слабое место в длинных цепочках: ранние детали постепенно стираются. Похоже работает подсказка следующего слова на клавиатуре телефона: она учитывает уже набранные слова.
Для бизнеса
Для новых проектов с текстом такие сети сейчас берут редко: их место заняли трансформеры и большие языковые модели. Но они остаются в работающих системах и там, где важны скорость и скромные ресурсы: прогноз спроса и нагрузки по временным рядам, датчики оборудования, распознавание речи на устройстве. Модель небольшая, работает на обычном процессоре и не требует дорогих видеокарт. Если подрядчик предлагает такую архитектуру, спросите, с чем ее сравнивали: с градиентным бустингом на признаках и с трансформером. Риск в длинной истории: события давностью в несколько месяцев сеть учитывает слабо. Подходящий метод для прогнозов выбирают на исторических данных компании до внедрения.
Для специалиста
Рекуррентная нейронная сеть (recurrent neural network, RNN) обрабатывает последовательность пошагово: скрытое состояние h_t вычисляется из входа x_t и прошлого состояния h_{t-1} с одними и теми же весами на всех шагах. Обучают ее обратным распространением ошибки во времени (backpropagation through time), и на длинных цепочках градиенты затухают или взрываются. LSTM (long short-term memory; Hochreiter, Schmidhuber, Neural Computation, 1997) решает это ячейкой памяти с постоянным потоком ошибки и мультипликативными вентилями (gates); авторы показали связи через интервалы больше 1000 шагов. GRU (Cho и соавторы, 2014) упрощает ячейку до двух вентилей, сброса (reset) и обновления (update). Варианты: двунаправленные и многослойные RNN, схема кодировщик-декодер (encoder-decoder) для перевода. Последовательные вычисления плохо распараллеливаются, и трансформер (Vaswani и соавторы, 2017) полностью отказался от рекуррентности в пользу внимания. Модели пространства состояний и линейные рекуррентные слои возвращают идеи RNN для длинных контекстов.
Пример
Энергосбытовая компания прогнозирует потребление на сутки вперед. LSTM читает почасовую историю нагрузки и погоды за прошлые недели и выдает прогноз, по которому диспетчер планирует закупку мощности.
Связанные термины
Вопросы и ответы
Чем рекуррентная нейросеть отличается от трансформера?
Что такое LSTM?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений