Tôi đang cố gắng nắm bắt những gì TimeDistributed wrapper hiện trong Keras.Vai trò của lớp TimeDistributed trong Keras là gì?
Tôi nhận được rằng TimeDistributed "áp dụng một lớp cho mỗi lát thời gian của một đầu vào."
Nhưng tôi đã làm một số thử nghiệm và nhận được kết quả mà tôi không thể hiểu được.
Tóm lại, khi kết nối với lớp LSTM, lớp Thời gian phân phối và chỉ dày đặc có cùng kết quả.
model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add(TimeDistributed(Dense(1)))
print(model.output_shape)
model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add((Dense(1)))
print(model.output_shape)
Đối với cả hai mô hình, tôi có hình dạng đầu ra của (None, 10, 1).
Có ai có thể giải thích sự khác biệt giữa lớp TimeDistributed và Dense sau một lớp RNN không?
Hiện tại không có sự khác biệt, [ở đây] (https://github.com/fchollet/keras/issues/278) một cuộc thảo luận về nó. Tôi nghĩ ý định ban đầu là tạo ra sự phân biệt giữa lớp 'Dense' làm phẳng đầu vào và sau đó định hình lại, do đó kết nối các bước thời gian khác nhau và có nhiều tham số hơn, và 'TimeDistributed' giữ các bước thời gian tách biệt (do đó có ít tham số hơn). Trong trường hợp của bạn 'Dense' nên đã có 500 paramters,' TimeDistributed' chỉ 50 – gionni
@gionni Không, nó có cùng số tham số (cả 6). Vì vậy, hầu như không có sự khác biệt atm? –
Đúng vậy, đó là số tham số họ có nếu có sự khác biệt. Tại thời điểm này không có – gionni