LSTM чудово справляється із завданнями прогнозування послідовності, фіксуючи довгострокові залежності. Ідеально підходить для часових рядів, машинного перекладу та розпізнавання мовлення через залежність від порядку. Стаття містить поглиблений вступ до LSTM, охоплюючи модель LSTM, архітектуру, принципи роботи та критичну роль, яку вони відіграють у різних програмах.
Що таке LSTM?
Довга короткочасна пам'ять є вдосконаленою версією рекурентної нейронної мережі, розробленої Hochreiter & Schmidhuber.
Традиційний RNN має один прихований стан, який передається через час, що може ускладнити для мережі вивчення довгострокових залежностей. Модель LSTM вирішити цю проблему, ввівши комірку пам’яті, яка є контейнером, який може зберігати інформацію протягом тривалого періоду.
Архітектури LSTM здатні вивчати довготривалі залежності в послідовних даних, що робить їх добре підходящими для таких завдань, як мова перекладу , розпізнавання мовлення та прогнозування часових рядів .
LSTM також можна використовувати в поєднанні з іншими архітектурами нейронних мереж, наприклад Згорткові нейронні мережі (CNN) для аналізу зображень і відео.
Архітектура LSTM
Архітектура LSTM включає комірку пам’яті, яка керується трьома воротами: вхідним, забутим і вихідним. Ці ворота вирішують, яку інформацію до комірки пам’яті додати, видалити з неї та вивести з неї.
- Вхідний вентиль контролює, яка інформація додається до комірки пам’яті.
- Ворота забуття контролюють, яка інформація видаляється з комірки пам’яті.
- Вихідний вентиль контролює, яка інформація виводиться з комірки пам'яті.
Це дозволяє мережам LSTM вибірково зберігати або відкидати інформацію під час її проходження через мережу, що дозволяє їм вивчати довгострокові залежності.
LSTM підтримує прихований стан, який діє як короткочасна пам'ять мережі. Прихований стан оновлюється на основі введення, попереднього прихованого стану та поточного стану комірки пам’яті.
Двонаправлена модель LSTM
Двонаправлений LSTM (Bi LSTM/BLSTM) — рекурентна нейронна мережа (RNN), здатна обробляти послідовні дані як у прямому, так і в зворотному напрямках. Це дозволяє Bi LSTM вивчати довгострокові залежності в послідовних даних, ніж традиційні LSTM, які можуть обробляти послідовні дані лише в одному напрямку.
- Bi LSTM складаються з двох мереж LSTM: одна обробляє вхідну послідовність у прямому напрямку, а інша обробляє вхідну послідовність у зворотному напрямку.
- Виходи двох мереж LSTM потім об’єднуються для отримання остаточного результату.
Моделі LSTM, у тому числі Bi LSTM, продемонстрували сучасну продуктивність у різних завданнях, таких як машинний переклад, розпізнавання мови та підсумовування тексту.
Мережі в архітектурі LSTM можна стекувати для створення глибокої архітектури, що дозволяє вивчати навіть більш складні шаблони та ієрархії в послідовних даних. Кожен рівень LSTM у складеній конфігурації фіксує різні рівні абстракції та часові залежності у вхідних даних.
LSTM працює
Архітектура LSTM має ланцюгову структуру, яка містить чотири нейронні мережі та різні блоки пам’яті, які називаються клітини .
Інформація зберігається клітинами, а маніпуляції з пам’яттю здійснюються ними ворота. Є троє воріт –
Забудьте про ворота
Інформація, яка більше не є корисною в стані комірки, видаляється за допомогою шлюзу забуття. Два входи x t (введення в певний час) і ч t-1 (попередній вихід комірки) подаються на затвор і множаться на вагові матриці з наступним додаванням зсуву. Результат передається через функцію активації, яка дає двійковий вихід. Якщо для певного стану комірки виведення дорівнює 0, частина інформації забувається, а для виходу 1 інформація зберігається для використання в майбутньому. Рівняння для воріт забути таке:
де:
- W_f представляє вагову матрицю, пов’язану з воротами забуття.
- [h_t-1, x_t] позначає конкатенацію поточного введення та попереднього прихованого стану.
- b_f — зміщення із забутим гейтом.
- σ – сигмоїдна функція активації.

