Глубокое обучение от A до Z · 3-7

Последовательные модели — шаг за шагом, неся память с собой

В предложениях, звуке, записях датчиков и ценах акций смысл создаёт порядок. Если к нейросети, которая смотрит на каждый кадр отдельно, добавить петлю, запоминающую «то, что только что было», получится RNN; если поставить на эту память двери (вентили), чтобы она не стиралась, получатся LSTM и GRU. Мы проследим по числам, действительно ли память сохраняется, и на эксперименте убедимся, что даже с вентилями обучение не происходит само собой.

1990Простая рекуррентная нейросеть Элмана [R1]
1997Публикация LSTM [R3]
3 · 2Число вентилей в LSTM и GRU
1,152 : 912Параметры рекуррентного слоя LSTM и GRU при скрытом размере 16 (Keras)
+0.86 → −0.88Как меняется память LSTM, если перевернуть первый сигнал (раздел 5)
2 примеракода, которые сразу запускаются в Colab
1По одному кадру

По одному кадру, в одну сторону — чего не узнать из одной сцены

В части 3-1 дрозофила определяла, «приближается» ли тень. А что, если ей дать только одну фотографию с тенью?

Что получает нейросеть

Пояснение для начинающих

Нейросети из частей 3-2 и 3-3 получают один вход, выдают один выход — и всё. Они не помнят, что видели раньше. Такую нейросеть называют нейросетью прямого распространения (сигнал идёт только вперёд). Одна тень одного и того же размера может как приближаться, так и удаляться. Ответ кроется не в одной сцене, а в порядке сцен. Именно поэтому в эксперименте части 3-1 на вход подавали сразу два кадра (начальный и последующий).

2Прямое распространение

Два способа подать порядок в сеть прямого распространения и их ограничения

Последовательности «100 → 110 → 120» (рост) и «120 → 110 → 100» (спад) состоят из тех же трёх чисел. Подать их в нейросеть прямого распространения можно двумя способами.

Способ подачи
Длина последовательности
3Петля и развёртка

Откуда берётся петля и что такое развёртка

ht = f(xt, ht−1)Одни и те же веса используются на каждом шаге времени

Вид
Длина

Пояснение для начинающих

Идея решения проблемы из раздела 2 проста. Обрабатывая очередной шаг, сеть получает ещё и сводку, созданную на предыдущем шаге (скрытое состояние). Если это нарисовать, стрелка, выходящая из блока, возвращается в него же и образует петлю. Если развернуть эту петлю вдоль оси времени, она выглядит как сеть прямого распространения, в которой один и тот же блок повторён столько раз, сколько шагов. Все блоки используют одни и те же веса. Как CNN из части 3-3 применяла один фильтр ко всем «позициям», так RNN применяет одни веса ко всем «моментам времени». Поэтому при любой длине число весов не меняется.

4RNN

RNN — скрытое состояние, BPTT и затухание градиента

ht = tanh(wx·xt + wh·ht−1)Elman, 1990

Вес петли wh
Вход

BPTT и затухание градиента

Если выполнить обратное распространение ошибки на развёрнутой схеме, получится BPTT (обратное распространение во времени) [R8]. Чтобы ошибка последнего выхода дошла до первого шага, при каждом шаге назад она умножается на wh × градиент tanh (1 − h²). Если это значение меньше 1, оно возводится в степень, равную числу шагов, и стремится к 0 (затухание градиента); если больше 1 — градиент может взорваться. Бенджио и соавторы в 1994 году показали, что из-за этого выучить долгие временные зависимости градиентным спуском принципиально трудно [R2].

Если увеличить wh (1.5), память держится дольше, но tanh прилипает к ±1, и градиент 1 − h² становится близок к 0. Удерживать память и исправлять её обучением — задачи, которые мешают друг другу. Это проблема того же корня, что и «градиент сигмоиды не больше 0.25» из части 3-2.

5LSTM

LSTM — состояние ячейки и три двери

ct = ft ⊙ ct−1 + it ⊙ gt · ht = ot ⊙ tanh(ct)Hochreiter & Schmidhuber, 1997 · вентиль забывания: Gers и др., 2000

