Кількість параметрів у моделі LSTM


43

Скільки параметрів має односкладений LSTM? Кількість параметрів накладає нижню межу на кількість необхідних прикладів тренувань, а також впливає на час навчання. Отже, знання кількості параметрів є корисним для навчальних моделей з використанням LSTM.

Відповіді:


29

LSTM має набір з 2 матриць: U і W для кожного з (3) воріт. (.) На діаграмі вказує множення цих матриць на вхід x і вихід h .

  • U має розміри n×m
  • W має розміри n×n
  • існує різний набір цих матриць для кожного з трьох воріт (як Uforget для ворота забуття тощо).
  • існує інший набір цих матриць для оновлення стану S комірки
  • поверх згаданих матриць потрібно порахувати упередження (не на малюнку)

Отже, загальна кількість параметрів = 4(nm+n2+n)

LSTM абстрактний блок


2
Я зіткнувся з цим питанням сам, приймаючи практичні рішення щодо оцінки вимог до обладнання та планування проектів для глибокого навчального проекту. PS: Я не відповів на власне запитання, щоб просто набрати бали репутації. Я хочу знати, чи відповідь моя відповідь правильна .
ваббіт

1
Ви проігнорували одиниці зміщення. Дивіться відповідь Адама Оудада нижче.
arun

1
Biases там немає. Я відредагував відповідь.
Ескахатор

21

mn

4(nm+n2)

Однак у випадку, якщо ваш LSTM включає вектори зміщення ( це наприклад за замовчуванням у керах ), число стає:

4(nm+n2+n)

2
Це єдина повна відповідь. Кожна інша відповідь з’являється вмістом, щоб ігнорувати випадок зміщення нейронів.
Відновіть Моніку

1
Щоб дати приклад конкретний, якщо ваш вхід має т = 25 розмірів , і ви використовувати LSTM шар з п = 100 одиниць, то числа Params = 4 * (100 * 25 + 100 ** 2 + 100) = 50400.
Arun

1
Припустимо, я використовую дані часових кроків, чи моє розуміння нижче правильне? n = 100: означає, що в кожному зразку я матиму 100 кроків часу (приклад), тому мені потрібно 100 одиниць. m = 25 означає на кожному кроці часу, у мене є 25 особливостей, таких як [вага, зріст, вік ...].
Жасон Чжан

2
@jasonzhang Кількість кроків часу не має значення, оскільки одна і та ж комірка LSTM буде застосована рекурсивно до вхідних векторів (по одному вектору на кожен часовий крок). те, що підручник називається "одиницями" - це також розмір кожного вихідного вектора, а не кількість часових кроків.
Адам Оудад

12

Відповідно до цього :

LSTM структура клітин

LSTM структура клітин

Рівняння LSTM

Рівняння LSTM

Внесення нелінійностей

Внесення нелінійностей

Якщо вхідний x_t має розмір N × 1, і є D осередки пам'яті, то розмір кожного з W * і U * є д × п і д × d відповідно. Розмір W тоді буде 4d × (n + d) . Зауважте, що кожна з комірок пам’яті dd має власні ваги W ∗ та U ∗ , і єдине значення значень комірок пам’яті, яке ділиться з іншими одиницями LSTM, відбувається під час виробу з U ∗ .

Дякуємо Арун Маллі за чудову презентацію.

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