Có, nó rất phổ biến để sử dụng cả hai thủ thuật. Họ giải quyết các vấn đề khác nhau và có thể làm việc tốt với nhau.
Một cách để suy nghĩ về nó là phân rã trọng lượng thay đổi chức năng đang được tối ưu hóa , trong khi động lượng thay đổi con đường bạn đi đến mức tối ưu .
Phân rã trọng lượng, bằng cách thu nhỏ các hệ số của bạn về 0, đảm bảo rằng bạn tìm thấy một tối ưu cục bộ với các tham số cường độ nhỏ. Điều này thường rất quan trọng để tránh quá mức (mặc dù các loại ràng buộc khác về trọng lượng cũng có thể hoạt động). Là một lợi ích phụ, nó cũng có thể làm cho mô hình dễ dàng tối ưu hóa hơn, bằng cách làm cho hàm mục tiêu trở nên lồi hơn.
Một khi bạn có một chức năng khách quan, bạn phải quyết định làm thế nào để di chuyển trên đó. Giảm dần rõ ràng trên gradient là cách tiếp cận đơn giản nhất, nhưng bạn đúng rằng biến động có thể là một vấn đề lớn. Thêm động lực giúp giải quyết vấn đề đó. Nếu bạn đang làm việc với các bản cập nhật hàng loạt (thường là một ý tưởng tồi với các mạng thần kinh) thì các bước kiểu Newton là một lựa chọn khác. Các cách tiếp cận "nóng" mới dựa trên độ dốc tăng tốc của Nesterov và cái gọi là tối ưu hóa "Hessian-Free".
Nhưng bất kể quy tắc cập nhật nào bạn sử dụng (động lượng, Newton, v.v.), bạn vẫn làm việc với cùng một hàm mục tiêu, được xác định bởi hàm lỗi của bạn (ví dụ: lỗi bình phương) và các ràng buộc khác (ví dụ phân rã trọng lượng) . Câu hỏi chính khi quyết định sử dụng loại nào trong số này là bạn sẽ nhanh chóng đạt được một mức tạ tốt như thế nào.