1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Xây dựng hệ thống khuyến nghị dựa trên Graph Neural Network

77 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA——————–

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀ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ó).

KỸ THUẬT MÁY TÍNH

TS Nguyễn Đức Dũng

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ơ.

Trang 4

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ể hoà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 nguyên để huấn luyệnmô hình góp phần hoà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 hoàn thành tốt luận văn tốt nghiệp này.

Với lòng biết ơn chân thành, em xin gửi lời chúc sức khỏe cũng nhưnhững lời chúc tốt đẹp nhất đến các quý thầy cô trong Khoa Khoa học và Kỹthuật Máy tính - Trường Đại Học Bách Khoa Đại Học Quốc Gia Thành phốHồ Chí Minh.

Trang 5

TÓ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 toá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

các phiên hoạt động dưới dạng đồ thị có hướng và áp dụng cơ chế học sâu,đã mang lại những kết quả rất ấn tượng cho lớp bài toán này Tuy nhiên, hầuhết các nghiên cứu trước đó bỏ qua yếu tố thời gian theo dõi của người dùngtrên từng sản phẩm, trong khi đó lại là một dạng phản hồi gián tiếp mà hệthống có thể dùng để đánh giá mức độ yêu thích của người dùng trên chúng.Do đó trong luận văn tốt nghiệp này, dựa trên cơ sở của mô hình GraphNeural Network, học viên tập trung khai thác yếu tố thời gian theo dõi củangười dùng và thời điểm tương tác như là một cách bổ sung thông tin giúpcải thiện chất lượng mô hình khuyến nghị Ngoài ra, cơ chế self-attentioncũng được đề xuất giúp mô hình có thể khai phá tốt hơn mối quan hệ giữanhững sản phẩm trong một phiên hoạt động.

Trang 6

ABSTRACT OF DISSERTATION

Session-based recommendation is a specific type of recommendation 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

prob-in recent research One of the most effective approaches so far is the GraphNeural Network model, which represents sessions as directed graphs and

applies deep learning to improve the quality of recommendations However,most of the previous studies overlook the user’s time spent on each prod-uct, which is a form of implicit feedback that can help the system measurethe user’s interest level Therefore, in this thesis, the student builds on theGraph Neural Network model and incorporates the user’s time spent factoras a way to enhance the information for better recommendations Moreover,the self-attention mechanism is also proposed to help the model capture therelationship between products in a session more effectively.

Trang 7

LỜ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à hoàn toà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

Bùi Bá Anh

Trang 8

Mụ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 toá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

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 toán khuyến nghị nói chung

303.1.1 Khai phá luật kết hợp 30

Trang 9

3.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.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 Head Attention

Multi-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

Trang 10

2.1 Bài toán 7 cây cầu K¨onigsberg biểu diễn dưới dạng đồ 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

3.1 Các mốc thời gian quan trọng của Bài toán khuyến nghị theophiên 28

Trang 11

3.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

toàn cục của phiên hoạt động 55

Trang 12

Danh 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

(SRGNN) 57

Trang 13

Chương 1

GIỚI THIỆU ĐỀ TÀI

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

nay mà chúng ta thường bắt gặp, chẳng hạn như những video được đề xuấtkhi sử dụng nền tảng Youtube, hay Gợi ý kết bạn khi sử dụng mạng xã hộiFacebook, thực chất đều là những dạng thể hiện của Hệ thống khuyến

Trang 14

nghị, 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ữ

liệu dạng chuỗi tuần tự như mô hình RNN [4], cơ chế Self-Attention, kiếntrúc Transformer [5] đã đạt được những cột mốc đáng nhớ trong lĩnh vực Xử

Trang 15

lý 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ị 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.

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ử,

tương đương với một phiên hoạt động, tại thời điểm đó người này chỉ tìmkiếm các mặt hàng điện thoại Tuy nhiên sau đó vài ngày, người này lại tậptrung tìm kiếm mặt hàng quần áo, lúc này rõ ràng hệ thống không nên tiếptục đề xuất các mặt hàng điện thoại nữa Tính ngắn hạn xuất phát từ nhu cầucủa người dùng tại một thời điểm cụ thể Ngoài ra, các sản phẩm được tìm

Trang 16

kiế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

hơn nhưng lại được ứng dụng trong thực tế hiệu quả (vì tất cả các tương táckhác đều xuất phát từ hành vi này trước tiên) Ngoài ra, các tài liệu tham

Trang 17

khả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).

Hình 1.5: Nhiệm vụ của Hệ thống khuyến nghị trong một phiên hoạt độngcủa người dùng.

Trang 18

1.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 trongquá trình hoà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 toá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 toá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.

– Tìm kiếm các tập dữ liệu thực tế đã được công bố và thực hiện xử lýdữ liệu Tập trung vào các tập dữ liệu thường được sử dụng trong cácbáo cáo khoa học để có được kết quả đánh giá khách quan Bên cạnhđó, tìm kiếm các tập dữ liệu mới để chứng minh tính tổng quát củamô hình đề xuất.

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.

Xây dựng Hệ thống khuyến nghị là một bài toá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.

Trong luận văn, học viên đề xuất 2 phương án giúp cải thiện hiệu suấtcủa Hệ thống khuyến nghị theo phiên dựa trên cơ sở là mô hình SRGNN sử

Trang 20

dụ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ế Attention (các khối Multi-Head Self-Attention trong kiến trúc Trans-former) để tăng khả năng học của mô hình.

Luận văn “Xây dựng hệ thống khuyến nghị dựa trên Graph Neural

– 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:

