Nếu bạn xem tài liệu http://keras.io/optimulators/, có một tham số trong SGD cho sự phân rã. Tôi biết điều này làm giảm tỷ lệ học tập theo thời gian. Tuy nhiên, tôi không thể tìm ra cách nó hoạt động chính xác. Đây có phải là một giá trị được nhân với tỷ lệ học tập như lr = lr * (1 - decay)
là theo cấp số nhân? Ngoài ra làm thế nào tôi có thể thấy tốc độ học tập mà mô hình của tôi đang sử dụng? Khi tôi in model.optimizer.lr.get_value()
sau khi chạy vừa vặn trong một vài epoch, nó sẽ trả lại tốc độ học ban đầu mặc dù tôi đã phân rã.
Ngoài ra, tôi phải đặt nesterov = True để sử dụng động lượng hoặc chỉ có hai loại động lượng khác nhau mà tôi có thể sử dụng. Ví dụ, có một điểm để làm điều nàysgd = SGD(lr = 0.1, decay = 1e-6, momentum = 0.9, nesterov = False)
self.iterations
đề cập đến số lượng các bước SGD riêng lẻ, không phải số lượng kỷ nguyên, gian lận?