Какая ось ввода RNN используется в качестве «временной» оси в Керасе? - PullRequest
1 голос
/ 11 марта 2020

При использовании SimpleRNN или LSTM для классических алгоритмов анализа настроений (применяется здесь к предложениям длиной <= 250 слов / токенов): </p>

model = Sequential()
model.add(Embedding(5000, 32, input_length=250))   # Output shape: (None, 250, 32)
model.add(SimpleRNN(100))                          # Output shape: (None, 100)
model.add(Dense(1, activation='sigmoid'))          # Output shape: (None, 1)

где указывается, какая ось ввода RNN используется в качестве «временной» оси?

Чтобы быть более точным, после слоя «Встраивание» данное входное предложение, например, «кот сидел на коврике», кодируется в матрицу х формы (250 , 32), где 250 - максимальная длина (в словах) входного текста, а 32 - размер вложения. Затем, где в Керасе указано, будет ли это использоваться:

h[t] = activation( W_h * x[:, t] + U_h * h[t-1] + b_h )

или это:

h[t] = activation( W_h * x[t, :] + U_h * h[t-1] + b_h )

(В обоих случаях y[t] = activation( W_y * h[t] + b_y ))

TL; DR: если вход для слоя RNN Keras имеет размер, скажем, (250, 32), какую ось он использует в качестве временной оси по умолчанию? Где это подробно описано в документации Keras или Tensorflow?

...