Понимание количества параметров в Keras RNN и размера выходной формы в Keras Embedding, когда RNN и Embedding связаны друг с другом - PullRequest
1 голос
/ 13 июня 2019

У меня есть этот код Keras из некоторого видео на YouTube:

from keras.models import Sequential
from keras.layers import Embedding, SimpleRNN

model = Sequential()
model.add(Embedding(10000, 32))
model.add(SimpleRNN(32))
model.summary()

Вывод сводки такой:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
embedding_1 (Embedding)      (None, None, 32)          320000    
_________________________________________________________________
simple_rnn_1 (SimpleRNN)     (None, 32)                2080      
=================================================================
Total params: 322,080
Trainable params: 322,080
Non-trainable params: 

Сначала я не понимаю, почему количество параметров2080 в простом RNN.Далее я не понимаю, почему выходная форма из слоя внедрения (Нет, Нет, 32)

Ответы [ 2 ]

2 голосов
/ 13 июня 2019

Для вычисления количества параметров simpleRNN Количество параметров для Keras SimpleRNN

Для вашего второго вопроса, выходная форма слоя внедрения равна (batch_size, input_length, output_dim), так как вы не указалиаргумент input_length (длина входных последовательностей) слоя внедрения, он будет принимать значение по умолчанию, равное None (переменная).

Кроме того, поскольку блоки RNN выполняются на каждом временном шаге, вы можете добавить его в слой с переменным временным шагом.Однако, если вы хотите добавить Flatten, а затем плотные слои, которые принимают весь предыдущий слой в качестве входных данных, вы должны указать input_length в Embedded Layer

1 голос
/ 13 июня 2019

Каждый шаг по времени в SimpleRNN является выходным вложением.Размер внедрения составляет 32. В RNN есть две матрицы параметров U и W

S = f(UX + WS) + b

Поскольку форма X (Нет, 32), форма U равна 32, а форма S32. Наконец, форма смещения равна 1.

Таким образом, в слое RNN количество параметров равно (32+32+1)*32=2080.

...