Đây là tóm tắt bằng tiếng Anh đơn giản của một bài nghiên cứu có tên <a href=" A Hybrid Temporal-Aware Attention Architecture for Long Behavior Sequential Recommendation</a>. Nếu bạn thích những phân tích kiểu này, hãy tham gia <a href=" hoặc theo dõi chúng tôi trên <a href=" <h2>Thỏa hiệp không thể</h2> <p>Trong nhiều năm, bất kỳ ai xây dựng một hệ thống gợi ý đều phải đối mặt với một tình huống thực sự khó khăn. Các chuỗi hành vi của người dùng có thể kéo dài đến hàng nghìn hoặc hàng chục nghìn tương tác. Để hiểu được lịch sử đó, cần phải trả lời một câu hỏi đơn giản nhưng lừa đảo: dựa trên tất cả những gì người dùng đã làm trước đó, chúng ta nên gợi ý gì tiếp theo?</p> <p>Cách tiếp cận tiêu chuẩn sử dụng attention softmax, một cơ chế tính toán các so sánh chi tiết giữa thời điểm hiện tại và từng tương tác trong quá khứ. Về mặt toán học, nó rất thanh lịch. Nó hoạt động rất tốt. Nhưng chi phí tính toán tăng theo cấp số nhân với độ dài chuỗi. Ở 10.000 tương tác, bạn đang thực hiện khoảng 100 triệu so sánh chỉ để đưa ra một gợi ý. Nếu mở rộng điều đó cho hàng triệu người dùng và hàng nghìn gợi ý mỗi giây, chi phí cơ sở hạ tầng của bạn trở nên không thể chấp nhận được.</p> <p>Vì vậy, các nhà thực hành phải thỏa hiệp. Họ chuyển sang các cơ chế attention tuyến tính, giảm độ phức tạp tính toán từ cấp số nhân xuống cấp tuyến tính. Toán học rất thông minh, và tốc độ tăng lên là có thật. Vấn đề: tốc độ đó đi kèm với một cái giá. Những cơ chế này duy trì một "trạng thái" đang chạy được cập nhật với mỗi tương tác mới, nhưng trạng thái này có dung lượng hạn chế. Nó giống như một thủ thư chỉ có thể ghi lại những mẫu thô trên một bảng nhỏ thay vì tham khảo các hồ sơ đầy đủ. Bạn mất đi độ chính xác cần thiết để nhận ra các chuỗi hành vi cụ thể cho thấy ý định của người dùng.

Thỏa hiệp này đã định hình lĩnh vực. Các phương pháp hiệu quả hy sinh độ chính xác. Các phương pháp chính xác hy sinh tốc độ. Và những người dùng chịu thiệt thòi nhất là những người có chuỗi dài siêu, những người dùng mạnh và những người tham gia tích cực có hành vi thú vị nhất để học hỏi.

Các nhà nghiên cứu đứng sau HyTRec đã chứng kiến điều này diễn ra và đặt ra một câu hỏi khác: Liệu đây có thực sự là một vấn đề duy nhất cần một giải pháp duy nhất không?

Cách người dùng thực sự nghĩ

Nhận thức bắt đầu từ một quan sát đơn giản về cách mà sở thích của người dùng thực sự hoạt động. Bạn có hai loại tín hiệu sở thích khác nhau về cơ bản, và chúng hoạt động trên các thang thời gian hoàn toàn khác nhau.

Sở thích ổn định lâu dài của bạn đến từ lịch sử sâu sắc. Nếu bạn đã nhấp vào các thiết bị công nghệ 500 lần trong hai năm, đó là bằng chứng mạnh mẽ rằng bạn thích công nghệ. Sở thích này không thay đổi nhiều từ tuần này sang tuần khác. Quan trọng là, bạn không cần tất cả 500 tương tác đó để hiểu được mẫu. Bạn có thể học được điều tương tự từ 50 trong số đó, hoặc thậm chí từ một tóm tắt thống kê thô. Việc gần đúng về tín hiệu này không mất đi gần như gì cả.

Các đỉnh ý định ngắn hạn của bạn đến từ hành vi gần đây. Nếu bạn đã nhấp vào ba chiếc áo khoác mùa đông trong hai giờ qua, bạn đang mua sắm áo khoác ngay bây giờ. Tín hiệu này rất mong manh. Nó dễ bị bỏ lỡ nếu bạn đang trung bình với hàng nghìn tương tác khác từ nhiều tháng trước. Nhưng nó cực kỳ dự đoán những gì bạn sẽ làm trong năm phút tới.

Chúng không chỉ khác nhau về mức độ, mà còn khác nhau về bản chất. Một cái ổn định và có thể chịu đựng sự gần đúng. Cái còn lại thì không ổn định và yêu cầu độ chính xác. Tuy nhiên, các phương pháp hiện có cố gắng xử lý cả hai bằng một cơ chế attention duy nhất, không thể tránh khỏi việc tối ưu hóa cho một cái này với cái giá của cái kia.

Giải pháp lai

Động thái thanh lịch là ngừng cố gắng xây dựng một cơ chế làm mọi thứ. Thay vào đó, hãy chia công việc theo cách phản ánh cách mà người dùng thực sự duyệt.

