В частности, я не понимаю, что значит для слоя LSTM иметь (скажем) 50 ячеек. Рассмотрим следующий блок LSTM из этой замечательной записи в блоге:
Скажем, мой ввод 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 ячеек?