- vừa được xem lúc

Paper reading | Neural News Recommendation with Multi-Head Self-Attention

0 0 24

Người đăng: Viblo AI

Theo Viblo Asia

1. Động lực

Các hệ thống gợi ý tin tức giúp cho người dùng tìm được những tin bài mà họ thật sự muốn quan tâm. Việc mô hình hóa chính xác các tin tức và thông tin user là rất cần thiết cho hệ thống gợi ý tin tức. Đặc biệt, nắm bắt được context của các từ và tin bài là ý tưởng chủ chốt để học được những biểu diễn của tin bài và user.

2. Đóng góp

Nhóm tác giả đề xuất cách tiếp cận mô hình hóa tin bài sử dụng multi-head self-attention (NRMS). Cốt lõi của cách tiếp cận này là sử dụng một news encoder và một user encoder. Ý tưởng như sau:

  • Trong news encoder, nhóm tác giả sử dụng multi-head self-attention để học các biểu diễn tin bài từ tiêu đề bằng cách mô hình hóa sự tương tác giữa các từ.

  • User encoder học biểu diễn của user thông qua các tin bài đã xem của họ và sử dụng multi-head self-attention để nắm bắt sự liên quan giữa các tin bài.

Bên cạnh đó, nhóm tác giả cũng sử dụng attention để học thêm nhiều thông tin hơn từ tin bài và biểu diễn của user bằng cách chọn các từ và tin bài quan trọng.

3. Phương pháp

3.1. News Encoder

Module news encoder được dùng để học biểu diễn của tin bài. Module này gồm 3 layer. Layer đầu tiên là word embedding được sử dụng để convert tiêu đề của tin bài từ một chuỗi các từ thành một chuỗi embedding vector thấp chiều (low-dimensional).

Layer thứ 2 là word-level multi-head self-attention network. Ta giả định rằng, sự tương tác giữa các từ trong tiêu đề là quan trọng cho việc học biểu diễn tin bài. Dựa vào quan sát rằng, các từ trong tiêu đề có mức độ quan trọng đối với nội dung tin bài khác nhau và một từ có thể tương tác với nhiều từ khác. Nhóm tác giả đề xuất sử dụng self-attention để học biểu diễn context của từ bằng cách capture sự tương tác giữa các từ này. Biểu diễn của từ ithi_{th} được học bởi attention head kthk_{th} được tính như sau:

trong đó Qkw\mathbf{Q}^w_kVkw\mathbf{V}^w_k là projection parameters trong self-attention head kthk_th. αi,jk\alpha^k_{i,j} biểu thị mức độ quan trọng tương đối của tương tác giữa từ thứ ii và từ thứ jj. Biểu diễn multi-head hiwh^w_i của từ thứ ii là concat của các biểu diễn self-attention head riêng biệt.

Lớp thứ 3 là một neural network additive attention để chọn các từ quan trọng trong news title để học các biểu diễn thông tin tin bài hiệu quả hơn. Trọng số attention αiw\alpha^w_i của từ thứ ii trong một new title được tính như sau:

Trong đó Vw\mathbf{V}_wvw\mathbf{v}_w là các projection parameter và qw\mathbf{q}_w là query vector. Biểu diễn cuối cùng của tiêu đề tin bài là tổng có trọng số của biểu diễn context word.

3.2. User Encoder

User encoder được dùng để học biểu diễn của user từ các tin bài mà họ đã xem. Dựa trên ý tưởng các tin bài người dùng xem có sự liên quan tới nhau. Nhóm tác giả đề xuất sử dụng multi-head self-attention để nâng cao khả năng biểu diễn tin bài bằng cách capture sự tương tác giữa chúng. Biểu diễn của tin bài ithi_{th} được học bởi attention head kthk_{th} được tính như sau:

trong đó Qkn\mathbf{Q}^n_kVkn\mathbf{V}^n_k là các tham số của các self-attention head tin bài. βi,jk\beta^k_{i,j} biểu diễn tương tác giữa tin bài jthj_{th}kthk_{th}.

Lớp tiếp theo là một mạng additive attention chọn tin bài quan trọng để học nhiều thông tin biểu diễn user hơn. Trọng số attention của tin bài ithi_{th} được tính như sau:

trong đó Vn,vn\mathbf{V}_n, \mathbf{v}_nqn\mathbf{q}_n là các tham số của mạng attention và NN là số tin bài đã xem. Biểu diễn cuối cùng của user được tính như sau:

3.3. Click Predictor

Click predictor module được sử dụng để dự đoán xác suất người dùng click vào một tin bài ứng cử viên. Xác xuất đó được tính bằng tích vô hướng của vector biểu diễn user và vector biểu diễn tin bài.

Nhóm tác giả cũng nghiên cứu các phương pháp scoring khác nhưng tích vô hướng vẫn hiệu quả và cho hiệu suất tốt nhất.

3.4. Model Training

Nhóm tác giải sử dụng kĩ thuật negative sampling để huấn liên model. Ý tưởng như sau:

  • Với mỗi tin bài được xem bởi user (positive sample), ta lấy ngẫu nhiên KK mẫu tin bài cũng được hiển thị cùng lúc nhưng user không click vào (negative sample).

  • Shuffle thứ tự tin bài để tránh positional biases (hiểu đơn giản là vị trí tin bài trên bảng tin ảnh hưởng rất nhiều đến việc user click vào xem). Công thức tính xác suất user click vào 1 postive sample được chuẩn hóa như sau:

Loss function sử dụng là negative log-likelihood của tất cả positive sample S\mathcal{S} được tính như sau:

4. Thực nghiệm

Nhóm tác giả thực nghiệm trên bộ dữ liệu thực tế với thống kê như sau

Kết quả thực nghiệm như sau, ta thấy kết quả của phương pháp sử dụng neural network tốt hơn các phương pháp truyền thống. Đặc biệt, phương pháp đề xuất NRMS tốt hơn các phương pháp còn lại.

Nhóm tác giả cũng thực hiện đo lường thời gian encoding với các method khác.

Nhóm tác giả thực hiện đó mức độ hiệu quả của việc áp dụng cơ chế attention vào method.

5. Kết luận

Ý tưởng của bài báo khá clear và đơn giản. Kiến trúc sử dụng chủ yếu cơ chế attention (cụ thể là self attention và additive attention) với các quan sát rất tự nhiên như: Các tin bài của cùng 1 người dùng có sự liên quan tới nhau, Các từ trong tiêu đề của tin bài có mức độ quan trọng và tương tác khác nhau,...

6. Tham khảo

[1] EMNLP2019-NRMS.pdf (wuch15.github.io)

[2] Recommender Systems: Machine Learning Metrics and Business Metrics - neptune.ai

[3] wuch15/EMNLP2019-NRMS: The source codes for the paper "Neural News Recommendation with Multi-Head Self-Attention". (github.com)

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tấn công và phòng thủ bậc nhất cực mạnh cho các mô hình học máy

tấn công bậc nhất cực mạnh = universal first-order adversary. Update: Bleeding edge của CleverHans đã lên từ 3.1.0 đến 4.

0 0 42

- vừa được xem lúc

[Deep Learning] Key Information Extraction from document using Graph Convolution Network - Bài toán trích rút thông tin từ hóa đơn với Graph Convolution Network

Các nội dung sẽ được đề cập trong bài blog lần này. . Tổng quan về GNN, GCN. Bài toán Key Information Extraction, trích rút thông tin trong văn bản từ ảnh.

0 0 219

- vừa được xem lúc

Trích xuất thông tin bảng biểu cực đơn giản với OpenCV

Trong thời điểm nhà nước đang thúc đẩy mạnh mẽ quá trình chuyển đổi số như hiện nay, Document Understanding nói chung cũng như Table Extraction nói riêng đang trở thành một trong những lĩnh vực được quan tâm phát triển và chú trọng hàng đầu. Vậy Table Extraction là gì? Document Understanding là cái

0 0 230

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 157

- vừa được xem lúc

[B5'] Smooth Adversarial Training

Đây là một bài trong series Báo khoa học trong vòng 5 phút. Được viết bởi Xie et. al, John Hopkins University, trong khi đang intern tại Google. Hiện vẫn là preprint do bị reject tại ICLR 2021.

0 0 45

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 139