Вхідні ворота
Додавання корисної інформації до стану комірки виконується вхідним вентилем. По-перше, інформація регулюється за допомогою сигмоїдної функції та фільтрує значення, які потрібно запам’ятати, подібно до пропуску забуття за допомогою входів ч t-1 і x t .. Потім створюється вектор за допомогою рибний функція, яка дає вихідні дані від -1 до +1, що містить усі можливі значення з ht-1і x t . Нарешті, значення вектора та регульовані значення перемножуються для отримання корисної інформації. Рівняння для вхідного вентиля таке:
Попередній стан множимо на ft, ігноруючи інформацію, яку ми раніше вирішили ігнорувати. Далі ми включаємо it∗Ct. Це оновлені значення кандидатів, скориговані на суму, яку ми вибрали для оновлення кожного значення стану.
де
- ⊙ позначає поелементне множення
- tanh — функція активації tanh
вовк чи лисиця
Вихідні ворота
Завдання вилучення корисної інформації з поточного стану комірки для представлення як виведення виконується вихідним вентилем. Спочатку генерується вектор шляхом застосування функції tanh до клітинки. Потім інформація регулюється за допомогою сигмоїдної функції та фільтрується за значеннями, які потрібно запам’ятати, використовуючи вхідні дані
Застосування LSTM
Деякі з відомих програм LSTM включають:
- Моделювання мови: LSTM використовувалися для завдань обробки природної мови, таких як моделювання мови, машинний переклад і підсумовування тексту. Їх можна навчити складати зв’язні та граматично правильні речення, вивчаючи залежності між словами в реченні.
- Розпізнавання мови: LSTM використовувалися для завдань розпізнавання мовлення, таких як транскрипція мовлення в текст і розпізнавання голосових команд. Їх можна навчити розпізнавати шаблони в мовленні та зіставляти їх із відповідним текстом.
- Прогнозування часових рядів: LSTM використовувалися для завдань прогнозування часових рядів, таких як прогнозування цін на акції, погоди та споживання енергії. Вони можуть вивчати закономірності в даних часових рядів і використовувати їх для прогнозування майбутніх подій.
- Виявлення аномалії: LSTM використовувалися для завдань виявлення аномалій, таких як виявлення шахрайства та вторгнення в мережу. Їх можна навчити виявляти шаблони в даних, які відхиляються від норми, і позначати їх як потенційні аномалії.
- Рекомендаційні системи: LSTM використовувалися для рекомендаційних завдань, таких як рекомендація фільмів, музики та книг. Вони можуть вивчати шаблони поведінки користувачів і використовувати їх, щоб давати персоналізовані рекомендації.
- Аналіз відео: LSTM використовувалися для завдань аналізу відео, таких як виявлення об’єктів, розпізнавання активності та класифікація дій. Їх можна використовувати в поєднанні з іншими архітектурами нейронних мереж, наприклад згортковими нейронними мережами (CNN), для аналізу відеоданих і вилучення корисної інформації.
LTSM проти RNN
Особливість | LSTM (довгокороткочасна пам'ять) | RNN (рекурентна нейронна мережа) |
|---|---|---|
Пам'ять | Має спеціальний блок пам’яті, який дозволяє вивчати довготривалі залежності в послідовних даних | Не має блоку пам'яті |
Спрямованість | Можна навчити обробляти послідовні дані як у прямому, так і в зворотному напрямках | Можна навчити лише обробляти послідовні дані в одному напрямку |
Навчання додавання рядка в java | Навчання складніше, ніж RNN, через складність воріт і блоку пам'яті | Легше тренувати, ніж LSTM |
Навчання тривалої залежності | Так | Обмежений |
Здатність вивчати послідовні дані | Так | Так |
Додатки | Машинний переклад, розпізнавання мовлення, конспектування тексту, обробка природної мови, прогнозування часових рядів | Обробка природної мови, машинний переклад, розпізнавання мови, обробка зображень, обробка відео |
Проблема з довгостроковими залежностями в RNN
Повторювані нейронні мережі (RNN) призначені для обробки послідовних даних шляхом підтримки прихованого стану, який фіксує інформацію з попередніх часових кроків. Однак вони часто стикаються з проблемами у вивченні довгострокових залежностей, де інформація з віддалених часових кроків стає вирішальною для створення точних прогнозів. Ця проблема відома як проблема градієнта, що зникає, або проблема градієнта, що вибухає.
Нижче наведено декілька поширених проблем.
Зникаючий градієнт
Під час зворотного розповсюдження в часі градієнти можуть стати надзвичайно малими, оскільки вони множаться через ланцюжок повторюваних зв’язків, через що модель має труднощі з вивченням залежностей, які розділені багатьма часовими кроками.
Вибухаючий градієнт
І навпаки, градієнти можуть вибухнути під час зворотного поширення, що призведе до чисельної нестабільності та ускладнить конвергенцію моделі.
Різні варіанти тривалої короткочасної пам'яті
Згодом було запропоновано кілька варіантів і вдосконалень оригінальної архітектури LSTM.
Ванільний ЛСТМ
Це оригінальна архітектура LSTM, запропонована Hochreiter і Schmidhuber. Він включає комірки пам’яті з воротами введення, забуття та виведення для керування потоком інформації. Ключова ідея полягає в тому, щоб дозволити мережі вибірково оновлювати та забувати інформацію з комірки пам’яті.
Глазкові з'єднання
У лазок LSTM воротам дозволено переглядати стан комірки на додаток до прихованого стану. Це дозволяє шлюзам враховувати стан комірки під час прийняття рішень, надаючи більше контекстної інформації.
Закритий періодичний блок (GRU)
ГРУ є альтернативою LSTM, яка розроблена як простіша та ефективніша з точки зору обчислень. Він об’єднує ворота введення та пропуску в один шлюз оновлення та об’єднує стан комірки та прихований стан. Хоча GRU мають менше параметрів, ніж LSTM, на практиці було показано, що вони працюють однаково.
Висновок
Довга короткочасна пам’ять (LSTM) — це потужний тип рекурентної нейронної мережі (RNN), яка добре підходить для обробки послідовних даних із довгостроковими залежностями. Він вирішує проблему зникнення градієнта, загальне обмеження RNN, шляхом впровадження механізму стробування, який контролює потік інформації через мережу. Це дозволяє LSTM вивчати та зберігати інформацію з минулого, що робить їх ефективними для таких завдань, як машинний переклад, розпізнавання мови та обробка природної мови.
Також перевірте:
- Довга короткочасна пам’ять (LSTM) RNN у Tensorflow
- Генерація тексту з використанням повторюваної довгострокової мережі пам’яті
- Пояснення мереж довготривалої короткострокової пам’яті
Часті запитання (FAQ)
1. Що таке LSTM і для чого він використовується?
LSTM, або довготривала короткочасна пам’ять, є типом рекурентної нейронної мережі, призначеної для виконання послідовних завдань, яка чудово вловлює та використовує довгострокові залежності в даних.
2. Як працює LSTM?
LSTM використовують стан комірки для зберігання інформації про минулі введення. Цей стан комірки оновлюється на кожному кроці мережі, і мережа використовує його для прогнозування поточного введення. Стан комірки оновлюється за допомогою серії воріт, які контролюють, скільки інформації дозволено надходити в комірку та виходити з неї.
3. Які приклади LSTM?
Приклади LSTM (довгокороткочасної пам’яті) включають розпізнавання мовлення, машинний переклад і прогнозування часових рядів, що використовує його здатність фіксувати довготривалі залежності в послідовних даних.
4. Яка різниця між LSTM і Gated Recurrent Unit (GRU)?
LSTM має стан комірки та механізм стробування, який контролює потік інформації, тоді як GRU має простіший механізм оновлення з одним воротами. LSTM є потужнішим, але повільніше тренується, тоді як GRU є простішим і швидшим.
5. Яка різниця між LSTM і RNN?
- RNN мають просту рекурентну структуру з односпрямованим потоком інформації.
- LSTM мають механізм стробування, який контролює потік інформації та стан клітини для довготривалої пам’яті.
- LSTM загалом перевершують RNN у завданнях, які вимагають вивчення довгострокових залежностей.
6. LSTM швидший за CNN?
Ні, LSTM і CNN служать різним цілям. LSTM призначені для послідовних даних; CNN призначені для просторових даних.
7. LSTM швидший за GRU?
Загалом, так. GRU мають менше параметрів, що може призвести до швидшого навчання порівняно з LSTM.