Смещение вентиля забывания bf
Первый сигнал
ОбозначениеНазваниеДиапазонЧто делает (веса, заданные в этой ячейке)
ctСостояние ячейкиБез ограниченийКонвейерная лента, несущая долгую память. До следующего шага проходит лишь через одно умножение (f) и одно сложение
ftВентиль забывания0~1 (σ)Сколько прошлой памяти оставить. Задан постоянным: σ(bf)
itВходной вентиль0~1 (σ)Сколько нового значения записать. σ(10 × метка начала − 5): открывается только на первом шаге
gtКандидат−1~1 (tanh)Что записать. tanh(3 × xt)
otВыходной вентиль0~1 (σ)Какую часть памяти выпустить наружу. Всегда открыт: σ(5) ≈ 0.993
htСкрытое состояние (выход)−1~1ot ⊙ tanh(ct). Идёт в следующий слой и во вентили следующего шага
⊙Поэлементное произведениеПеремножаются элементы векторов на одинаковых позициях. Если, как здесь, число одно, это обычное умножение

Пояснение для начинающих

Веса этой ячейки для наглядности задал человек. Правило такое: «записать только на первом шаге, а потом почти ничего не стирать». Поэтому, если перевернуть первый сигнал, память через 20 шагов тоже точно переворачивается. У RNN из раздела 4 на том же входе последнее значение при перевороте первого сигнала совпадало до четвёртого знака после запятой. Это значит, что LSTM — структура, способная хранить долгую память. Поскольку состояние ячейки передаётся лишь через одно умножение (f ≈ 1) и сложение, градиент, идущий назад, тоже почти не уменьшается [R3].

Добавим два замечания. Во-первых, в исходной LSTM 1997 года вентиля забывания не было. Его добавили Герс и соавторы, чтобы решить проблему бесконечного роста состояния ячейки при непрерывном потоке входов [R4], и сегодня под «LSTM» обычно понимают именно эту версию. Во-вторых, то, что структура может хранить память, не гарантирует, что обучение найдёт нужные веса. Эту разницу показывает эксперимент с кодом 2 (под разделом 6).

6GRU

GRU — LSTM, сокращённая до двух дверей

ht = (1 − zt) ⊙ ht−1 + zt ⊙ h̃tCho и др., 2014

Скрытый размер
Размер входа

Что объединила GRU

GRU объединила вентиль забывания и входной вентиль LSTM в один вентиль обновления z. Прошлая память сохраняется в доле (1 − z), а освободившееся место на долю z заполняется новым кандидатом h̃. Это весы: чем больше оставляешь, тем меньше пишешь, и наоборот. К этому добавлен вентиль сброса r, решающий, насколько использовать прошлую память при вычислении кандидата. Состояние ячейки и скрытое состояние не разделены, поэтому выходного вентиля тоже нет [R5].

Наборов весов становится не 4, как у LSTM, а 3, так что по учебной формуле параметров ровно 3/4. Стандартная GRU в Keras содержит ещё один набор смещений, поэтому параметров немного больше (при скрытом размере 16 и входе 1 — 912 против 1,152, примерно 0.79 раза). Какая из моделей лучше, зависит от задачи.

Эксперимент с кодом 2 — способность структуры хранить память и способность обучения её найти — не одно и то же

Последовательность, где каждый шаг равен ±1, а правильный ответ — первый шаг (все последующие шаги — одинаково выглядящие помехи). Скрытый размер 16, Adam 0.005, 30 эпох, 2,000 обучающих и 1,000 тестовых примеров. Результаты двух сидов приведены отдельно. Около 50% — уровень угадывания, то есть обучение не удалось.

7Автоэнкодер

Автоэнкодер — сжать через песочные часы и восстановить

Сеть учится сжимать вход до узкого среднего слоя (бутылочного горлышка) и затем восстанавливать его. Правильные ответы не нужны: сам вход и есть правильный ответ. Грибовидное тело дрозофилы, наоборот, расширяет.

Размер горлышка
Вид

Пояснение для начинающих

Если горлышко узкое, приходится оставлять только самое важное. Последовательность на рисунке — фрагмент из 16 шагов, составленный из смеси двух синусоид. Доказано, что лучший результат, которого может достичь обучением автоэнкодер без функции активации (линейный), совпадает с методом главных компонент (PCA) [R6], поэтому рисунок показывает этот оптимальный результат, вычисленный напрямую. Многослойный нелинейный автоэнкодер может сжимать лучше, чем PCA [R7].