Kiến trúc chạy hai con đường song song. Trong con đường đầu tiên, toàn bộ chuỗi lịch sử của bạn, ngay cả khi nó chứa 9.000 tương tác từ sáu tháng trước, đi qua một nhánh attention tuyến tính. Nhánh này không cần phải chính xác. Nó đang xây dựng một hiểu biết rộng về thể loại sở thích tổng thể của bạn. Bởi vì nó sử dụng attention tuyến tính, nó hoàn thành trong thời gian tỷ lệ với độ dài chuỗi, không phải độ dài chuỗi bình phương. Nó nhanh.

Trong con đường thứ hai, các tương tác gần đây của bạn, có thể 1.000 từ hai tuần qua, đi qua một nhánh attention softmax. Nhánh này có thể đủ khả năng tốn kém vì nó hoạt động trên một lát dữ liệu nhỏ. Nó tạo ra các đại diện chính xác về những gì bạn có thể muốn ngay bây giờ. Bạn đang thực hiện tính toán tốn kém, nhưng trên một cửa sổ nhỏ.

Mỗi nhánh tạo ra một đại diện của "chúng ta nên gợi ý gì." Sau đó, kiến trúc kết hợp chúng một cách thông minh. Bạn đã khôi phục độ chính xác của attention softmax trong khi duy trì tốc độ của attention tuyến tính, vì mỗi cái hiện đang hoạt động trong miền thích hợp của nó.


Khung của HyTRec

HyTRec chia sẻ các chuỗi hành vi dài của người dùng giữa hai cơ chế attention chuyên biệt, cho phép các sở thích ổn định và các đỉnh ý định gần đây được xử lý độc lập.

Đây không phải là một điều chỉnh nhỏ. Độ phức tạp tính toán vẫn là tuyến tính theo độ dài chuỗi trong khi hoạt động trên các chuỗi dài gấp 10 lần so với các phương pháp trước đó có thể xử lý hiệu quả. Nhưng có một cái bẫy đang ẩn mình trong kiến trúc.

Làm cho các tín hiệu gần đây có ý nghĩa

Thách thức với một hệ thống lai là nhánh attention tuyến tính đã thấy hàng nghìn tương tác. Nhánh softmax đã thấy hàng trăm. Bằng khối lượng thuần túy, tín hiệu của nhánh tuyến tính lớn hơn. Nhưng trong gợi ý, độ gần đây quan trọng hơn khối lượng. Một cú nhấp chuột từ hôm nay cho bạn biết nhiều hơn về những gì ai đó muốn hơn là một cú nhấp chuột từ sáu tháng trước.

Nếu bạn đối xử với cả hai nhánh như nhau, dữ liệu cũ sẽ làm chìm dữ liệu mới. Bạn đã giải quyết vấn đề tính toán nhưng tạo ra một vấn đề về khả năng phản hồi.

Giải pháp được gọi là Mạng Delta Nhận thức Thời gian, hay TADN. Cơ chế này làm một điều đơn giản: tăng trọng số các tín hiệu hành vi mới trong khi giảm thiểu tiếng ồn lịch sử.

Hãy tưởng tượng một cơ chế điều khiển hỏi mỗi phần của chuỗi: "Bạn bao nhiêu tuổi?" Các tương tác mới nhận được trọng số cao hơn. Các tương tác cũ nhận được trọng số thấp hơn. Điều này không xảy ra theo một lịch trình cố định, mà được học từ dữ liệu. Mạng phát hiện các mẫu như: "Đối với người dùng này, các mẫu hành vi thay đổi mỗi vài ngày, vì vậy các tương tác cũ hơn một tuần nên được trọng số ở mức một nửa sức mạnh."

Không có TADN, hệ thống lai sẽ đưa ra các gợi ý ngày càng cũ khi sở thích của người dùng thay đổi. Với nó, hệ thống vẫn nhạy cảm với sự thay đổi. Các tín hiệu gần đây tự nhiên có ảnh hưởng nhiều hơn đến các gợi ý, nhưng mạng học chính xác mức độ ảnh hưởng nào là hợp lý cho mỗi người dùng và loại tương tác.

Kết quả thực tế

Các nhà nghiên cứu đã thử nghiệm HyTRec trên các tập dữ liệu khổng lồ với các chuỗi hành vi người dùng thực sự kéo dài đến hàng chục nghìn tương tác mỗi người dùng. Đây không phải là dữ liệu học thuật sạch sẽ, mà là sự lộn xộn quy mô sản xuất.

Về tốc độ, kết quả là quan trọng. HyTRec duy trì độ phức tạp suy diễn tuyến tính. Gấp đôi độ dài chuỗi, và thời gian suy diễn tăng khoảng gấp đôi. Nó không gấp bốn lần như attention softmax. Ở các chuỗi dài 10.000, sự khác biệt này xác định liệu bạn có thể gợi ý trong 50 mili giây hay 5 giây. Trên một nền tảng phục vụ hàng triệu người dùng, sự khác biệt đó là ranh giới giữa khả thi và không thể.

...