MỞ ĐẦU 1. LÝ DO CHỌN ĐỀ TÀI Với sự phát triển mạnh mẽ của công nghệ số hiện nay, đặc biệt là sự bùng nổ của trí tuệ nhân tạo đã đặt ra nhiều thách thức và cơ hội mới cho con người, trong đó có việc xử lý và phân tích các loại dữ liệu phức tạp. Một trong những mô hình nổi bật trong lĩnh vực xử lý và phân tích dữ liệu này là Graph Neural Network. Graph Neural Network là một mô hình học máy mạnh mẽ áp dụng các phương pháp tiên tiến để phân tích và xử lý dữ liệu dưới dạng đồ thị.
Graph Neural Network cho phép chúng ta tìm hiểu cấu trúc và mối quan hệ phức tạp giữa các yếu tố trong dữ liệu đồ thị và từ đó tạo ra các ứng dụng thông minh để áp dụng vào cuộc sống sau này. Trong phạm vi của chủ đề này, chúng tôi sẽ khám phá Graph Neural Network từ các khía cạnh cơ bản khác nhau như tìm hiểu về các kiến thức cơ sở liên quan đến đồ thị, lịch sử ra đời, khái niệm, cũng như cách hoạt động của từng mô hình cụ thể trong Graph Neural Network. Đồng thời, chúng tôi áp dụng các kiến thức đã tìm hiểu về Graph Neural Network để thực hiện xây dựng các phương pháp khác nhau giải quyết bài toán dự đoán liên kết. Qua việc tìm hiểu về Graph Neural Network và các ứng dụng nó, chúng tôi có thể đánh giá được khả năng và tiềm năng của Graph Neural Network trong việc hiểu và tận dụng thông tin từ dữ liệu đồ thị, từ đó hỗ trợ chúng tôi trong nhiều công việc hiện nay.
Chính vì lý do đó, việc chọn đề tài: “Tìm hiểu về Graph Neural Network và xây dựng ứng dụng minh họa” là một ý kiến thú vị và mang tính ứng dụng cao. MỤC TIÊU CỦA ĐỀ TÀI 2. Mục tiêu của đề tài Dựa trên những tài liệu đã tìm hiểu và nghiên cứu, nhóm đã có cái nhìn tổng quan về Graph Neural Network. Đồng thời, nhóm cũng thực hiện việc áp dụng mô hình Graph Neural Network trong các phương pháp khác nhau để giải quyết bài toán dự đoán liên kết.
Qua đó, nhóm tiến hành đưa ra các nhận xét và đánh giá hiệu xuất của Graph Neural Network trong từng phương pháp. Mục tiêu thực hiện - Mục tiêu 1: Hiểu rõ về học máy, học sâu, mạng neural: Tìm hiểu và tóm tắt lý thuyết về học máy, học sâu, mạng neural từ các công trình, các bài báo hoặc các trang đáng tin cậy như wikipedia, … - Mục tiêu 2: Hiểu rõ về các khái niệm, tính chất, đặc trưng và cách biểu diễn dữ liệu đồ thị từ các nguồn đáng tin cậy. - Mục tiêu 3: Nắm được các kiến thức của Graph Neural Network: Tìm hiểu và tóm lược khái niệm, các mô hình cụ thể của Graph Neural Network và lợi ích, cũng như thách thức của nó từ các bài báo của các nhà khoa học. - Mục tiêu 4: Nắm được các công trình nghiên cứu có liên quan đến bài toán dự đoán liên kết: Tìm hiểu các bài báo về bài toán dự đoán liên kết.
Tìm hiểu các bài báo về các phương pháp áp dụng trong bài toán dự đoán liên kết từ các phương pháp truyền thống đến các phương pháp áp dụng Graph Neural Network. - Mục tiêu 5: Áp dụng các kiến thức đã tìm hiểu để áp dụng một số phương pháp kết hợp với Graph Neural Network trong việc giải quyết bài toán dự đoán liên kết, từ đó đưa ra các nhận xét và đánh giá về từng phương pháp trong việc giải quyết bài toán. PHƯƠNG PHÁP NGHIÊN CỨU 3. Về mặt lý thuyết - Nghiên cứu, tổng hợp các tài liệu, các bài báo và các công trình có liên quan đến học máy, học sâu, Graph Neural Network và dữ liệu đồ thị.
- Nghiên cứu, tổng hợp các các tài liệu liên quan đến việc xây dựng một chương trình thực nghiệm áp dụng các phương pháp kết hợp với Graph Neural Network trong việc giải quyết bài toán dự đoán liên kết. Đối tượng nghiên cứu - Dữ liệu đồ thị. - Các mô hình của Graph Neural Network. - Tập dữ liệu “fb-pages-food” được lấy từ trang Network Repository Data.
- Bài toán dự đoán liên kết. 2 - Ngôn ngữ Python và các thư viện cần thiết để xử lý dữ liệu và xây dựng mô hình. Phạm vi nghiên cứu - Nghiên cứu các tài liệu xoay quanh Graph Neural Network, cũng như các mô hình cụ thể của Graph Neural Network (Graph Convolutional Network, GraphSAGE, Graph Attention Network). - Nghiên cứu các bài báo, các công trình về các phương pháp áp dụng Graph Neural Network trong việc giải quyết bài toán dự đoán liên kết.
KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC - Về mặt lý thuyết: Nắm được các kiến thức cơ bản về học máy, học sâu và mạng neural. Nắm được các kiến thức cơ bản về dữ liệu đồ thị như cách phân tích và xử lý. Nắm được các kiến thức cơ bản xoay quanh Graph Neural Network. Nắm được các kiến thức về bài toán dự đoán liên kết và các phương pháp giải quyết bài toán.
- Về mặt ứng dụng: Xây dựng được một chương trình áp dụng được các phương pháp kết hợp với Graph Neural Network vào tập dữ liệu “fb-pages-food” để giải quyết bài toán dự đoán liên kết. 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 1. TỔNG QUAN VỀ HỌC MÁY 1. Giới thiệu về học máy Học máy là một lĩnh vực của trí tuệ nhân tạo và khoa học máy tính, nó tập trung vào việc nghiên cứu và xây dựng các kỹ thuật cho phép các hệ thống “học” tự động từ dữ liệu để giải quyết những vấn đề cụ thể.
Các thuật toán trong học máy sẽ dựa trên dữ liệu mẫu (dữ liệu mẫu đó được gọi là dữ liệu huấn luyện) để xây dựng một mô hình cụ thể, rồi từ đó mô hình đưa ra các dự đoán hoặc quyết định mà không cần được lập trình chi tiết về vấn đề đó. [1] Ví dụ, từ việc phân loại rác thải thành rác có thể tái chế hoặc không, ta có thể xây dựng một mô hình học máy phân loại các loại rác đó khi ta dùng các loại rác thải đã được phân loại thành các nhóm như có thể tái chế hoặc không thể tái chế để tiến hành huấn luyện mô hình, rồi từ đó mô hình có thể học được đặc điểm của các loại rác này và tiến hành tự động phân loại. Các phương pháp của học máy 1. Học có giám sát (Supervised learning) Học có giám sát đã có thành công lớn với nhiều ứng dụng trong thực tế.
Ở phương pháp này, ta sẽ sử dụng các tập dữ liệu được gán nhãn để huấn luyện các thuật toán phân loại dữ liệu hoặc dự đoán kết quả một cách chính xác. Dữ liệu có gán nhãn sẽ được đưa vào mô hình, mô hình sẽ tự động điều chỉnh đến khi kết quả từ dữ liệu huấn luyện khi đưa vào mô hình giống với dữ liệu thực tế nhất có thể. Một số mô hình được sử dụng trong học có giám sát có thể kể đến như: logistic regression, neural network, linear regression, naive bayes, random forest, support vector machine, … [1] 1. Học không giám sát (Unsupervised machine learning) Cũng tương tự như quá trình học có giám sát thì học không giám sát cũng đạt nhiều thành tựu trong thực tế.
Nhưng khác so với học có có giám sát thì ở phương 4 pháp này, ta sẽ sử dụng các tập dữ liệu không được gán nhãn để huấn luyện các thuật toán, giúp các thuật toán này có thể phát hiện ra các mẫu hoặc nhóm dữ liệu ẩn. Một số thuật toán được sử dụng trong học không giám sát có thể kể đến như: k- means clustering, neural network, probabilistic clustering methods, … [1] 1. Học bán giám sát (Semi-supervised learning) Đây là phương pháp có sự kết hợp giữa học có giám sát và học không giám sát. Trong quá trình huấn luyện các mô hình của phương pháp này thì nó sẽ sử dụng các tập dữ liệu có gán nhãn để huấn luyện việc phân loại và trích xuất các đặc điểm hoặc các đặc trưng của tập dữ liệu không gán nhãn có kích thước lớn hơn.
Giới thiệu về học sâu Học sâu là một phần trong một nhánh rộng hơn các phương pháp học máy dựa trên mạng thần kinh nhân tạo kết hợp với việc học biểu diễn đặc trưng. Mạng thần kinh nhân tạo này lấy cảm hứng từ cách hoạt động của não con người trong thực tế, cho phép học sâu có thể học hỏi và xử lý thông tin từ một lượng lớn dữ liệu. Các công nghệ deep learning đã được ứng dụng trong nhiều dự án thực tế mang lại nhiều lợi ích to lớn như hệ thống nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói, khuyến nghị, … [2] 1. Một số đặc điểm của học sâu Trong học sâu có một số đặc điểm có thể kể đến như sau: - Có khả năng tự động học: Các mô hình học sâu có khả năng tự động thay đổi các trọng số để cải thiện khả năng học tập và hiệu suất của mô hình khi ta liên tục cung cấp thêm dữ liệu trong quá trình huấn luyện.
- Tương thích với nhiều dữ liệu phi cấu trúc: Các mô hình học máy truyền thống bị hạn chế bởi khả năng học và phân tích đối với nhiều loại dữ liệu phi cấu trúc. Nhưng học sâu lại có thể tự học biểu diễn nhiều loại dữ liệu phi cấu trúc đó như hình ảnh, văn bản, giọng nói, … để tiến hành quá trình đào tạo rồi từ đó phân tích và giải quyết nhiều bài toán khác nhau. - Nhiều lớp neural trong các mô hình học sâu: Trong các mô hình học sâu thường chứa nhiều lớp mạng neural xếp chồng lên nhau cho phép mô hình học sâu có thể học được nhiều đặc trưng và các mối quan hệ phức tạp trong dữ liệu. LÝ THUYẾT CƠ BẢN LIÊN QUAN ĐẾN ĐỒ THỊ 2.
LÝ THUYẾT ĐỒ THỊ CƠ BẢN 2. Giới thiệu Đồ thị G = (V, E) là một cấu trúc rời rạc, trong đó gồm một tập các đối tượng được gọi là các đỉnh V (hoặc nút) nối với nhau bởi các cạnh E (hoặc cung). Một cạnh (u, v) ∈ E nối một cặp nút u và v, đồng thời chỉ ra rằng có một mối quan hệ giữa hai nút đó. Đồ thị được gọi là có hướng hay vô hướng tùy thuộc vào các cạnh trong đồ thị có hướng hay không.
Trong đồ thị nếu như giữa hai đỉnh bất kỳ có nhiều hơn một cạnh nối hai đỉnh đó thì được gọi là đa đồ thị, ngược lại thì gọi là đơn đồ thị.