В последовательных моделях использовалась структура, в которой RNN-кодировщик сжимает предложение в вектор фиксированной длины, а RNN-декодер разворачивает его в другое предложение (кодировщик–декодер) [R5]. Ограничение — длинное предложение трудно уместить в одно узкое горлышко — породило внимание из следующей части, 3-8.

8Нотация·генеалогия

Нотация схем и генеалогия — как читать рисунки, кто и когда

В разных книгах и статьях обозначения на схемах немного различаются. Здесь собраны соглашения этой серии и в хронологическом порядке показано, какие проблемы решали последовательные модели, сменяя друг друга.

ОбозначениеЗначениеПрямое распространениеRNNLSTMGRUАвтоэнкодер
БлокОдин слой (умножение на веса + функция активации)✓✓✓✓✓
→Направление потока значенийТолько вперёдВперёд + следующий моментВперёд + следующий моментВперёд + следующий моментТолько вперёд
↺ ПетляСнова получает значение с прошлого момента—hh и ch— (для последовательностей используют RNN)
σДверь (вентиль), сжимающая в 0~1——3 (f, i, o)2 (z, r)—
tanhФункция активации, сжимающая в −1~1По выбору✓Кандидат g и выходКандидат h̃По выбору
⊙ · ⊕Поэлементное произведение · сложение——✓✓—
Песочные часыРазмер слоёв сужается, затем расширяется————✓
9Помощник выбора

Помощник выбора — с чего начать для моих данных

Ответьте на три вопроса, и помощник подберёт модель для старта. Это не правильный ответ, а первый кандидат. Окончательное решение всегда принимается сравнением на валидационных данных (3-2, раздел 9).

① Данные
② Длина последовательности
③ Способ обработки

Код для Colab — запустите эту страницу сами

Оба примера используют только библиотеки, предустановленные в Colab. Нажмите «Скачать блокнот (.ipynb)» и откройте его в Colab через Файл → Загрузить блокнот или скопируйте код и вставьте в ячейку нового блокнота.

Код 1 · Пошаговое вычисление RNN и LSTM на numpyСвязь с разделами 4·5 · numpy, matplotlib · CPU менее 1 секунды

RNN из одного числа из раздела 4 и заданная вручную LSTM из раздела 5 вычисляются на одной и той же последовательности. Скрытое состояние, градиент, идущий назад, и изменение при перевороте первого сигнала получаются теми же числами, что и на странице. Чтобы подставить свои данные, измените только SEQ.

Результат запуска (запуск 2026-10-03, numpy 2.4 · matplotlib 3.10 · CPU). В расчёте нет случайности, поэтому результат всегда одинаков.
Код 2 · Сравнение SimpleRNN · LSTM · GRU в Keras — «запомнить первый сигнал»Связь с разделом 6 · tensorflow(Keras), numpy, matplotlib · CPU около 5 минут

Три модели обучаются на последовательностях, где каждый шаг равен ±1, а правильный ответ — первый шаг. Длины 10 · 50 · 100, два сида. Таблица под разделом 6 построена прямо по этому выводу.

Результат запуска (запуск 2026-10-03, TensorFlow 2.21 · Keras 3.15 · CPU). В зависимости от сида, версий и оборудования успех и неудача могут меняться. Сама эта изменчивость — одно из того, что показывает этот эксперимент.

Промпты для ИИ — этот код как отправная точка

Это промпты, которые можно вставить в ИИ-помощника вроде ChatGPT, Qwen или Claude. Если нажать «Копировать», после промпта будет добавлен выбранный код. Замените текст в 〔 〕 на свою ситуацию.

Код, который добавить

Ответ ИИ — лишь отправная точка. Предложенные статьи, числа и функции библиотек обязательно проверяйте по первоисточникам и официальной документации. Если для конкурса или статьи вы пользовались помощью ИИ, укажите факт и объём использования согласно правилам организаторов и журнала.

Глоссарий

Это тот же словарь, что и жёлтое пунктирное подчёркивание в тексте. Во всей серии используются одни и те же обозначения. Нажмите на название раздела, чтобы перейти к месту первого упоминания.

Собрание аналогий — и где аналогии ошибаются

Аналогия — первый шаг к пониманию, но и семя заблуждения. Для аналогий с дрозофилой и мозгом указана сила. Прямая есть данные, что это действительно делает то же самое · Частичная похожи лишь некоторые свойства · Нет соответствие неизвестно

