Когда вы смотрите на заголовок таблицы, вы видите заголовок Param
:
Layer (type) Output Shape Param
===============================================
simple_rnn_1 (SimpleRNN) (None, 10) 120
Это число представляет количество обучаемых параметров (весов и смещений) в соответствующем слое, в данном случае ваш SimpleRNN
.
Edit:
Формула для расчета весов выглядит следующим образом:
recurrent_weights + input_weights + смещения
* соответственно: (num_features + num_units) * num_units + num_units
Пояснение:
num_units = равно количеству единиц в RNN
num_features = равно количественным характеристикам вашего ввода
Теперь у вас есть две вещи, которые происходят в вашем RNN.
Сначала у вас есть рекуррентный цикл, где состояние периодически подается в модель для генерации следующего шага. Веса для повторяющегося шага:
recurrent_weights = num_units * num_units
Во-вторых, у вас есть новый ввод вашей последовательности на каждом шаге.
input_weights = num_features * num_units
(Обычно и последнее состояние RNN, и новый вход объединяются, а затем умножаются на одну матрицу весов, тем не менее входы и последнее состояние RNN используют разные веса)
Итак, теперь у нас есть весовые коэффициенты, не хватает смещений - для каждого смещения на одну единицу:
смещения = num_units * 1
Итак, наконец, у нас есть формула:
recurrent_weights + input_weights + смещения
или
num_units * num_units + num_features * num_units + смещения
=
(num_features + num_units) * num_units + смещения
В ваших случаях это означает, что обучаемыми параметрами являются:
10 * 10 + 1 * 10 + 10 = 120
Надеюсь, это понятно, если не сказать просто мне, поэтому я могу отредактировать его, чтобы сделать его более понятным.