Яке значення "Кількість одиниць у комірці LSTM"?


19

З коду Tensorflow : Tensorflow. RnnCell

num_units: int, The number of units in the LSTM cell.

Не можу відкинути, що це означає. Назвіть одиниці комірки LSTM. Вхідні, вихідні та забуті ворота? Чи означає це "кількість одиниць у шарі періодичного проектування для Deep LSTM". Тоді чому це називається "кількість одиниць у комірці LSTM"? Що таке клітинка LSTM і чим відрізняється блок VS LSTM, що є мінімальною одиницею LSTM, якщо не клітинка?



Якщо шар містить кілька паралельних одиниць LSTM, як він обробляє вхід x? випадок 1: h (1) = f (x) h (t) = f (h (t-1), x) h (t + 1) = f (h (t), x) випадок 2: h (1 ) = f (x) h (t) = h (t-1) Можливо, є інший випадок, як ResNet.
user1908842

Відповіді:


10

Як говорять корисні коментарі до цієї функції,

Визначення комірки в цьому пакеті відрізняється від визначення, яке використовується в літературі. У літературі клітина посилається на об’єкт з єдиним скалярним виходом. Визначення в цьому пакеті стосується горизонтального масиву таких одиниць.

По суті, шар буде містити кілька паралельних одиниць LSTM, структурно однакових, але кожен з часом «вчиться запам’ятовувати» щось інше.


1
Дякую :) Цей коментар було додано 7 днів тому після цього запитання. Після деякого копання я запитав команду Tensorflow в групі Google, чому вони визначають клітинку LSTM, що відрізняється від літератури LSTM cell .. і вони додали цей коментар :)
Brans Ds

7

Більшість діаграм LSTM / RNN просто показують приховані комірки, але ніколи одиниці цих комірок. Звідси плутанина. У кожному прихованому шарі є приховані клітинки стільки ж, скільки часу. А далі кожна прихована комірка складається з декількох прихованих одиниць, як на схемі нижче. Тому розмірність матриці прихованого шару в RNN становить (кількість часових кроків, кількість прихованих одиниць).

введіть тут опис зображення


1

У Керасі, який сидить поверх TensorFlow або Theano, коли ви телефонуєте model.add(LSTM(num_units)), num_units - це розмірність вихідного простору ( звідси , рядок 863). Для мене це означає num_unitsкількість прихованих одиниць, активації яких надсилаються вперед до наступного кроку.


0

Кількість одиниць у RNN - це кількість одиниць пам'яті RNN до кожного входу послідовності у вертикальному порядку, приєднаних один до одного, і кожен передає відфільтровану інформацію наступним одиницям пам'яті.

Пам'ятайте, ця концепція була натхненна концепцією інформатики про потік розподілу пам'яті на різні одиниці розміру бітів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.