В частности, я смущен тем, что означает, что для слоя LSTM есть (скажем) 50 ячеек. Рассмотрим следующий LSTM блок из this awesome blog post:Как векторизовать LSTM?
Say мой вход xt
является (20,)
вектор и скрытый слой ht
является (50,)
вектор. Учитывая, что состояние ячейки Ct
подвергается только точечным операциям (по очкам tanh
и *
), прежде чем стать новым скрытым состоянием, я нахожу это Ct.shape = ht.shape = (50,)
. Теперь затворы затвора смотрят на вход, объединенный со скрытым слоем, который будет представлять собой вектор (20+50,) = (70,)
, что означает, что затвор-затвор должен иметь весовую матрицу формы (50, 70)
, такую как dot(W, [xt, ht]).shape = (50,)
.
Итак, мой вопрос в этом вопросе заключается в том, что я смотрю на блок LSTM с 50 ячейками, когда Ct.shape = (50,)
? Или я не понимаю, что значит для слоя LSTM иметь 50 ячеек?