Luyện tập với Softmax

Trang trước giải thích cách kết hợp lớp softmax vào sâu mạng nơron cho hệ thống đề xuất. Trang này xem xét kỹ hơn về dữ liệu huấn luyện cho hệ thống này.

Dữ liệu huấn luyện

Dữ liệu huấn luyện của softmax bao gồm các tính năng truy vấn \(x\) và vectơ của các mục mà người dùng đã tương tác (được biểu thị là phân phối xác suất \(p\)). Các đường liên kết này được đánh dấu bằng màu xanh dương trong hình bên dưới. Biến của mô hình là trọng số trong các lớp khác nhau. Các đường dẫn này được đánh dấu là màu cam trong phần sau hình. Mô hình này thường được huấn luyện bằng cách sử dụng bất kỳ biến thể nào của giảm độ dốc ngẫu nhiên.

Hình ảnh làm nổi bật quá trình huấn luyện mạng nơron sâu Sommax

Lấy mẫu phủ định

Vì hàm mất mát so sánh hai vectơ xác suất \(p, \hat p(x) \in \mathbb R^n\) (thông tin thực tế và đầu ra của mô hình, tính toán độ dốc của tổn thất (đối với một truy vấn \(x\)) có thể được rất tốn kém nếu kích thước tập sao lục \(n\) quá lớn.

Bạn có thể thiết lập hệ thống để chỉ tính toán độ dốc trên các mục dương (các mục hoạt động trong vectơ thông tin thực tế). Tuy nhiên, nếu hệ thống chỉ huấn luyện trên các cặp dương, nên mô hình có thể bị gập, như được giải thích bên dưới.

Gấp gọn
Hình ảnh một mặt phẳng đã được gập làm đôi cho thấy 3 nhóm hình vuông khác nhau đại diện cho các truy vấn và các hình tròn biểu thị các mục. Mỗi nhóm có một màu riêng và các truy vấn chỉ tương tác với các mục trong cùng một nhóm. Trong hình sau, giả sử rằng mỗi màu đại diện cho một danh mục truy vấn và mục. Chỉ mỗi truy vấn (được biểu thị dưới dạng hình vuông) chủ yếu tương tác với các mục (được biểu thị bằng một vòng tròn) có cùng màu. Ví dụ: coi mỗi danh mục là một ngôn ngữ khác nhau trên YouTube. Một người dùng thông thường sẽ tương tác chủ yếu với các video của một ngôn ngữ cụ thể.

Mô hình này có thể tìm hiểu cách đặt truy vấn/mục nhúng của một mục cụ thể màu tương đồng với nhau (nắm chính xác độ tương đồng trong màu đó color), nhưng các mục nhúng từ các màu khác nhau có thể lại ở cùng một khu vực của không gian nhúng vô cùng ngẫu nhiên. Hiện tượng này, đã biết dưới dạng gập, có thể dẫn đến các đề xuất giả: tại thời điểm truy vấn, mô hình đó có thể dự đoán không chính xác điểm cao cho một mặt hàng trên nhóm khác nhau.

Ví dụ phủ định là các mục có gắn nhãn "không liên quan" cho một truy vấn nhất định. Việc hiển thị các ví dụ phủ định cho mô hình trong quá trình huấn luyện sẽ giúp mô hình biết rằng các mục nhúng của các nhóm khác nhau nên được đẩy cách xa nhau.

Thay vì sử dụng tất cả các mục để tính toán độ dốc (có thể quá đắt đỏ) hoặc chỉ sử dụng các mục tích cực (khiến mô hình dễ bị gấp đôi), bạn có thể sử dụng lấy mẫu phủ định. Chính xác hơn, bạn tính toán độ dốc gần đúng, sử dụng các mục sau:

  • Tất cả các mục khẳng định (những mục xuất hiện trong nhãn mục tiêu)
  • Một mẫu gồm các mục phủ định (\(j\) trong \({1, …, n}\))

Có các chiến lược khác nhau để lấy mẫu phủ định:

  • Bạn có thể lấy mẫu thống nhất.
  • Bạn có thể đưa ra xác suất cao hơn cho các mục j có giá trị cao hơn điểm số \(\psi(x) . V_j\). Theo trực giác, đây là những ví dụ đóng góp nhiều nhất vào độ dốc); những ví dụ này thường có tên là phủ định cứng.

So sánh giữa quá trình phân tích ma trận và so sánh ưu tiên mềm

Các mô hình DNN giải quyết nhiều hạn chế của Phân tích ma trận, nhưng thường sẽ đắt đỏ hơn cho việc huấn luyện và truy vấn. Bảng dưới đây tóm tắt một số những điểm khác biệt quan trọng giữa hai mô hình.

Phân tích ma trận DNN của Softmax
Các tính năng truy vấn Không dễ đưa vào. Có thể được đưa vào.
Khởi động nguội Không dễ dàng xử lý những từ mất từ vựng truy vấn hoặc mục. Có thể sử dụng một số phương pháp phỏng đoán (ví dụ: cho truy vấn mới, số lượt nhúng trung bình của các truy vấn tương tự). Dễ dàng xử lý các truy vấn mới.
Gấp gọn Có thể dễ dàng giảm kích thước gập bằng cách điều chỉnh trọng số không quan sát được trong WALS. Hướng màn hình gập. Cần sử dụng các kỹ thuật như lấy mẫu âm hoặc trọng lực.
Khả năng mở rộng quy trình đào tạo Dễ dàng mở rộng thành quy mô rất lớn kho nội dung (có thể lên đến hàng trăm triệu sản phẩm hoặc nhiều hơn), nhưng chỉ khi ma trận đầu vào rất thưa thớt. Khó mở rộng quy mô lên rất lớn tập sao lục. Có thể sử dụng một số kỹ thuật, chẳng hạn như băm, lấy mẫu phủ định, v.v.
Khả năng mở rộng phân phát Nội dung nhúng U, V là video tĩnh, và một tập hợp các đề xuất có thể được tính toán trước và lưu trữ. Các mục nhúng mục V là tĩnh và có thể được lưu trữ.

Việc nhúng truy vấn thường cần phải được tính toán tại thời điểm truy vấn, điều này khiến mô hình trở nên tốn kém hơn để phân phát.

Tóm tắt:

  • Phân tích ma trận thường là lựa chọn tốt hơn cho khối liệu lớn. Dễ mở rộng quy mô hơn, dễ truy vấn hơn và khó bị gập lại.
  • Các mô hình DNN có thể nắm bắt tốt hơn các lựa chọn ưu tiên được cá nhân hoá, nhưng khó huấn luyện hơn và tốn kém hơn việc truy vấn. Nên ưu tiên mô hình doanh nghiệp dựa trên nền tảng kỹ thuật số phân tích ma trận để tính điểm vì các mô hình DNN có thể sử dụng nhiều tính năng hơn để nắm bắt tốt hơn mức độ liên quan. Ngoài ra, thông thường có thể gập lại đối với các mô hình DNN, vì bạn chủ yếu quan tâm đến xếp hạng một tập hợp các đề xuất đã lọc trước được giả định là có liên quan.