ПонятиеБытовая аналогияАналогия с дрозофилой и мозгомГде аналогия ошибается
Скрытое состояниеКраткое содержание сюжета, которое складывается в голове при чтении книгиЧастично Устойчивая активность группы нейроновКакими цепями поддерживается кратковременная память мозга, зависит от области и всё ещё изучается
Развёртка·общие весаОдин и тот же сотрудник каждый день работает по одной и той же инструкцииНетМозг не создаёт одинаковые «копии» для каждого момента времени. Развёртка — это схема для вычислений
Затухание градиентаВ игре «испорченный телефон» исходная фраза размываетсяНет Само обратное распространение ошибки в мозге не подтвержденоВ «испорченном телефоне» размывается сигнал, идущий вперёд, а при затухании градиента ослабевает обучающий сигнал, идущий назад
Состояние ячейкиЗаводская конвейерная лентаНетПредмет на ленте едет без изменений, а состояние ячейки на каждом шаге немного уменьшается в меру вентиля забывания
ВентильВодопроводный кран (насколько открыть, 0~1)Частично Нейромодуляторы, регулирующие синаптическую передачу (например, дофамин в грибовидном теле дрозофилы)Дофамин участвует в обучении (изменении силы связей). Вентиль LSTM — это вычисление, определяющее поток на каждом шаге, и сам по себе обучением не является
Вентиль обновления GRUВесы: чем больше убираешь старой памяти, тем больше нового помещаетсяНетВ отличие от настоящих весов, пропорция своя для каждого шага и каждого числа
Горлышко автоэнкодераСжать длинное совещание до трёх строк, а затем снова развернутьЧастично Противоположный пример: грибовидное тело не сужает, а расширяетВ отличие от конспекта, автоэнкодер решает, «что важно», не по указанию человека, а только по ошибке восстановления

Об авторе и источники

E-1 Об авторе · E-2 Научные источники · E-3 Материалы к рисункам

E-1 Об авторе

Сансон Ан (генеральный директор M-Robo)

Работал в Корейской корпорации электробезопасности и газете «Мэиль Кёндже» (Maeil Business Newspaper), а затем основал M-Robo — внешнее венчурное предприятие «Мэиль Кёндже», где сейчас является генеральным директором. M-Robo — медиавенчур, начинавший как внутренний стартап СМИ: он предоставлял газете «Кукмин Ильбо» робота-журналиста (StockBot) и выполнил множество проектов для Корейского агентства интернета и безопасности (KISA), Корейского фонда прессы, Корейского агентства по продвижению радиовещания и связи и других организаций. Сейчас компания развивает собственное ИИ-новостное издание Money-Robo. За время руководства компанией выиграл Asia Open Data Hackathon и дважды получил награду министра внутренних дел и безопасности за вклад в сфере дата-стартапов; является изобретателем и правообладателем 5 патентов в области искусственного интеллекта и блокчейна. Автор книги «Преступления с ИИ и самозащита»; разрабатывал электронные учебные курсы по финтеху, статистике и искусственному интеллекту для Онлайн-института непрерывного образования Корейского технологического и образовательного университета (KOREATECH). Высшая учёная степень — доктор экономических наук (Университет Тонгук, микроэкономика с математическими методами). Преподаёт дисциплины, связанные с данными и искусственным интеллектом, в нескольких университетах, в том числе в Университете Кукмин и Университете Хосо. Подробный профиль

Лекции

  • Сансон Ан (2025). Конспект лекций «Наука о данных для бизнеса». Кафедра конвергенции искусственного интеллекта, Открытый кибер-университет Кореи.
  • Сансон Ан (2025). [K-Digital] Обработка естественного языка с помощью ИИ. STEP (Платформа интеллектуального профессионального обучения), Онлайн-институт непрерывного образования Корейского технологического и образовательного университета.
  • Сансон Ан (2024). [K-Digital] Основы анализа финтех-данных. STEP (Платформа интеллектуального профессионального обучения), Онлайн-институт непрерывного образования Корейского технологического и образовательного университета.

Курсы на STEP: link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
Если из-за обновления сайта ссылки не открываются, заходите на www.step.or.kr.