trình bày một cách tổng quát về những nghiên cứu liên quan đã vàđang được thực hiện, cũng như xu hướng chung hiện nay trong việc

Trang 21

giả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.

Mục lục, Danh sách hình vẽ, Danh sách bảng được cung cấp ở đầu luậnvăn Tài liệu tham khảo sẽ được trình bày ở cuối luận văn.

Trang 22

đặ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 toán 7 cây cầu1 dưới dạng đồ thị.

Hình 2.1: Bài toán 7 cây cầu K¨onigsberg biểu diễn dưới dạng đồ thị

Định nghĩa: Một đồ 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.

Như vậy, nếu coi mỗi đỉnh của đồ thị biểu diễn một đối tượng, thì một cạnh

Trang 23

trong đồ 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ó khuyên 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).

− Đồ thị có trọng số: Trong một đồ thị, nếu trên mỗi cạnh được gán

Trang 24

Hì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.

Định lý bắt tay: Trong đơn đồ thị vô hướng G = (V, E), tổng bậc của

Trang 25

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

đồ thị có hướng đó liên thông yếu Nếu điều kiện có hướng cũng đượcthỏa mãn, đồ thị đó được gọi là liên thông mạnh.

Trang 26

Trong đờ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 khuyên, 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ó

luôn 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 Ngoà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.

− Đồ thị lập phương: là đơn đồ thị vô hướng gồm 2n đỉnh, mỗi đỉnhđược đặt tên bằng một chuỗi n bit Hai đỉnh được nối với nhau nếu và

Trang 27

chỉ 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ínhtoá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ó

thể thấy rằng, đối với đồ thị vô hướng, ma trận kề là một ma trận đốixứng, điều này không đúng với đồ thị có hướng Trong đồ thị có trọngsố, tức là các cạnh được gán giá trị, giá trị 1 có thể được thay thế bằngtrọng số của cạnh Cách biểu diễn ma trận kề cho đồ thị là một cáchbiểu diễn phổ biến, tuy nhiên nếu ma trận quá thưa (số lượng giá trị

Trang 28

0 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 toá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

kề với nó Danh sách này được gọi là danh sách kề của đỉnh u Tậphợp các danh sách này với mọi đỉnh u của G, được gọi là danh sách kềcủa G Ví dụ danh sách kề của đỉnh A là {B,C} cho biết đỉnh A liênthuộc hai cạnh AB và AC Cách lưu trữ này giúp tiết kiệm chi phí lưu

Trang 29

trữ, đả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.

Mô hình Artificial Neural Network - ANN (Mạng nơ-ron nhân tạo) [9]là mô hình tính toá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 đuôi gai (dendrite),tính toá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 quá 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 toá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 giaquá trình tính toán và chuyển đổi các thông tin đầu vào thành thôngtin đầu ra.

– y là output của tiến trình, đại diện cho dữ liệu đầu ra.

Trang 30

Hình 2.5: Cấu trúc của một Perceptron

Cụ thể hơn, phương thức tính toán và tổng hợp dữ liệu của một tron được mô tả theo từng bước sau:

percep-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:

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.

1 if f (a) ≥ threshold

0 if f (a) < threshold (2.4)

Trang 31

Hì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 toá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 toá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

Trang 32

2.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ả

− Bước 1: Với mỗi đỉnh, cập nhật lại giá trị bằng cách lấy trung bình

Trang 33

cộng tất cả các đỉnh đang kề với nó (và cả chính nó) Ta thu được:A= A+ B +C + D

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 toá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:

Quá trình này diễn ra tương tự ở các bước kế tiếp Từ đó, có thể rút ramột số nhận xét như sau:

Trang 34

Hì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.

– Trong công thức tổng hợp, ta thấy rằng: ở bước 1, giá trị của một đỉnhphụ thuộc vào giá trị của ngay những đỉnh liền kề nó Đặc biệt hơn, ởbước 2, giá trị này là sự tổng hợp của các giá trị cập nhật từ bước 1,đồng nghĩa với việc giá trị cập nhật sau bước 2 không chỉ phụ thuộcvào các đỉnh liền kề với nó, mà còn là các đỉnh “liền kề của liền kề”với đỉnh đang xét Tức là thông tin được ghi nhận ở bước 2 là xa hơn 1đơn vị so với bước 1 Càng thực hiện quá trình cập nhật, thông tin củamột đỉnh có thể là sự tổng hợp từ những đỉnh ở khoảng cách xa với nó

Trang 35

trong đồ 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:

h(t)v = f∗(lv, lCo(v), lNBR(v), h(t−1)NBR(v)) (2.5)Biểu thức trên cho thấy đặc trưng của mỗi đỉnh tại một thời điểm phụthuộc vào 4 thành phần: đặc trưng của các đỉnh lân cận (và cả chính nó) tạithời điểm trước đó, nhãn tại đỉnh đó, nhãn tại các đỉnh lân cận và nhãn tạicác cạnh liên thuộc với đỉnh này Các thành phần này thông qua một hàmf∗(.) để tổng hợp và dẫn tới kết quả Một cách chi tiết hơn, vế phải của biểu

Trang 36

thức (2.5) được cho bởi:

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à quá 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ũ).

Cơ chế Attention được đề xuất lần đầu tiên bởi Bahdanau và các cộngsự vào năm 2015 [11] với mục đích cải tiến hiệu quả của bài toán dịch máy

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 toàncục của toà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 toà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) Toàn bộ quá 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

self-attention là tổng có trọng số các vector Value, trong đó trọng số củamỗi Value được tính bằng một hàm giữa 2 vector Key và Query Các vector

Trang 38

Query, 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

Ngày đăng: 30/07/2024, 17:14

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN