ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA——————–
BÙI BÁ ANH
XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ DỰA TRÊNGRAPH NEURAL NETWORK
Chuyên ngành: KHOA HỌC MÁY TÍNHMã số: 8480101
LUẬN VĂN THẠC SĨ
Trang 2CÔNG TRÌNH ĐƯỢC HỒN THÀNH TẠITRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG-HCM
Cán bộ hướng dẫn khoa học:PGS.TS Quản Thành ThơCán bộ chấm nhận xét 1:PGS.TS Võ Thị Ngọc ChâuCán bộ chấm nhận xét 2:PGS.TS Đỗ Văn Nhơn
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM ngày 11 tháng 07 năm 2023.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, họchàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 Chủ tịch: TS Nguyễn Đức Dũng2 Thư ký: TS Trương Thị Thái Minh
3 Phản biện 1: PGS.TS Võ Thị Ngọc Châu4 Phản biện 2: PGS.TS Đỗ Văn Nhơn5 Ủy viên: TS Bùi Thanh Hùng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lýchuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNGTRƯỞNG KHOA KHOA HỌC VÀ
KỸ THUẬT MÁY TÍNH
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAMĐộc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: BÙI BÁ ANHMSHV: 2171059Ngày, tháng, năm sinh: 04/05/1999Nơi sinh: Đắc LắcChuyên ngành: Khoa học Máy tínhMã số : 8480101
I TÊN ĐỀ TÀI: XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ DỰA TRÊN GRAPHNEURAL NETWORK
(BUILDING RECOMMENDATION SYSTEM BASED ON GRAPH NEURALNETWORK)
II NHIỆM VỤ VÀ NỘI DUNG:
- Xây dựng Hệ thống khuyến nghị dựa trên việc biểu diễn các phiên hoạt động dướidạng đồ thị và sử dụng cơ chế học sâu.
- Nghiên cứu và đề xuất các phương pháp nhằm cải thiện độ chính xác của mơ hình.- Thực nghiệm và đánh giá kết quả của các phương pháp đề xuất.
III.NGÀY GIAO NHIỆM VỤ : 06/02/2023
IV.NGÀY HOÀN THÀNH NHIỆM VỤ: 09/06/2023V CÁN BỘ HƯỚNG DẪN: PGS.TS Quản Thành Thơ.
Tp HCM, ngày 09 tháng 06 năm 2023CÁN BỘ HƯỚNG DẪN(Họ tên và chữ ký)HỘI ĐỒNG NGÀNH(Họ tên và chữ ký)PGS.TS Quản Thành ThơTRƯỞNG KHOA
KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH
Trang 4LỜI CẢM ƠN
Để hoàn thành luận văn tốt nghiệp này, học viên đã nhận được sự hỗ trợtích cực từ rất nhiều phía Đầu tiên và quan trọng nhất, em xin gửi lời cảm
ơn chân thành đến giảng viên hướng dẫn trực tiếp của em, thầy PGS.TS.Quản Thành Thơ Thầy là người định hướng chính, cung cấp tài liệu cũng
như theo dõi quá trình thực hiện đề tài và hỗ trợ khi em gặp khó khăn Hơnhết thầy đã truyền cảm hứng cho em từ khi còn là sinh viên của Đại họcBách Khoa về niềm đam mê với học máy, học sâu, xử lí ngơn ngữ tự nhiênvà nhiều vấn đề khác trong Lĩnh vực Khoa học Máy tính.
Em xin được gửi lời cảm ơn đến thầy TS Nguyễn Tiến Thịnh, thầy đã
định hướng, hỗ trợ em từ giai đoạn Đề cương luận văn, cũng như đưa ranhững góp ý quý báu để em hoàn thiện hơn Luận văn tốt nghiệp này.
Em xin được tỏ lịng biết ơn sự tận tình dạy dỗ, giúp đỡ của quý thầy côtrong khoa Khoa học và Kỹ thuật Máy tính nói riêng cũng như trường Đạihọc Bách khoa TP Hồ Chí Minh nói chung Những kiến thức nhận được từquý thầy cô là vô cũng quý giá và bổ ích, hỗ trợ rất lớn cho em có thể hồnthành luận văn tốt nghiệp này.
Em cũng xin được gửi lời cảm ơn đến Trung tâm ứng dụng Khoa họcDữ liệu - Công ty cổ phần FPT đã tạo điều kiện cho em đào sâu nghiên cứunâng cao kiến thức chuyên môn cũng như hỗ trợ tài ngun để huấn luyệnmơ hình góp phần hồn thiện luận văn.
Cuối cùng, em muốn gửi lời cảm ơn đến gia đình, người thân, bạn bè,những người đã quan tâm, động viên, giúp đỡ cả về thể chất lẫn tinh thần đểem có đủ nghị lực, sức khỏe hồn thành tốt luận văn tốt nghiệp này.
Trang 5TÓM TẮT LUẬN VĂN
Bài toán khuyến nghị theo phiên là một nhánh của Bài tốn khuyến nghị nóichung, đã được nghiên cứu và ứng dụng trong thực tiễn từ nhiều năm trước.Trong những năm trở lại đây, bài toán này đã được quan tâm và trở nên phổbiến hơn do sự phát triển mạnh mẽ của các mơ hình học sâu có khả năng xửlý tốt tính tuần tự đã đạt được những thành tựu to lớn trong nhiều tác vụ củalĩnh vực Xử lý ngôn ngữ tự nhiên Một trong những hướng tiếp cận tốt nhất
cho đến hiện tại là mơ hình Graph Neural Network, bằng việc biểu diễn
Trang 6ABSTRACT OF DISSERTATION
Session-based recommendation is a specific type of recommendation prob-lem that has been widely studied and applied for a long time With the rapidadvancement of deep learning models, which are capable of processing se-quential data and achieving remarkable results in many natural languageprocessing tasks, this problem has attracted more attention and popularity
in recent research One of the most effective approaches so far is the GraphNeural Network model, which represents sessions as directed graphs and
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan đề tài luận văn tốt nghiệp: “XÂY DỰNG HỆ THỐNGKHUYẾN NGHỊ DỰA TRÊN GRAPH NEURAL NETWORK” là cơngtrình nghiên cứu của bản thân Những phần tài liệu được sử dụng trong luận
văn đã được nêu rõ trong phần Tài liệu tham khảo Các số liệu, kết quả trình
bày trong luận văn là hồn tồn trung thực, nếu có sai sót tơi xin chịu hoàntoàn trách nhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra.
Học viên
Trang 8Mục lục
Chương 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 Giới thiệu chung 1
1.2 Mơ tả Bài tốn khuyến nghị theo phiên 3
1.3 Mục tiêu và nhiệm vụ của luận văn 6
1.4 Giới hạn đề tài 7
1.5 Đóng góp của luận văn 7
1.6 Tóm tắt nội dung 8
Chương 2 CƠ SỞ LÝ THUYẾT 10
2.1 Tổng quan về Lý thuyết đồ thị 10
2.1.1 Định nghĩa và ví dụ về đồ thị 10
2.1.2 Các loại đồ thị đặc biệt 14
2.1.3 Biểu diễn đồ thị 15
2.2 Mô hình Artificial Neural Network - ANN 17
2.3 Mơ hình Graph Neural Network 20
2.3.1 Ví dụ mơ tả 20
2.3.2 Mơ hình Graph Neural Network 23
2.4 Cơ chế Self-Attention 24
Chương 3 CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN 28
3.1 Hướng tiếp cận cổ điển cho Bài tốn khuyến nghị nói chung
303.1.1 Khai phá luật kết hợp 30
3.1.2 K-Nearest Neighbour 30
3.1.3 Markov Chain 32
3.2 Hướng tiếp cận bằng biểu diễn đặc trưng ẩn 33
3.2.1 Phân tích ma trận thành nhân tử 33
Trang 93.3 Hướng tiếp cận bằng Học sâu 35
Chương 4 MƠ HÌNH ĐỀ XUẤT 39
4.1 Mơ hình tham khảo 39
4.2 Phương pháp đánh giá 43
4.3 Tập dữ liệu và phương pháp xử lý 44
4.4 Đề xuất 1: Đánh giá lại mức độ quan tâm dựa trên thời giantheo dõi 46
4.4.1 Động lực và ý tưởng 46
4.4.2 Mơ tả mơ hình 49
4.4.3 Tham số cấu hình của mơ hình 50
4.4.4 Kết quả thực nghiệm và thảo luận 51
4.5 Đề xuất 2: Xây dựng đặc trưng phiên hoạt động bằng Multi-Head Attention
534.5.1 Động lực và ý tưởng 53
4.5.2 Mô tả mơ hình 55
4.5.3 Tham số cấu hình của mơ hình 56
4.5.4 Kết quả thực nghiệm và thảo luận 57
Chương 5 KẾT LUẬN 59
5.1 Kết quả đạt được 59
5.2 Hạn chế và vấn đề tồn đọng 60
5.3 Hướng phát triển 60
Trang 10Danh sách hình vẽ
1.1 Minh họa ứng dụng hệ thống khuyến nghị đề xuất sản phẩmtương tự với một sản phẩm đã được lựa chọn trước trên nền
tảng Tiki 2
1.2 Minh họa tổng quát tương tác của người dùng trong mộtphiên hoạt động 3
1.3 Ví dụ minh họa một người dùng thực hiện nhiều loại tươngtác trong một phiên hoạt động 4
1.4 Ví dụ minh họa một người dùng thực hiện một loại tươngtác duy nhất trong một phiên hoạt động 5
1.5 Nhiệm vụ của Hệ thống khuyến nghị trong một phiên hoạtđộng của người dùng 5
2.1 Bài toán 7 cõy cu Kăonigsberg biu din di dng th 10
2.2 Đồ thị vô hướng và đồ thị có hướng 11
2.3 Đơn đồ thị và đa đồ thị 12
2.4 Biểu diễn ma trận kề cho đồ thị có hướng 16
2.5 Cấu trúc của một Perceptron 18
2.6 Các hàm phi tuyến được sử dụng trong Perceptron 19
2.7 Hình ảnh về đồ thị và các giá trị khởi tạo trong ví dụ mơ tả 20
2.8 Hình ảnh về đồ thị và các giá trị sau bước 1 trong ví dụ mơ tả 21
2.9 Hình ảnh về đồ thị và các giá trị sau bước 2 trong ví dụ mơ tả 22
2.10 Minh họa khối Scaled Dot-Product Attention 26
2.11 Minh họa các khối Multi-Head Self-Attention 27
Trang 113.2 Kiến trúc mơ hình Skip-gram và CBOW 353.3 Kiến trúc các mơ hình khuyến nghị tuần tự dựa trên học sâu 364.1 Kiến trúc mơ hình SRGNN 394.2 Biểu diễn các sản phẩm trong một phiên hoạt động dưới
dạng đa đồ thị có hướng và ma trận kề 404.3 Các mốc thời gian được sử dụng để xác định trọng số cho
từng sản phẩm 484.4 Các mốc thời gian được sử dụng để xác định trọng số cho
từng sản phẩm trong trường hợp sản phẩm được bấm chọn
nhiều lần 494.5 Kiến trúc của mơ hình đề xuất 1 504.6 Minh họa hoạt động của self-attention để xác định đặc trưng
của chuỗi sản phẩm 544.7 Đề xuất sử dụng Multi-Head Attention để xác định đặc trưng
Trang 12Danh sách bảng
4.1 Các thông số liên quan trên 3 tập dữ liệu Yoochose,
Digi-netica và Otto 454.2 Bảng giá trị các tham số cho mơ hình SRGNN kết hợp Đề
xuất 1 514.3 Kết quả thực nghiệm mơ hình đề xuất 1 so với mơ hình gốc
(SRGNN) 524.4 Bảng giá trị các tham số cho mơ hình SRGNN kết hợp Đề
xuất 2 564.5 Kết quả thực nghiệm mơ hình đề xuất 2 so với mơ hình gốc
Trang 13Chương 1
GIỚI THIỆU ĐỀ TÀI
1.1.Giới thiệu chung
Trong những năm gần đây, cùng với sự tiến bộ và phát triển nhanh chóngcủa khoa học và công nghệ, đặc biệt là sự ra đời của Internet, con người tiếpxúc nhiều và dần quen hơn với việc sử dụng các nền tảng trực tuyến trongcuộc sống hàng ngày Các kênh thương mại điện tử, trang mạng xã hội haycác dịch vụ truyền hình, tin tức xuất hiện ngày càng nhiều và dần trở thànhmột phần không thể thiếu trong cuộc sống của con người, giúp cho việc traođổi thông tin, mua bán và sử dụng dịch vụ trở nên nhanh chóng và hiệu quảhơn Dưới góc độ của nhà cung cấp dịch vụ, việc nắm bắt thị hiếu, thói quenvà sở thích của người dùng là vô cùng quan trọng, giúp họ biết được nhữngthứ mà người dùng đang thực sự cần để đề xuất, từ đó tối ưu hóa doanh thu,lợi ích mang lại từ khách hàng cũng như là giúp duy trì sự tin tưởng và yêuthích của họ đối với dịch vụ Ngược lại, dưới góc độ của người dùng khi sửdụng một nền tảng trực tuyến, sẽ có rất nhiều thơng tin được cung cấp vàcó thể khiến họ trở nên khó khăn khi tìm kiếm những thơng tin thực sự cần
thiết, nếu chúng không được tổ chức và đề xuất một cách hợp lý Hệ thốngkhuyến nghị(Recommendation System - RS) [1] ra đời như là một cách đểnhà cung cấp dịch vụ nắm bắt và trích lọc ra thơng tin về sở thích, nhu cầu
cũng như mối quan tâm của người dùng để từ đó đưa ra chiến lược đề xuấtthông tin, sản phẩm một cách hiệu quả nhất Một vài ví dụ phổ biến hiện
Trang 14nghị, khi mà chúng dựa trên những thông tin sử dụng của chính chúng ta đãcung cấp để đưa ra gợi ý cho phù hợp.
Hình 1.1: Minh họa ứng dụng hệ thống khuyến nghị đề xuất sản phẩmtương tự với một sản phẩm đã được lựa chọn trước trên nền tảng Tiki.vn
Tuy nhiên trong thực tế, hành vi tiêu dùng của con người lại phụ thuộcrất nhiều vào những nhu cầu của họ trong một khoảng thời gian ngắn nhưlà việc mua hàng trên các trang thương mại điện tử, ăn uống, mua sắm, du
lịch, giải trí Ví dụ minh hoạ như Hình 1.1, giả sử một người dùng đang có
nhu cầu mua một chiếc điện thoại mới, nhưng hệ thống lại đề xuất các sảnphẩm như máy giặt, điều hịa, thì sẽ khơng phù hợp với nhu cầu thực sựcủa họ tại thời điểm đó mà lúc này các sản phẩm được gợi ý phù hợp nênlà ốp lưng, cáp sạc, tai nghe Vì vậy, bên cạnh việc thu thập dữ liệu hànhvi người dùng và tổ chức lưu trữ phù hợp thì việc nghiên cứu làm sao khai
thác hiệu quả những hành vi tương tác của người dùng với sản phẩmtrong ngắn hạn và đặc điểm tuần tự của chúng là rất quan trọng Chủđề này còn được biết đến với tên gọi Bài toán Khuyến nghị theo phiên
(Session-based Recommender System - SBRS) [2, 3] là một nhánh của Bàitoán Khuyến nghị, đã ra đời từ rất lâu và nghiên cứu trong một thời giandài Tuy nhiên gần đây, chủ đề này trở nên phổ biến và được quan tâm nhiềuhơn do sự ra đời của những kiến trúc mơ hình có khả năng giải quyết các dữ
Trang 15lý ngôn ngữ tự nhiên(Natural Language Processing - NLP) Hay sự nổi lên
của Graph Neural Network (GNN) [6] hướng đến tổ chức dữ liệu dưới dạngđồ thị và sử dụng cơ chế Học sâu (Deep Learning - DL) [7] mang lại những
kết quả rất vượt trội trên nhiều dạng bài toán và dạng dữ liệu (dù GNN đã
ra đời từ rất lâu) Đó là lý do tôi chọn thực hiện đề tài “Xây dựng hệ thống
khuyến nghị dựa trên Graph Neural Network”, mà cụ thể hơn là Bài toán
khuyến nghị theo phiên, bằng việc biểu diễn các sản phẩm trong một phiênhoạt động dưới dạng đồ thị và áp dụng cơ chế học sâu, với mục tiêu khaithác đặc tính tuần tự ngắn hạn trong việc đưa ra gợi ý sản phẩm tới ngườidùng, từ đó giúp nâng cao chất lượng của kết quả gợi ý được đưa ra.
1.2.Mơ tả Bài tốn khuyến nghị theo phiên
Hình 1.2: Minh họa tổng quát tương tác của người dùng trong một phiênhoạt động.
Trước tiên, khi nhắc tới một phiên hoạt động (session) của người dùng,
hai đặc điểm quan trọng nhất cần quan tâm là tính ngắn hạn và tính tuầntự Ví dụ, khi một người dùng truy cập vào một trang thương mại điện tử,
Trang 16kiếm trong một phiên hoạt động thường có các đặc điểm tương quan nàođó, hoặc các sản phẩm được chọn sau có thể xuất phát từ việc quan sát cácsản phẩm trước đó và hành vi này có thể lặp lại ở nhiều người dùng Đó làbiểu hiện của tính tuần tự Các thành phần chính của một Hệ thống khuyến
nghị theo phiên bao gồm tập sản phẩm mà người dùng tương tác (items) và
hành vi tương tác của người dùng đối với sản phẩm (types) Hình 1.2 minh
họa một cách tổng quát hành vi của người dùng trong một phiên hoạt động.Trong đó:
− t1,t2, ,tm là loại hành vi mà người dùng có thể tương tác với sản phẩm
(ví dụ như chọn (click), mua (buy), chia sẻ (share), );
− i1, i2, , in là tập hợp các sản phẩm đang có trong hệ thống;
Trong thực tế, khi tham gia vào một phiên hoạt động, người dùng thực
hiện rất nhiều tương tác lên các sản phẩm (ví dụ như Hình 1.3).
Hình 1.3: Ví dụ minh họa một người dùng thực hiện nhiều loại tương táctrong một phiên hoạt động.
Tuy nhiên, trong phạm vi nghiên cứu và thực hiện luận văn tốt nghiệp
này, học viên sẽ tập trung vào một hành vi duy nhất của người dùng
trong xuyên suốt phiên hoạt động, cụ thể là tương tác chọn (click) (như
Hình 1.4) Giới hạn này giúp cho việc thiết lập dữ liệu huấn luyện đơn giản
Trang 17khảo và công trình nghiên cứu được đào sâu cho đến hiện tại trên bài toánkhuyến nghị theo phiên cũng được giới hạn theo cách này.
Hình 1.4: Ví dụ minh họa một người dùng thực hiện một loại tương tác duynhất trong một phiên hoạt động.
Khi đó, nhiệm vụ của Hệ thống khuyến nghị là đưa ra đề xuất cho sảnphẩm tiếp theo người dùng có khả năng sẽ bấm vào dựa trên các sản phẩmđã được lựa chọn trước đó trong cùng một phiên hoạt động (minh họa như
Hình 1.5).
Trang 181.3.Mục tiêu và nhiệm vụ của luận văn
Mục tiêu của luận văn hướng đến việc nghiên cứu và xây dựng Hệ thốngkhuyến nghị theo phiên sử dụng các phương pháp học sâu và mơ hình hóadữ liệu dưới dạng đồ thị Cụ thể:
– Nắm được Lý thuyết đồ thị Hiểu và sử dụng được các mơ hình họcsâu.
– Nắm được các phương pháp giải quyết cho Bài toán khuyến nghị, đặcbiệt là các phương pháp gần đây sử dụng các mơ hình học sâu và mơhình hóa dưới dạng đồ thị Từ đó chỉ ra được các ưu nhược điểm củatừng phương pháp.
– Đưa ra được đề xuất có thể cải thiện hiệu suất của mơ hình dựa trênthực nghiệm.
Từ những mục tiêu trên, học viên đề ra các nhiệm vụ cần thực hiện trongq trình hồn thiện luận văn:
– Tìm hiểu về Hệ thống khuyến nghị, đặc biệt là nhóm Bài tốn khuyếnnghị theo phiên, các cơng trình liên quan, các phương pháp giải quyếtbài tốn, ưu và nhược điểm của các phương pháp.
– Nghiên cứu và đề xuất các mơ hình giúp cải thiện độ chính xác choBài toán khuyến nghị theo phiên.
Trang 19– Thực nghiệm, đánh giá kết quả của các mơ hình đề xuất trên các tậpdữ liệu đã được xử lý trước đó.
– Chỉ ra những hạn chế và vấn đề tồn đọng, đề xuất các giải pháp cảitiến và mở rộng của bài toán trong tương lai.
1.4.Giới hạn đề tài
Xây dựng Hệ thống khuyến nghị là một bài tốn rộng và có nhiều tác vụcũng như nhiều cách tiếp cận khác nhau, vì vậy nội dung của luận văn sẽđược giới hạn như sau:
– Tập trung vào bài toán Xây dựng hệ thống khuyến nghị theo phiên, cụthể là dự đoán sản phẩm tiếp theo mà người dùng quan tâm Tươngtác của người dùng trong phiên hoạt động dựa trên một hành vi duynhất là bấm chọn (click) Thông tin về người dùng hoạt động trongphiên là ẩn danh (khơng xét đến các thuộc tính định danh và hành viở các phiên hoạt động trong quá khứ).
– Khảo sát trên 3 Tập dữ liệu là Yoochoose, Diginetica và Otto.
– Các phương pháp tiếp cận cho bài toán bao gồm các mơ hình học sâunhư GRU, Graph Neural Network, cơ chế Attention Mơ hình cơ sởđược sử dụng là SRGNN [8].
– Độ đo được sử dụng là Precision và Mean Reciprocal Rank.
1.5.Đóng góp của luận văn
Trang 20dụng cơ chế Graph Neural Network:
– Bổ sung thông tin về mức độ yêu thích của người dùng trên các sảnphẩm mà họ đã bấm chọn trong phiên hoạt động hiện tại, dựa trên thờigian xem sản phẩm và thời điểm tương tác, giúp kết quả đề xuất trởnên chính xác hơn.
– Thay thế cơ chế Attention trong mơ hình SRGNN bằng cơ chế Self-Attention (các khối Multi-Head Self-Self-Attention trong kiến trúc Trans-former) để tăng khả năng học của mơ hình.
1.6.Tóm tắt nội dung
Luận văn “Xây dựng hệ thống khuyến nghị dựa trên Graph Neural
Network”bao gồm Năm chương với các nội dung chính sau đây:
– Chương 1, GIỚI THIỆU ĐỀ TÀI: trình bày tổng quan về đề tài, lý
do thực hiện đề tài và ý nghĩa thực tiễn của bài toán, cũng như giớihạn và phạm vi của đề tài Cuối cùng là nhiệm vụ và cấu trúc của luậnvăn.
– Chương 2, CƠ SỞ LÝ THUYẾT: tổng hợp những vấn đề học thuật
liên quan nhất sẽ áp dụng để giải quyết bài toán, tập trung chủ yếuvào nội dung của học sâu, từ Mạng nơ ron nhân tạo (Artificial NeuralNetwork) tới Recurrent Neural Network, cơ chế attention và đặc biệtlà lý thuyết về Graph Neural Network.
– Chương 3, CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN:
Trang 21giải quyết bài toán Phần này cũng đưa ra những bàn luận và đánhgiá cho các phương pháp kể trên vì đó là cơ sở quan trọng cho nhữngnghiên cứu của học viên trong quá trình thực hiện luận văn.
– Chương 4, MƠ HÌNH ĐỀ XUẤT: giới thiệu mơ hình cơ sở cho Bài
toán khuyến nghị theo phiên Đồng thời đưa ra các cải tiến và động
lực cho các đề xuất đó Cuối cùng, học viên trình bày các bước tiếnhành thí nghiệm trên những tập dữ liệu khác nhau và đánh giá kết quảcủa những cải tiến so với mơ hình cơ sở.
– Chương 5, KẾT LUẬN: tổng hợp các kết quả đạt được trong quá
trình thực hiện luận văn từ bước nghiên cứu và xây dựng giả thuyếtđến triển khai thực nghiệm Phần này cũng trình bày những hạn chếvà vấn đề tồn đọng, cuối cùng đề xuất các giải pháp cải tiến trongtương lai.
Trang 22Chương 2
CƠ SỞ LÝ THUYẾT
2.1.Tổng quan về Lý thuyết đồ thị
2.1.1.Định nghĩa và ví dụ về đồ thị
Lý thuyết đồ thị được xem như một lĩnh vực của toán học rời rạc, đượcphát triển từ rất lâu và có nhiều ứng dụng trong khoa học cũng như thực tiễn,
đặc biệt là đối với các ngành toán học và khoa học máy tính Hình 2.1 minh
họa Bài tốn 7 cây cầu1 dưới dạng đồ thị.
Hình 2.1: Bài tốn 7 cây cu Kăonigsberg biu din di dng th
nh ngha: Mt đồ thị được biểu diễn dưới dạng G = (V, E), trong đó
V, E là hai tập hợp hữu hạn, với V là tập hợp các đỉnh (vertex) của đồ thị, E
là tập hợp các cạnh (edge) Một cạnh e của đồ thị được hình thành từ sự liên
kết hai đỉnh u, v thuộc đồ thị, thường được viết e = (u, v) Khi này ta nói, u, vlà hai mút của cạnh e và e là cạnh nối u với v.
Trang 23trong đồ thị biểu diễn một quan hệ hai ngôi giữa các đối tượng này Nếu vaitrò của hai đầu mút u, v đối với cạnh e là như nhau, tức là không kể đến thứtự của chúng trong việc biểu diễn cạnh, ta gọi đó là cạnh vơ hướng Ngượclại, việc biểu diễn e cần kể đến thứ tự trước sau của u, v, khi này e là cạnh
có hướng, trong đó u (giả sử) là đỉnh đầu, v là đỉnh cuối của cạnh e Trong
biểu diễn e = (u, v) đối với cạnh có hướng, ta nói e là cạnh nối từ u đến v.Ngoài ra, trong định nghĩa cạnh, nếu một cạnh được nối bởi một đỉnh đến
chính nó, hay e = (u, u), e được gọi là khuyên.
Dưới đây là phân loại một số dạng đồ thị:
− Đồ thị vô hướng và đồ thị có hướng: Một đồ thị mà tất cả các cạnh
của nó là vơ hướng được gọi là đồ thị vơ hướng (Hình 2.2a), ngược làlà đồ thị có hướng (Hình 2.2b) Nếu bỏ đi hướng trên tất cả các cạnh
có hướng, một đồ thị có hướng sẽ trở thành đồ thị vơ hướng.
Hình 2.2: Đồ thị vơ hướng và đồ thị có hướng
− Đơn đồ thị và đa đồ thị: Một đồ thị khơng có khun và giữa hai đỉnh
chỉ có nhiều nhất là một cạnh nối được gọi là một đơn đồ thị (Hình
2.3a) Các đồ thị có khuyên hay có nhiều hơn một cạnh nối giữa hai
đỉnh được gọi là các đa đồ thị (Hình 2.3b).
Trang 24Hình 2.3: Đơn đồ thị và đa đồ thị
cho một số thực nào đó, ta gọi đó là đồ thị có trọng số Nếu khơng nói
gì thêm, ta xem như đồ thị khơng có trọng số (trọng số trên tất cả cáccạnh là bằng nhau).
Một số khái niệm khác trong đồ thị:
− Kề: Đỉnh v được gọi là kề với u nếu có cạnh nối từ u đến v trên một
cạnh có hướng Nếu đó là cạnh vơ hướng, ta nói u, v kề nhau.
− Liên thuộc: Nếu đỉnh u là một trong hai mút của cạnh e, khi này ta
nói đỉnh u liên thuộc cạnh e.
− Bậc của đỉnh: Trong đồ thị vô hướng, bậc của đỉnh u là tổng số cạnh
liên thuộc với nó, kí hiệu là deg(u) Trong đồ thị có hướng, người taquan tâm đến cả cạnh ra, vào tại một đỉnh, vì vậy khái niệm bậc được
thay thế bằng nửa bậc, bao gồm nửa bậc vào, kí hiệu deg−(u), là số
cạnh đi vào u, và nửa bậc ra, kí hiệu deg+(u), là số cạnh đi ra từ u.
Nếu một đỉnh có bậc (hoặc nửa bậc vào, ra) bằng 0, ta gọi đó là đỉnh
treo Từ những khái niệm về bậc nói trên, ta có Định lý bắt tay.
Trang 25tất cả các đỉnh trong đồ thị bằng 2 lần số cạnh:
∑
u∈V
deg(u) = 2|E| (2.1)
Nếu đồ thị được cho là có hướng, tổng của nửa bậc vào và tổng củanửa bậc ra bằng nhau và cùng bằng số cạnh trong đồ thị:
∑
u∈V
deg+(u) = ∑
u∈V
deg−(u) = |E| (2.2)
− Đường đi: là một dãy các cạnh kề nhau (cạnh sau kề cạnh trước), xuất
phát từ đỉnh s và kết thúc tại đỉnh t Đường đi có thể là vơ hướng hoặc
có hướng Số cạnh trên đường đi được gọi là độ dài của đường đi.
− Chu trình: là một đường đi khơng có cạnh lặp lại và đỉnh đầu trùng
với đỉnh cuối Tương tự như đường đi, chu trình có thể có hướng hoặcvơ hướng Một chu trình khơng có đỉnh lặp (trừ đỉnh đầu, đỉnh cuối
trùng nhau) được gọi là một chu trình đơn.
− Đồ thị con: Đồ thị con của một đồ thị G là một đồ thị nhận được từ G
bằng cách bỏ đi một số cạnh và một số đỉnh (cùng với các cạnh liênquan đến những đỉnh này) Khi đó, đồ thị con G′ = (V′, E′), trong đóV′ ⊆ V và E′ ⊆ E.
− Liên thông: Một đồ thị vô hướng được gọi là liên thông nếu giữa hai
đỉnh bất kỳ đều tồn tại một đường đi nào đó giữa hai đỉnh này là điểmbắt đầu và kết thúc Trong đồ thị có hướng, nếu ta không quan tâmđến hướng của cạnh, và đồ thị vô hướng thu được là liên thông, ta nói
Trang 26Trong đời sống, chúng ta bắt gặp nhiều hình ảnh có thể mơ tả được dướidạng đồ thị Ví dụ như một mạng máy tính gồm nhiều trung tâm máy đượckết nối với nhau để chia sẻ thông tin, lúc này mỗi trung tâm được xem nhưmột đỉnh trong đồ thị, giữa hai trung tâm có hình thành kênh thoại sẽ tạothành một cạnh Vì kênh thoại như là một cách trao đổi thông tin nên sẽ cóhai chiều, dẫn đến đồ thị được xây dựng từ cách biểu diễn trên là một đa đồthị có hướng (vì tồn tại khun, một trung tâm có thể có kênh trao đổi trongchính nó) Một ví dụ khác là hệ thống mạng giao thông khi mà mỗi nút giaothông được xem như một đỉnh, và đoạn đường nối hai nút giao thơng có thểxem như một cạnh.
2.1.2.Các loại đồ thị đặc biệt
Một số đồ thị đặc biệt thường gặp:
− Đồ thị đầy đủ: là đồ thị đơn vơ hướng mà giữa hai đỉnh bất kì của nó
ln có cạnh nối Như vậy số cạnh của đồ thị đầy đủ gồm n đỉnh làn(n − 1)
2 và được kí hiệu là Kn
− Đồ thị vịng: là đơn đồ thị vơ hướng và tồn tại một chu trình đơn đi
qua tất cả các đỉnh và các cạnh của nó Số cạnh trong một đồ thị vòngn đỉnh cũng bằng n và được kí hiệu là Cn Ngồi ra có thể thấy, bậccủa mỗi đinh trong đồ thị vòng đều bằng 2.
− Đồ thị bánh xe: được định nghĩa là khi ta thêm một đỉnh và n cạnh từ
đỉnh đó đến tất cả các đỉnh khác trong đồ thị vòng Cn, ta thu được đồthị bánh xe Wn Số cạnh trong đồ thị bánh xe Wn là 2n.
Trang 27chỉ nếu tên của chúng chỉ khác nhau đúng một bit Đồ thị lập phươngnhư vậy được kí hiệu là Qn, bao gồm n × 2n−1 đỉnh.
− Đồ thị phẳng: Một đồ thị được gọi là phẳng nếu có thể vẽ nó trên mặt
phẳng sao cho khơng có cạnh nào cắt nhau trừ tại đỉnh.
− Đồ thị hai phía: là một đơn đồ thị vơ hướng có thể phân hoạch tập
đỉnh thành hai lớp sao cho chỉ có các cạnh nối đỉnh của lớp này vớiđỉnh của lớp kia (nghĩa là khơng có cạnh nối hai đỉnh của cùng một
lớp) Một đồ thị được gọi là đồ thị hai phía đầy đủ nếu nó là đồ thị
hai phía và mỗi đỉnh thuộc tập đỉnh thứ nhất có cạnh nối đến tất cảcác định của tập đỉnh thứ hai, và được kí hiệu là Km,n (m, n là số lượngđỉnh ở mỗi tập)
2.1.3.Biểu diễn đồ thị
Có nhiều cách biểu diễn đồ thị, để thuận tiện cho việc lưu trữ và tínhtốn trên máy tính, ba cách biểu diễn thường gặp nhất của đồ thị:
1 Ma trận kề: trong cách biểu diễn này, các đỉnh của đồ thị được đánh
số lần lượt từ 1 đến n (với n là số đỉnh của đồ thị) Ta xây dựng matrận vuông n hàng và n cột thỏa mãn: giá trị ở hàng thứ i và cột thứj bằng 1 nếu có cạnh nối từ i đến j trong đồ thị có hướng hoặc cạnhnối i và j trong đồ thị vô hướng, ngược lại giá trị được điền là 0 Ma
trận như vậy gọi là ma trận kề biểu diễn cho đồ thị (Hình 2.4) Có
Trang 280 lớn hơn rất nhiều so với giá trị 1), cách biểu diễn này gây ra sự dưthừa về mặt tài nguyên.
Hình 2.4: Biểu diễn ma trận kề cho đồ thị có hướng
2 Danh sách cạnh: trong cách biểu diễn danh sách cạnh, mỗi cạnh
được kí hiệu bởi tên hai đỉnh liên thuộc với nó (có thứ tự đối với cạnhcó hướng) Các cạnh này được thêm vào một danh sách theo một thứtự nào đó Ví dụ tập hợp cạnh của đồ thị G là {AB, BC,CD}, như vậyđồ thị G có ít nhất 4 đỉnh và có 3 cạnh Có thể thấy cách biểu diễnnày khắc phục được nhược điểm của phương pháp biểu diễn ma trậnkề bởi nó là phép liệt kê các cạnh thực sự đang có trong đồ thị, tuynhiên đổi lại việc tính tốn trên các cạnh sẽ mất nhiều thời gian hơn,bởi mỗi lần truy vấn cạnh, ta đều phải duyệt lại danh sách.
3 Danh sách kề: với mỗi đỉnh u của đơn đồ thị G, ta xác định các đỉnh
Trang 29trữ, đảm bảo các thao tác truy xuất không mất nhiều thời gian, đặcbiệt phù hợp với đồ thị có nhiều đỉnh nhưng ít cạnh.
2.2.Mơ hình Artificial Neural Network - ANN
Mơ hình Artificial Neural Network - ANN (Mạng nơ-ron nhân tạo) [9]là mơ hình tính tốn được xây dựng lấy ý tưởng từ cấu trúc và cách hoạtđộng của mạng nơ-ron thần kinh trong não người nhằm thực hiện một tácvụ nào đó với tập thơng tin đầu vào Một mạng nơ-ron thần kinh được tạonên từ nhiều nơ-ron sinh học kết nối và hoạt động cùng nhau Chúng hoạt
động bằng cách tiếp nhận các thông tin đưa vào từ các đi gai (dendrite),tính tốn và tổng hợp tại thân nơ-ron (cell body), sau đó lan truyền kết quảđến các nơ-ron khác thơng qua sợi trục (axon) Có thể dễ dàng rút ra nhận
xét rằng nơ-ron sinh học nhận nhiều thông tin đầu vào nhưng chỉ đưa ramột kết quả duy nhất thơng qua q trình xử lý trung gian phức tạp.
Tương tự như cách thức hoạt động nêu trên của mạng nơ-ron thần kinh,ANN cũng được cấu thành từ nhiều nơ-ron được gọi là perceptron có cấu
trúc như Hình 2.5 Trong đó:
– x1, x2, x3, , xn lần lượt là các biến đại diện cho dữ liệu đầu vào.
– phép cộng (summation) và hàm kích hoạt (activation function) là các
phép tính tốn và tổng hợp các thơng tin dữ liệu đầu vào.
– w1, w2, w3, , wn là các trọng số cần phải học, đóng vai trị tham giaq trình tính tốn và chuyển đổi các thơng tin đầu vào thành thơngtin đầu ra.
Trang 30Hình 2.5: Cấu trúc của một Perceptron
Cụ thể hơn, phương thức tính tốn và tổng hợp dữ liệu của một percep-tron được mô tả theo từng bước sau:
1 Perceptron thực hiện phép cộng bằng cách tính tổng giá trị tất cả cáctích số của từng cặp dữ liệu đầu vào và giá trị trọng số tương ứng:
a=n
∑
i=1
wixi+ w0 (2.3)
2 Kết quả a của phép cộng được đưa qua một hàm kích hoạt phi tuyến
như Sigmoid, Tanh, ReLU, LeakyReLU được minh họa ở Hình 2.6.
3 Sau đó, perceptron thực hiện phép so sánh giá trị nhận được từ hàm
kích hoạt f(a) với một giá trị ngưỡng (threshold) cho trước nhằm xác
định giá trị đầu ra ˆynhư là tín hiệu kích hoạt của perceptron.
Trang 31Hình 2.6: Các hàm phi tuyến được sử dụng trong Perceptron
Bằng cách kết hợp nhiều perceptron với nhau sẽ tạo nên cấu trúc mơhình mạng ANN Mạng ANN bao gồm nhiều perceptron như là các nútmạng tính tốn làm tăng tính phức tạp cũng như khả năng học cho mạng,các perceptron đó hình thành nên các tầng như sau:
– Tầng đầu vào (input layer): là tầng đầu tiên, thể hiện các dữ liệu đầu
vào của mơ hình.
– Tầng ẩn (hidden layer): là tầng nằm giữa gồm các phép tính tốn
nhằm chuyển đổi dữ liệu đầu vào sang dữ liệu đầu ra.
– Tầng kết quả (output layer): là tầng cuối cùng thể hiện dữ liệu đầu ra
của mạng.
Số lượng tầng ẩn trong mơ hình ANN là không giới hạn và được xácđịnh tùy thuộc vào bài toán cần giải quyết Đặc biệt, khi số lượng tầng ẩn
Trang 322.3.Mơ hình Graph Neural Network2.3.1.Ví dụ mô tả
Ý tưởng của Graph Neural Network (GNN) [10] đã xuất hiện từ rất lâutrước đó nhưng nó trở nên phổ biến hơn từ khoảng năm 2009 đến nay Cơ chế
hoạt động chính trong một GNN là truyền thơng điệp (Message Passing), ví
dụ sau đây phần nào đó mơ tả cách thức hoạt động của nó.
Giả sử ta có một đồ thị gồm 6 đỉnh lần lượt là A, B,C, D, E và F, mỗi
đỉnh mang một giá trị khởi tạo ban đầu (như Hình 2.7), có thể mang một
ý nghĩa nào đó (ví dụ như số tiền trung bình trong một giao dịch của từngkhách hàng hay số lượng bạn bè của mỗi user trên mạng xã hội) Để đơngiản, các giá trị được chọn là các số vơ hướng thay vì các vector đặc trưng.Trong ví dụ này, chúng ta sẽ đi cập nhât lại các giá trị cho mỗi đỉnh theo cácquy tắc cho trước.
Hình 2.7: Hình ảnh về đồ thị và các giá trị khởi tạo trong ví dụ mơ tả
Trang 33cộng tất cả các đỉnh đang kề với nó (và cả chính nó) Ta thu được:A= A+ B +C + D4 =0.1 + 0.3 + 0.4 + 0.24 = 0.25B= A+ B +C3 =0.1 + 0.3 + 0.43 = 0.26
Tương tự như vậy với các đỉnh còn lại, ta thu được kết quả như Hình2.8:
Hình 2.8: Hình ảnh về đồ thị và các giá trị sau bước 1 trong ví dụ mô tả
− Bước 2: Với mỗi đỉnh, thực hiện tương tự như bước 1, khác biệt duy
nhất nằm ở các giá trị được tính tốn là các giá trị vừa được cập nhậttừ bước 1 thay vì các giá trị khởi tạo Từ đó ta thu được kết quả như
Hình 2.9:
Trang 34Hình 2.9: Hình ảnh về đồ thị và các giá trị sau bước 2 trong ví dụ mơ tả
– Ở cả bước 1 và bước 2, giá trị của mỗi đỉnh đều phụ thuộc vào giá trịcủa các đỉnh lân cận Đây chính là nội dung của cơ chế truyền thôngđiệp, khi mà đặc trưng của mỗi đỉnh là sự tổng hợp đặc trưng của cácđỉnh xung quanh nó.
– Chỉ sau hai bước cập nhật, ta có thể thấy rằng giá trị của các đỉnh kềnhau đang tiến sát lại gần nhau, đây là kết quả của cơ chế truyền thơngđiệp nói trên Điều này mang ý nghĩa rất quan trọng, bởi trong nhiềutrường hợp, các đỉnh liền kề nhau thường mang các tính chất tương tựnhau.
Trang 35trong đồ thị Trong thực tế, có nhiều tình huống những thơng tin ở xanày là quan trọng, ví dụ như việc hai người (hai đỉnh) có một ngườibạn chung (cùng kề với một đỉnh) thì xác xuất họ quen nhau cũng khácao.
2.3.2.Mơ hình Graph Neural Network
Kiến trúc mơ hình Graph Neural Network (Gori, 2005; Scarselli, 2009)
được định nghĩa dưới dạng một đồ thị G = (V, E) với V, E lần lượt là tập đỉnhvà tập cạnh của đồ thị Đỉnh v thuộc đồ thị được đánh thứ tự từ 1, 2, , |V |,một cạnh của đồ thị là một cặp e = (v, v′) ∈ V ×V Chú ý rằng ở đây xét đến
cả đồ thị có hướng, tức là (v, v′) thể hiện một cạnh có hướng từ v → v′ Vectorđặc trưng của một đỉnh v biểu diễn bởi hv∈ RD Ngoài ra, các đỉnh trong đồthị có thể được đánh nhãn (label) bằng các giá trị thuộc tập lv ∈ {1, , LV}và tương tự các cạnh cũng có thể được đánh nhãn le ∈ {1, , LE} Tiếp tụcđịnh nghĩa IN(v) = {v′|(v′, v) ∈ E} là tập tất cả các đỉnh có cạnh đi vào v,OUT(v) = {v′|(v, v′) ∈ E} là tập tất cả các đỉnh có cạnh đi ra từ v và đặtNBR(v) = IN(v) ∪ OUT(v) Tập hợp tất cả các cạnh đi vào hoặc đi ra từ v làCo(v) = {(v′, v′′) ∈ E|v = v′∨ v = v′′}.
Giá trị khởi tạo cho vector đặc trưng h(1)v có thể là bất kì Thủ tục để xácđịnh giá trị cho vector đặc trưng của đỉnh v tại thời điểm t, h(t)v được cho bởicông thức:
Trang 36thức (2.5) được cho bởi:f∗(lv, lCo(v), lNBR(v), h(t)NBR(v)) = ∑v′∈IN(v)f(lv, l(v′,v), lv′, h(t−1)v′ )+ ∑v′∈OUT(v)f(lv, l(v,v′), lv′, h(t−1)v′ )(2.6)
Trong nhiều trường hợp, các yếu tố nhãn tại đỉnh và cạnh sẽ bị lược bỏ,lúc này đặc trưng của một đỉnh sẽ chỉ phụ thuộc vào đặc trưng của nó và cácđỉnh kề tại thời điểm trong quá khứ Khi này, cách xác định đặc trưng củamột đỉnh tại một thời điểm có thể viết đơn giản như sau:
h(t)v = accum2(h(t−1)v , accum1(h(t−1)NBR(v))) (2.7)Trong đó, accum1, accum2 là các hàm tổng hợp tùy biến, có thể là hàm
stack(.) - xếp các vector theo chiều dài hay sum(.) - tính tổng các vector
này lại để tạo ra vector mới có cùng kích thước hoặc thậm chí chúng có thể
là các mạng nơ-ron hồi quy như GRU, LSTM Vai trò của accum1 là tổnghợp các vector đặc trưng từ các đỉnh liên thuộc với đỉnh đang xét, accum2sẽ tổng hợp đặc trưng từ accum1 và đặc trưng của đỉnh đang xét ở thời điểmtrước đó Với cách mô tả như trên, GNN thực sự mang lại những lợi ích vượtbậc trong việc tổng hợp đặc trưng và mã hóa các đỉnh khi mà q trình tổnghợp có thể mang theo thơng tin về khơng gian (các đỉnh lân cận) và thời gian(đặc trưng tại thời điểm cũ).
2.4.Cơ chế Self-Attention
Trang 37(machine translation) Sau đó, vào năm 2017, Vaswani và nhóm tác giả đãcông bố bài báo “Attention Is All You Need” [5] mà trong đó self-attentionlà cấu trúc cốt lõi tạo nên mơ hình Transformer Cả hai bài báo này đã thựcsự gây được tiếng vang rất lớn trong cộng đồng các nhà nghiên cứu về cácmơ hình học máy Ý tưởng đặc biệt đằng sau cơ chế này là nó có khả năngghi nhớ và chú ý vào một phần nào đó của dữ liệu đầu vào Với một chuỗicác phần tử, cơ chế self-attention sẽ ước lượng mức độ liên quan tới nhaucủa một phần tử so với tất cả các phần tử cịn lại, nói cách khác self-attentiondùng để tính trọng số cho mỗi phần tử trong chuỗi dựa trên thơng tin tồncục của tồn bộ chuỗi đó Cụ thể, với một chuỗi có thứ tự X gồm n phần tử(x1, x2, xn), X ∈ Rn×d, trong đó d là số chiều của vector đặc trưng biểudiễn mỗi phần tử Mục tiêu của self-attention là xác định mối liên hệ giữa nphần tử bằng cách mã hóa chúng trong một thơng tin ngữ cảnh tồn cục Để
thực hiện được việc đó, self-attention dựa vào 3 vector chính là Query (Q),Key(K), Value (V ):
− Q biểu diễn cho vector truy vấn;− K biểu diễn cho vector khoá;− V biểu diễn cho vector giá trị.
Các vector Query, Key, Value có vai trị giống như trong một hệ thốngtra cứu dữ liệu, khi ta thực hiện một truy vấn tìm kiếm với đầu vào cho trước(Query), hệ thống sẽ tiến hành đối chiếu thơng tin tìm kiếm với một tập hợpKeys trong cơ sở dữ liệu và trả về những thông tin tương ứng với các giá trịphù hợp (Values) Tồn bộ q trình được mơ tả như trên được gọi là một
khối Scaled Dot-Product Attention minh họa ở Hình 2.10 Giá trị đầu ra của
Trang 38Query, Key, Value được tính từ giá trị đầu vào X bằng 3 ma trận trọng sốtương ứng WQ ∈ Rd×dq, WK ∈ Rd×dk, WV ∈ Rd×dv, trong đó dq = dk Từđó ta có Q = XWQ, K = XWK,V = XWV và đầu ra được tính dựa trên cơngthức như sau:
Attention(Q,K,V) = softmax(QKT
pdq)V (2.8)
Hình 2.10: Minh họa khối Scaled Dot-Product Attention
Multi-Head Self-Attention:
Trang 39này sẽ được nhân tiếp với một ma trận hệ số học WO như là một phép biếnđổi tuyến tính (linear transformation):
MultiHead(Q, K,V ) = Concat(head1, , headh)WO (2.9)
Hình 2.11: Minh họa các khối Multi-Head Self-Attention
Hình 2.11 minh họa việc sử dụng nhiều khối Multi-Head Self-Attention
Trang 40Chương 3
CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN
Hình 3.1: Các mốc thời gian quan trọng của Bài tốn khuyến nghị theophiên.
Hình 3.1 thể hiện các cột mốc quan trọng trong quá trình phát triển của
các nghiên cứu liên quan đến Bài toán khuyến nghị theo phiên Bắt đầu từthời điểm chưa có sự phân chia rõ ràng các nhóm bài tốn khuyến nghị, các
phương pháp truyền thống thường được áp dụng cho hầu hết các hệ thống
khuyến nghị nói chung Các nghiên cứu tập trung vào các giải thuật Học máynhư Khai phá luật kết hợp (Association Rule Mining) - tìm kiếm các nhómsản phẩm thường đi kèm với nhau trong một phiên hoạt động; thuật tốn K-Neareast Neighbour - tìm kiếm những sản phẩm tương đồng nhất với từng