Статьи и доклады

  • Сансон Ан (2025). Модель прогнозирования расходов домохозяйств на основе панельных данных о пенсионном обеспечении (KReIS): подход на основе моделей искусственного интеллекта. «Будущее общество» (Mirae Sahoe), 16(2). Полный текст
  • Сансон Ан (2025). Модель прогнозирования расходов домохозяйств на основе панельных данных о пенсионном обеспечении (KReIS): подход с использованием ИИ. Доклад на научной конференции по панельному исследованию пенсионного обеспечения (2025.05.13), Национальный институт пенсионных исследований, Национальная пенсионная служба Кореи. Материалы доклада
  • Сансон Ан (2025). Алгоритм обнаружения подозрительных сделок с наркотиками по текстам в соцсетях: анализ шаблонов и контекста. «Будущее общество» (Mirae Sahoe), 16(1). Полный текст
  • Сансон Ан (2024). Статистический подход к противодействию состязательным данным для защиты моделей обнаружения аномалий в финансовой сфере: эмпирический анализ и результаты моделирования. «Будущее общество» (Mirae Sahoe), 15(3). Полный текст
  • Сансон Ан (2024). Решение на основе ИИ для обнаружения публикаций в соцсетях по характеристикам виртуальных персонажей. Стендовый доклад на 2024 Summer Newmedia Party (2024.06.19), Сеульский университет медиа (аспирантура).
  • Сансон Ан (2024). Модель машинного обучения на панельных данных о производственном травматизме. Стендовый доклад на 10-й научной конференции по панели страхования от несчастных случаев на производстве (2024.05.17), Институт социального обеспечения работников, Корейская служба социального обеспечения работников.
  • Сансон Ан (2024). Анализ и прогнозирование временных рядов виртуальных активов: сравнение моделей временных рядов и моделей ИИ, предложения по улучшению. «Будущее общество» (Mirae Sahoe), 15(1). Полный текст

E-2 Научные источники

  1. [R1] Elman, J. L. (1990). Finding structure in time. Cognitive Science, 14(2), 179–211. — вступление, разделы 4·8
  2. [R2] Bengio, Y., Simard, P., & Frasconi, P. (1994). Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on Neural Networks, 5(2), 157–166. doi:10.1109/72.279181 — разделы 4·8
  3. [R3] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural Computation, 9(8), 1735–1780. doi:10.1162/neco.1997.9.8.1735 — вступление, разделы 5·8
  4. [R4] Gers, F. A., Schmidhuber, J., & Cummins, F. (2000). Learning to forget: Continual prediction with LSTM. Neural Computation, 12(10), 2451–2471. doi:10.1162/089976600300015015 — разделы 5·8 (вентиль забывания)
  5. [R5] Cho, K., van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., & Bengio, Y. (2014). Learning phrase representations using RNN encoder–decoder for statistical machine translation. EMNLP 2014, 1724–1734. doi:10.3115/v1/D14-1179 — разделы 6·7·8 (GRU, кодировщик–декодер)
  6. [R6] Baldi, P., & Hornik, K. (1989). Neural networks and principal component analysis: Learning from examples without local minima. Neural Networks, 2(1), 53–58. авторская версия — разделы 7·8
  7. [R7] Hinton, G. E., & Salakhutdinov, R. R. (2006). Reducing the dimensionality of data with neural networks. Science, 313(5786), 504–507. doi:10.1126/science.1127647 — разделы 7·8
  8. [R8] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. deeplearningbook.org — разделы 3·4 (глава 10: рекуррентные нейросети, BPTT)
  9. [R9] Caron, S. J. C., Ruta, V., Abbott, L. F., & Axel, R. (2013). Random convergence of olfactory inputs in the Drosophila mushroom body. Nature, 497(7447), 113–117. doi:10.1038/nature12063 — раздел 7
  10. [R10] Dasgupta, S., Stevens, C. F., & Navlakha, S. (2017). A neural algorithm for a fundamental computing problem. Science, 358(6364), 793–796. препринт bioRxiv — раздел 7

E-3 Материалы к рисункам

  • Сцены приближения·удаления в разделе 1 — та же постановка, что и в сценах разделов 3·4 части 3-1 «Как работает ИИ»
  • Рисунок грибовидного тела в разделе 7 — те же приблизительные значения, что и в разделе 5 части 3-1 (около 50 типов гломерул, около 2,000 клеток Кеньона)

Советы преподавателю

Практические рекомендации для преподавателей, наставников по OJT (обучению на рабочем месте) и тьюторов. Время указано ориентировочно — подстраивайте его под реальное занятие.

АудиторияСтуденты и работающие специалисты, прошедшие часть 3-2. Практики, работающие с данными датчиков, логами, текстами и временными рядами
Предварительные знанияОбратное распространение ошибки и затухание градиента, сигмоида·tanh из части 3-2. Если знать общие веса из части 3-3, раздел 3 будет лёгким
Цели обучения① Объяснить на двух способах (усреднение, склейка), почему сети прямого распространения трудно работать с порядком ② Показать на числах скрытое состояние RNN и затухание градиента ③ Объяснить, что делают вентили LSTM·GRU, и различать «структура может хранить память» и «обучение её находит»
Ориентировочное времяЧтение 45~55 мин · демонстрация анимаций 25 мин · практика в Colab 30 мин (код 1 — 10 мин, код 2 — запуск 5 мин + разбор 15 мин)

Три варианта занятия

Лекция, 50 мин

Упор на понятия

Введение 5 мин (одинаковая сцена из раздела 1) → разделы 2·3 10 мин → раздел 4, затухание градиента 10 мин → раздел 5, переворот первого сигнала 15 мин → обсуждение таблицы эксперимента под разделом 6 5 мин → проверочные вопросы 5 мин.

OJT на рабочем месте, 90 мин

Упор на применение в работе

Классификация данных команды с помощником выбора из раздела 9 15 мин → разделы 4·5 20 мин → запуск и разбор кода 2 30 мин (как сообщать о том, что «результат зависит от сида») → идеи поиска аномалий из раздела 7 15 мин → карточки с промптами 10 мин.

Индивидуальные занятия

Темп по уровню

Новичкам — только разделы 1·3·5·9. Слушатели среднего уровня вручную проходят вычисление c из раздела 5 на трёх шагах, затем сверяют с функцией lstm из кода 1 и самостоятельно выводят формулу числа параметров из раздела 6.

Ключевые моменты по разделам

РазделВопрос, на котором стоит остановитьсяСовет по управлению
1 По одному кадру«Можно ли понять, что тень приближается, глядя только на третий кадр?»Остановиться на «Один текущий кадр», затем переключить на «порядок»
2 Прямое распространение«Что будет со склейкой, если длина предложения каждый раз разная?»Переключать длину 3 и 5 и смотреть, как меняется число входов
3 Петля и развёртка«Сколько наборов весов у пяти развёрнутых блоков?»Переключать свёрнутую ↔ развёрнутую схему
4 RNN«Если увеличить w_h, память держится дольше, — почему же обучение становится труднее?»Изменить 0.9 → 1.5 и сравнить h12 и значение градиента
5 LSTM«Что станет с памятью через 20 шагов, если перевернуть первый сигнал?»При b_f = 5 переключить +1/−1, затем поставить b_f = 1 и посмотреть разницу
6 GRU«Почему LSTM·GRU с вентилями не справились при T = 100?»Прочитать рядом сиды 0 и 1 в таблице эксперимента
7 Автоэнкодер«Почему при горлышке 4 ошибка резко падает?»Увеличивать горлышко с 1 до 4, следя за зелёной кривой, затем переключиться на вид грибовидного тела
8 Нотация·генеалогия«Чем LSTM 1997 года отличается от сегодняшней LSTM?»Пролистать хронологию до вентиля забывания 2000 года
9 Помощник выбора«К какому случаю относятся данные нашей команды?»Каждый участник выбирает ответы, затем обсуждаем, где рекомендации расходятся

Топ-5 частых заблуждений

ЗаблуждениеВерное объяснениеЧто показать
LSTM решает проблему долгой памятиLSTM — структура, способная хранить долгую память. Найдёт ли обучение нужные веса, зависит от задачи, времени обучения и инициализацииТаблица эксперимента под разделом 6 (T = 100)
SimpleRNN неизбежно забывает через несколько шаговВ зависимости от инициализации и задачи она может помнить довольно долго. В этом эксперименте до T = 50 оба сида были успешныТаблица эксперимента под разделом 6 (T = 50)
У LSTM с самого начала был вентиль забыванияВ исходной статье 1997 года его не было; его добавили Герс и соавторы в 2000 годуХронология в разделе 8
GRU всегда быстрее и лучше LSTMУ неё лишь примерно на 3/4 меньше параметров, а качество зависит от задачи. В этом эксперименте при T = 50 не справилась только GRUРаздел 6
Автоэнкодер скопирован с того, как запоминает мозгЭто вычислительный приём сжатия через сужение. Грибовидное тело дрозофилы, напротив, расширяетВид грибовидного тела в разделе 7

Проверочные вопросы (нажмите, чтобы раскрыть разбор)

Q1. Какая информация теряется, если усреднить последовательность и подать её в сеть прямого распространения? Объясните на примере.

Теряется порядок. У 100 → 110 → 120 (рост) и 120 → 110 → 100 (спад) среднее одинаково — 110, поэтому нейросеть не может их различить.

Q2. Чему равны h_1 и h_2, если подать 1, 0, 0 в RNN из одного числа h_t = tanh(x_t + 0.9·h_(t−1))?

h_1 = tanh(1) ≈ 0.762, h_2 = tanh(0.9 × 0.762) = tanh(0.686) ≈ 0.595.

Q3. Если вентиль забывания постоянен, f = σ(5) ≈ 0.9933, а входной вентиль полностью закрыт, во сколько раз состояние ячейки, записанное на первом шаге, изменится к 20-му шагу?

Умножение происходит 19 шагов, поэтому 0.9933 в 19-й степени ≈ 0.880 раза. Фактическое значение в разделе 5 (0.988 → 0.864, примерно 0.875 раза) немного меньше, потому что входной вентиль закрыт не полностью (0.007) и помехи понемногу просачиваются. В этой последовательности помех −1 — 10, а +1 — 9.

Q4. Каково число параметров рекуррентного слоя SimpleRNN, LSTM и GRU (по учебной формуле) при скрытом размере 16 и входе 1?

Один набор = 16 × (16 + 1) + 16 = 288. SimpleRNN 288, LSTM 4 × 288 = 1,152, GRU 3 × 288 = 864. Стандартная GRU в Keras добавляет 48 смещений — получается 912.

Q5. В коде 2 LSTM при T = 100 не справилась на обоих сидах. Можно ли заключить, что «LSTM не умеет долго помнить»?

Нельзя. Как в разделе 5, при подходящих весах LSTM может хранить долгую память. Неудача означает, что за 30 эпох градиентный спуск не нашёл таких весов. Чтобы сделать вывод, нужно повторить эксперимент, меняя время обучения, скорость обучения и объём данных, и прогнать его на нескольких сидах.

Задания в Colab

Базовое

В функции lstm из кода 1 сделайте входной вентиль всегда открытым (i = σ(5)). Вычислите, что произойдёт с состоянием ячейки через 20 шагов при перевороте первого сигнала, и опишите роль входного вентиля в двух предложениях.

Повышенной сложности

Испытайте в коде 2 хотя бы один способ превратить неудачу при T = 100 в успех (больше эпох, другая скорость обучения, больше данных и т. п.). Представьте результаты для трёх и более сидов в виде таблицы и обоснуйте, что сработало.

Настройка сложности и что изучить дальше

НачинающимГрафик градиента в разделе 4 и разделы 7·8 можно пропустить без потери логики. Надёжно покажите одно — «переворот первого сигнала» из раздела 5
УглублённоОбобщите формулу произведения градиентов из раздела 4 на случай нескольких скрытых нейронов (матрица) и обсудите связь собственных значений с затуханием и взрывом градиента [R2]
Что изучить дальшеСансон Ан, конспект лекций «Наука о данных для бизнеса» (наука о данных в целом) · STEP [K-Digital] Обработка естественного языка с помощью ИИ (связано с 3-5·3-8) · STEP [K-Digital] Основы анализа финтех-данных (связано с 3-6)
Материалы для преподавателяКритерии оценки проверочных вопросов и примеры ответов к заданиям — на странице ответов для преподавателей (3-7)

Отличная работа!

Вы дочитали часть «3-7 Последовательные модели» до конца. Обитатели лаборатории подведут итоги — каждый по фразе.

Профессор
ПрофессорМы познакомились с моделями, которые идут шаг за шагом, неся память с собой.
  • RNN хранит память в скрытом состоянии и передаёт её на следующий шаг
  • Двери (вентили) LSTM могут хранить долгую память
  • Способность хранить и способность обучения это найти — не одно и то же
Ассистентка
АссистенткаПри T = 100 опять 50%!
Муха-исследователь
Муха-исследовательПервый сигнал… какой же он был…