Cụ thể, khóa luận sẽ sửdụng 3 thuật toán học máy cơ bản là K-hàng xóm gần nhất KNN, rừng ngẫunhiên, máy vectơ hỗ trợ SVM và phương pháp học sâu là Mạng nơ-ron đồ thịGNN.Mạng nơ-ron đồ th
Một số thuật toán học máy cơ bản
Thuật toán K-hàng xóm gần nhất
Trong một số loại dữ liệu, phân bố của chúng thông thường sẽ nằm gần nhau thành một cụm đối với mỗi loại dữ liệu có nhãn khác nhau Điều này có nghĩa là cho một điểm thì những điểm lân cận của nó cũng sẽ có chung nhãn so với điểm đang xét Lấy ý tưởng từ việc này, thuật toán K-hàng xóm gần nhất đã được phát
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT minh.
KNN là thuật toán xác định nhãn của một điểm dữ liệu bằng việc tìm xem trong k hàng xóm gần nhất thì nhãn nào có nhiều điểm nhất trong k điểm này rồi gán cho điểm dữ liệu đang xét thuộc về nhãn đó Điều này cho phép thuật tìm được nhãn cho điểm dữ liệu mới mà không cần thông qua bất kỳ thao tác tính toán phức tạp nào Dưới đây là hình ảnh minh họa về KNN:
Hình 1.1: Hình ảnh minh họa về thuật toán KNN[10].
Tiếp theo là về cách xác định xem đâu làk hàng xóm gần nhất Để xác định các điểm gần nhất thì ta có rất nhiều phép tính để đo khoảng cách giữa hai điểm trong một không gian vectơ như Euclid, Manhattan, Minkowski, Mặc dù có nhiều phép đo nhưng ở trong khóa luận sẽ chỉ sử dụng phép đo Euclid Dưới đây là công thức của phép đo Euclid:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
Thuật toán rừng ngẫu nhiên
Cây quyết định là một trong những thuật toán phổ biến ở trong lĩnh vực học máy Thuật toán này được sử dụng cho cả hai bài toán là phân loại và hồi quy.
Cấu trúc của một cây quyết định giống với một cây phân tầng bao gồm các thành phần như sau: đỉnh gốc, các đỉnh nội bộ (đỉnh quyết định), các nhánh và các nút lá (nút kết thúc) Dưới đây là hình ảnh minh họa về cây quyết định.
Hình 1.2: Hình ảnh minh họa về cây quyết định[4].
Giả sử dữ liệu có N điểm dữ liệu có d chiều, việc cần làm để xây dựng cây quyết định là phải chọn thuộc tính (chiều) và xây dựng điều kiện với thuộc đó như thế nào để tạo nên một đỉnh gốc hay đỉnh quyết định của cây Để làm được việc này thì có rất nhiều độ đo để đánh giá xem nên lấy thuộc tính nào như Gini impurity, Entropy, Information gain, , nhưng ở đây sẽ chỉ sử dụng Gini impurity cho nên dưới đây là công thức của Gini impurity:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT trong đó:
• L là số lớp của tập dữ liệu
N là tỉ lệ dữ liệu thuộc lớp itrong N điểm dữ liệu (ni là số điểm dữ liệu thuộc lớp i).
Tuy nhiên, cây quyết định rất dễ bị quá khớp (overfitting), cho nên có một số giải pháp để giải quyết vấn đề này như giới hạn chiều sâu của cây, cắt tỉa, Để trực quan hơn về cây quyết định thì dưới đây là một hình ảnh minh họa cụ thể của thuật toán (giới hạn chiều sâu là 4) được sử dụng cho bộ dữ liệu Iris của thư viện Sklearn:
Hình 1.3: Ví dụ cụ thể về cây quyết định.
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1.2.2 Rừng ngẫu nhiên
Có thể thấy rằng mặc dù cây quyết định có thể hoạt động tốt nhưng đôi khi lại không sử hết được các thuộc tính của dữ liệu Bởi vậy, có thể tạo nhiều cây quyết định nhưng có một vấn đề ở đây là nếu tạo cây trên cùng một tập dữ liệu thì sẽ cho ra cùng một cây khác nhau.
Cho nên, một phương pháp đề xuất là đối với mỗi cây quyết định, lấy ra ngẫu nhiên N điểm dữ liệu trong N dữ liệu nhưng không loại bỏ dữ liệu đã lấy ra khỏi tập dữ liệu Nghĩa là trong N điểm dữ liệu được lấy ngẫu nhiên sẽ có nhưng dữ liệu là trùng nhau Phương pháp này được gọi là Bootstrapping và với phương pháp này, mỗi cây quyết định sẽ được xây dựng trên một bộ dữ liệu khác nhau theo tính ngẫu nhiên và do đó, mỗi cây hoàn toàn có thể sử dụng các đặc trưng khác nhau của dữ liệu cho nên sẽ tạo được các cây khác nhau và đầu ra khác nhau ứng với mỗi cây Cuối cùng, đầu ra của các cây quyết định sẽ được tổng hợp và cho ra kết quả cuối cùng (chọn đầu ra có số lượng nhiều nhất).
Hình 1.4: Hình ảnh minh họa về rừng cây ngẫu nhiên[17].
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
Thuật toán máy vectơ hỗ trợ
Máy vectơ hỗ trợ là một thuật toán hiệu quả và phổ biến trong học máy.
SVM hoạt động bằng cách tìm một siêu phẳng tách dữ liệu của hai lớp khác nhau thành hai phần riêng biệt tốt nhất có thể, nghĩa là tìm một siêu phẳng sau cho margin là lớn nhất.
Một số thuật ngữ trong SVM:
• Vectơ hỗ trợ: một vectơ đi qua điểm gần nhất với siêu phẳng và song song với siêu phẳng.
• Margin: khoảng cách từ siêu phẳng đến vectơ hỗ trợ (điểm gần nhất).
Hình 1.5: Hình ảnh minh họa về SVM[15].
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT không cao Do đó, một phương pháp mới được đề ra là hạt nhân SVM (kernel SVM), phương pháp này sẽ ánh xạ dữ liệu ban đầu sang một không gian mới nhiều chiều hơn để mong rằng dữ liệu sau khi biến đổi sẽ tách được tuyến tính.
Một số hạt nhân SVM phổ biến là tuyến tính, đa thức, hàm cơ bản xuyên tâm(RBF), Lưu ý:do báo cáo tập trung vào GNN cho nên các công thức liên quan đến SVM và các hoạt động của chúng sẽ không được trình bày ở đây do chúng khá dài và phức tạp để trình bày.
Mạng nơ-ron đồ thị
Tổng quan về mạng nơ-ron đồ thị
Gọi một đồ thị vô hướng có dạng G= (V, E, X) với V là tập các đỉnh của đồ thị, E là tập các cạnh của đồ thị và X ∈ R |V |×d là tập các đặc trưng của đỉnh với hàng i là một vectơ đặc trưng của đỉnh i trong đồ thị, mỗi vectơ này có số chiều là d Đối với bài toán phân loại đồ thị, ta mong muốn tìm được một phép biến đổi f :G→y ∈ {1,2, , k}với k là số lớp trong tập dữ liệu của bài toán.
Mạng nơ-ron đồ thị là một trong những phương pháp hoạt động rất tốt trong việc phân loại đồ thị Hiện nay, GNN hầu như đều sử dụng cơ chế truyền thông điệp để cập nhật đặc trưng của các đỉnh của đồ thị Giả sử GNN có Llớp (Llayer), cơ chế truyền thông điệp cho một đỉnh v tại lớp thứ l (l-th layer) của một GNN có công thức như sau: h (l) v =AGGREGATE(h (l−1) v ,{h (l−1) j :j ∈N(v)}, W (l) ) với W (l) là trọng số huấn luyện tại lớp thứl,h (l) v là đặc trưng của đỉnh vtại lớp thứ
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT l, N(v) kí hiệu cho các lân cận của đỉnhv AGGREGATE là phép tổng hợp thông tin từ các lân cận của đỉnh v và cả thông điệp từ chính đỉnh v, biến chúng thành một vectơ duy nhất Bên cạnh đó, thông thường sau khi tổng hợp xong đặc trưng thì người thực nghiệm sẽ đưa vectơ sau khi được tổng hợp qua một hàm biến đối σ(ã) nào đú (đõy là tựy người dựng cú muốn hay khụng). h (l) v =σ(h (l) v )
Hình 1.6: Hình ảnh minh họa về phép cập nhật đặc trưng tại một đỉnh trong một lớp GNN[6].
Cuối cùng, sau khi tổng hợp thông tin cho các đỉnh qua L lớp GNN, vectơ biểu diễn cho đồ thị G sẽ được tính bởi một hàm global pooling gọi chung là READOUT: h G =READOUT({hv :v ∈V}) trong đó READOUT là một hàm bất biến với phép hoán vị như là sum, mean, Sau khi đưa qua hàm READOUT, vectơ h G được đưa qua một lớp multi-layer perceptron (MLP) hoặc một lớp kết nối đầy đủ (Fully connected) để tính toán xác suất đồ thị G thuộc vào lớp nào Ở đây, MLP là các lớp dày đặc (Dense layer) được kết nối đầy đủ, giúp biến đổi bất kỳ kích thước đầu vào nào thành kích thước mong muốn.
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
Algorithm 1 Thuật toán phân loại đồ thị sử dụng GNN
Input: Graph G= (V, E, X), x v ∈ X,∀v ∈ V, L layer, weight matrices {W (l) ,∀l ∈ [1, L]}, a transformationσ(ã), an aggregate functions AGGREGATE, neighbor- hood set {N v , ∀v ∈ V }, a multi-layer perceptron MLP.
8: hG ←READOUT({hv :v ∈V})9: output←MLP(h G )
Một số mạng nơ-ron đồ thị cụ thể
1.2.2.1 Mạng đồ thị tích chập
Những ai đã làm việc trong lĩnh vực học sâu đều biết rằng mạng nơ-ron tích chập (CNN) có thể trích xuất đặc trưng cho dữ liệu tuân theo các quy tắc hình học thông thường (dạng Euclidean) hoặc dạng lưới Nhưng với dữ liệu không tuân theo các quy tắc đó (dạng non-Euclidean) như mạng xã hội hay cấu trúc hóa học, CNN không thể làm thực hiện được trên dữ liệu dạng đó do cấu trúc liên kết dữ liệu không đều[2] Bởi vậy, mạng đồ thị tích chập sẽ là một giải pháp cho trường hợp này. Ý tưởng cơ bản của tích chập đồ thị là áp dụng một hàm có thể học được trên mỗi nút và các nút lân cận của nó, dần dần hợp nhất thông tin từ các đỉnh ở xa thông qua các cạnh kết nối[2] Trước khi trình bày chi tiết về GCN, hãy cùng xem xét công thức sau đây:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT
• A là ma trận kề của đồ thịG.
• W (l) là ma trận trọng số huấn luyện của lớp thứ l.
• σ là một phép biến đổi nào đó (ReLU, Sigmoid, ).
Ta có thể thấy công thức này có hai hạn chế sau:
• Việc nhân ma trận A với ma trận đặc trưng H đồng nghĩa với việc đối với mỗi đỉnh trong đồ thị, phương pháp đang làm là lấy tổng đặc trưng của tất cả các lân cận của đỉnh đó, nhưng điều này lại không có liên quan gì đến đỉnh hiện tại đang xét (trừ khi đỉnh đó có cạnh đến chính nó).
→ Giải pháp: tự thêm cạnh đến chính nó (cộng ma trận kề A với ma trận đơn vị I).
• Nếu tìm hiều về đồ thị thì ta sẽ biết rằng ma trận kề Achỉ bao gồm giá trị 0 hoặc 1, điều này nghĩa là ma trận A vẫn chưa được chuẩn hóa Điều này sẽ làm cho việc nhân ma trận Avới ma trận đặc trưng H sẽ dẫn đến đặc trưng của các đỉnh trong đồ thị G sẽ tăng lên rất nhanh và có thể dẫn đến một số rất lớn (do chỉ có phép toán tổng được áp dụng lên công thức cập nhật đặc trưng của một đỉnh) Điều này có thể gây ra tràn số hoặc làm phép tính toán xảy ra sai số lớn.
→ Giải pháp: thực hiện chuẩn hóa ma trận A, ví dụ: D −1 A với D là ma trận bậc của đồ thịG Điều này làm cho việc tính tổng các đặc trưng lân cận thành tính trung bình Nhưng thông thường, các nhà nghiên cứu thường dùng phép chuẩn hóa đối xứng hơn như D −1/2 AD −1/2 , điều này làm cho công thức cập nhật đặc trưng của một đỉnh không còn đơn giản là tính trung bình nữa.
Bằng việc kết hợp giải pháp cho hai hạn chế trên, hai tác giả Kipf vàWelling[7] đã đưa ra công thức của GCN như dưới đây:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT với:
• A là ma trận kề của đồ thịG Aˆ=A+I
• Dˆ là ma trận đường chéo với Dˆ ii=P j=0Aˆij
• W (l) là trọng số huấn luyện tại lớp thứ l
• σ là một phép biến đổi nào đó.
Công thức trên có thể được biến đổi về dạng như sau: h (l) i =σ
• h (l) i là đặc trưng của đỉnh itại lớp thứ l
• W (l) là trọng số huấn luyện tại lớp thứ l
• N(i) là tập các lân cận của đỉnh i
• dˆi = 1 +P j∈ N (i)1 Ở trong bài báo cáo này, hàm σ sẽ được chọn là hàm GELU với
1.2.2.2 Mạng nơ-ron đồ thị GraphConvVới GCN, việc chuẩn hóa các đỉnh lân cận rồi lấy tổng rồi nhân với ma trận trọng số huấn luyện W thì việc chuẩn hóa này có thể làm cho thông tin của một
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT đỉnh trở lên quá nhỏ Điều này không hề tốt vì có thể dẫn đến sai số và làm mô hình không thể học hết được các đặc trưng trong dữ liệu.
Bởi vậy, khóa luận đề xuất thêm một loại mạng nơ-ron đồ thị nữa là Graph- Conv[9] (tên GraphConv chỉ là tên được đặt ra trong bài báo cáo này do loại mạng này không có tên riêng) GraphConv lấy ý tưởng từ việc lấy tổng đặc trưng của tất cả các lân cận và chính nó nhưng báo cáo này đã đề cập hạn chế của phương pháp này trong phần 3.2.1là có thể làm cho đặc trưng của một đỉnh sau khi khi cập nhất có thể trở lên rất lớn Bởi vậy, GraphConv xây dựng hai phép ánh xạ tuyến tính riêng biệt cho đỉnh hiện tại và lân cận của nó Cụ thể như sau:
Cho đồ thị G= (V, E, X), với ∀v ∈V: f1:xv →R k f 2 :x i →R k , i∈N(v) với:
• N(v) là tập các đỉnh lân cận của đỉnh v
• Hai f 1 và f 2 tối thiểu phải là một phép ánh xạ đơn ánh Nghĩa là:
Trong đại số tuyến tính, phép ánh xạ này có thể được coi như là một phép nhân giữa ma trận và một vectơ Kết hợp điều này và lấy tổng đặc trưng các đỉnh lân cận và chính nó Như vậy, công thức của GraphConv được trình bày như sau:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT với:
• h (l) i là đặc trưng của đỉnh ilại lớp thứ l.
• W (l) 1 và W (l) 2 là hai ma trận trọng số huấn luyện của lớp thứ l.
• N(i) là tập các đỉnh lân cận của đỉnh i
1.2.2.3 Cải tiến GCN và GraphConv
Trong phần trước có thể thấy cả hai công thức cập nhật đặc trưng của một đỉnh của hai mạng nơ-ron đồ thị đều không liên quan gì đến đặc trưng của cạnh nhưng đối với dữ liệu của cấu trúc hóa học thì lại có thông tin liên quan đến cạnh.
Cho nên, khóa luận mong muốn hai mạng nơ-ron này sử dụng thêm cả đặc trưng của liên kết giữa hai đỉnh.
Nhưng ai đã tìm hiều về đồ thị cũng đều biết rằng giữa đỉnh và cạnh trong một đồ thị có thể đại diện cho một đối tượng khác nhau Ví dụ, đối với đồ thị biểu diễn cho một chất hóa học, các đỉnh đại diện cho các nguyên tố hóa học như Cacbon, Hydro, , còn các cạnh thì có thể đại diện cho loại liên kết giữa các đỉnh như liên kết đơn hay liên kết đôi, Bởi vậy, đặc trưng của đỉnh và cạnh có thể có số chiều khác nhau là việc rất bình thường, cho nên, trong báo cáo này sẽ xây dựng một phép ánh xạ tuyến tính để ánh xạ đặc trưng của cạnh sang không gian mới là R k
Gọi một đồ thị là G= (V, E, X), đặt K ∈ R m là tập tất cả các đặc trưng của các cạnh trong đồ thị Như vậy, có thể ký hiệu lại đồ thị có thêm đặc trưng của các cạnh là G = (V, E, X, K) Cuối cùng, khóa luận định nghĩa phép ánh xạ tuyến tính cho đặc trưng của cạnh như sau: fe:ke ij →R k ,∀ke ij ∈K,∀eij ∈ E
Do có thể đưa phép ánh xạ tuyến tính về dạng nhân ma trận với một vectơ,cho nên tiếp theo là phương pháp cải tiến của báo cáo cho hai mạng nơ-ron đồ thị
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT mà khóa luận đã đề cập trước đó. Đối với GCN, đặt hai ma trậnW1 và W2là hai phép ánh xạ cho đỉnh và cạnh của đồ thị Đầu tiên, công việc cần làm sẽ là ánh xạ đặc trưng của cạnh và đỉnh sang một không gian có số chiều giống nhau là R k Nghĩa là: W 1 T x,W 2 T k e ij ∈R k Sau đó, bước tiếp theo sẽ cộng đặc trưng của đỉnh lân cận với cạnh tương ứng vào với nhau rồi sử dụng công thức tương tự như GCN ban đầu Dưới đây là công thức cuối cùng: h (l) i =σ
• h (l) i là đặc trưng của đỉnh itại lớp thứ l
• eij là cạnh giữa đỉnh i và đỉnhj
• k e ij là đặc trưng của cạnh e ij
• W (l) là trọng số huấn luyện tại lớp thứ l
• N(i) là tập các lân cận của đỉnh i
• dˆ i = 1 +P j∈ N (i)1 Đối với GraphConv, báo cáo sẽ sử dụng một ma trận trong số huấn luyện làW3 là một phép ánh xạ tuyến tính để biến đổi đặc trưng của cạnh sang không gian có số chiều bằng với số chiều của đặc trưng của các đỉnh sau khi được ánh xạ bằng hai ma trận W 1 và W 2 Lấy ý tưởng của GraphConv, phép toán mới sẽ là cộng các đặc trưng của các cạnh sau khi biến đổi rồi cộng vectơ này vào công thức của GraphConv Cụ thể như sau:
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT với:
• h (l) i là đặc trưng của đỉnh ilại lớp thứ l.
• e ij là cạnh giữa đỉnh i và đỉnhj
• k e ij là đặc trưng của cạnh e ij
• W (l) 1 ,W (l) 2 và W 3 (l) là hai ma trận trọng số huấn luyện tại lớp thứ l.
• N(i) là tập các đỉnh lân cận của đỉnh i
Như vậy là trong phần này đã cải tiến được hai mạng nơ-ron đồ thị là GCN và GraphConv sử dụng được thêm đặc trưng của cạnh giữa các đỉnh Trong bài báo cáo này sẽ gọi hai mạng nơ-ron này là EGCN và EGraphConv Về hiệu suất của hai mô hình này, khóa luận sẽ trình bày trong chương sau.
Độ đo đánh giá ROC 20 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN 23
Mô hình hóa bài toán
Nếu đã tìm hiểu về chất hóa học thì ta sẽ biết rằng mọi chất hóa học đều có cấu trúc không gian của mình, điều đó thể hiện liên kết giữa các nguyên tử với
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN sẽ là các nguyên tố hóa học và các cạnh sẽ là liên kết giữa hai nguyên tố trong một chất hóa học.
Hình 2.1: Ví dụ minh họa về biểu diễn đồ thị của một chất hóa học[16]. Ở đây, bài toán được đặt ra là cho biết công thức hóa học của một chất hóa học thì làm thế nào để biết được đấy có phải là chất độc hay không Vậy nên, dự đoán chất độc hóa học sẽ được mô hình hóa thành bài toán phân loại đồ thị Đầu vào sẽ là một đồ thị của một chất hóa học và đầu ra sẽ là 0 hoặc 1 biểu thị cho việc chất đó có là chất độc hay không (chi tiết về phương pháp sẽ được trình bày ở phần sau).
Phương pháp giải quyết bài toán
Trong phần này, bài báo cáo sẽ trình bày các bước để giải quyết bài toán được đặt ra Dưới đây là thông tin cụ thể:
• Đầu vào: Một đồ thị, mỗi đỉnh và các cạnh có vector đặc trưng riêng.
• Xử lý: Đưa đồ thị qua các lớp mạng nơ-ron đồ thị để thu thập thông tin từ các đỉnh lân cận của mỗi đỉnh (có thể có thêm thông tin của cạnh đang nối tới đỉnh hiện tại) GNN giúp mỗi đỉnh "học hỏi" thông tin từ những đỉnh xung quanh nó Biểu diễn đặc trưng của mỗi đỉnh sau khi thu thập thông tin từ lân cận.
• Biểu diễn vectơ của đồ thị: Ánh xạ đồ thị sau khi qua lớp GNN cuối cùng thành một vectơ trong không gianR d Vectơ này đại diện cho đặc trưng tổng thể của toàn bộ đồ thị.
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN
• Phân loại độc tố: Sử dụng một lớp kết nối đầy đủ (Fully connected) với 1 đầu ra và hàm kích hoạt Sigmoid để ánh xạ đầu vào sang một số Giá trị đầu ra nằm trong khoảng từ 0 đến 1 Nếu giá trị lớn hơn hoặc bằng 0.5, coi đồ thị là có chứa chất độc.
Hình 2.2: Ảnh minh họa về phương pháp giải quyết bài toán.
Dữ liệu sử dụng
Trong bài báo cáo này, dữ liệu được sử dụng sẽ là bộ dữ liệu Tox21 từ Molecu- leNet, Tox21 (Toxicology in the 21st Century) là bộ sưu tập các phép đo độc tính định tính cho một số lượng lớn các hợp chất hóa học Bộ dữ liệu này đã được sử dụng trong cuộc thi Tox21 Data Challenge vào năm 2014[18] Dữ liệu phục vụ cho 12 bài toán tương ứng với 12 cột trong dữ liệu bao gồm 7 thụ thể nhân (nuclear receptors: NR-AR, NR-AhR, NR-AR-LBD, NR-ER, NR-ER-LBD, NR-Aromatase, NR-PPAR-gamma) và 5 con đường đáp ứng căng thẳng (stress response pathways:
SR-ARE, SR-ATAD5, SR-HSE, SR-MMP, SR-p53) Mỗi cột này sẽ có giá trị là 0 hoặc 1, sẽ có một số chất sẽ để trống tương ứng với việc chất đó chưa xác định là có độc hay không, và mỗi hàng sẽ đại diện cho một chất hóa học riêng biệt.
Trong Tox21, mỗi chất hóa học sẽ có một ID riêng tương ứng với cột mol_id và những chất này sẽ được biểu diễn công thức hóa học dưới dạng SMILES (Simplified Molecular-Input Line-Entry System).
SMILES là một hệ thống ký hiệu hóa cấu trúc phân tử đơn giản, cho phép
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN cung cấp một cách thức đơn giản và hiệu quả để lưu trữ và trao đổi thông tin về cấu trúc phân tử Dưới đây là sơ bộ về dữ liệu:
SMILES C#CCO Oc1c(Cl)c(Cl)c(Cl)c(Cl)c1Cl
Bảng 2.1: Bảng hiển thị dữ liệu của hai chất trong Tox21. Ở đây, báo cáo sẽ chỉ sử dụng bài toán NR-AR làm phần nghiên cứu chính do giới hạn về mặt thời gian cũng như việc áp dụng mô hình của bài báo cáo này cho các bài toán còn lại là hoàn toàn tương tự Dưới đây là thống kế dữ liệu về NR-AR của Tox21:
Bảng 2.2: Bảng thống kê dữ liệu của bài toán NR-AR trong Tox21.
Có thể thấy dữ liệu của Tox21 rất không cân bằng, số dữ liệu có nhãn 0 gấp hơn 22 lần số dữ liệu có nhãn 1 Bên cạnh đó, trong tập dữ liệu cũng chứa đến566 loại dữ liệu chưa được gán nhãn Điều này có nghĩa là thuốc đó chưa được kiểm định là có phản ứng với NR-AR nay không, cho nên khóa luận sẽ không dùng những dữ liệu không có nhãn này để huấn luyện.
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN
Thực nghiệm
Sử dụng ba phương pháp học máy
Về phần dữ liệu, báo cáo sẽ sử dụng thư viện RDKit để chuyển dữ liệu từ dạng SMILES sang dạng một vectơ Vectơ này có 210 đặc trưng bao gồm trọng lượng phân tử, số gốc electron tự do, (do có rất nhiều đặc trưng nên báo cáo sẽ không liệt kê hết ở đây) Sau đó, dữ liệu sẽ được chia tỉ lệ 8:2 cho phần huấn luyện và kiểm tra.
Về phần cấu hình thuật toán, với KNN thì báo cáo sẽ đặt số lân cận là 10(k= 10) Đối với rừng cây ngẫu nhiên thì sẽ là 100 cây quyết định, còn với SVM thì sử dụng Kernel là RBF Các thuật toán này đều được sử dụng bằng thư việnSklearn.
Sử dụng GNN
Về phần dữ liệu, báo cáo sẽ sử dụng một hàm của PyTorch Geometric (PyG) để chuyển dữ liệu dạng SMILES sang dạng đồ thị PyG sẽ đưa các nguyên tử thành các đỉnh có 9 đặc trưng và các cạnh sẽ có 3 đặc trưng Sau đó, dữ liệu sẽ được chia tỉ lệ 8:2 cho phần huấn luyện và kiểm tra.
Chín đặc trưng của một đỉnh cụ thể như sau:
• Số hiệu nguyên tử: là số thứ tự của nguyên tố trong bảng tuần hoàn, xác
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN
• Tính đối xứng: đặc trưng cho khả năng tạo ra các đồng phân quang học, tức là các hợp chất có cấu trúc hóa học giống nhau nhưng không thể chồng lấp hoàn toàn lên nhau do sự khác biệt về cấu trúc không gian.
• Bậc của nguyên tử: số lượng liên kết hóa học tối đa mà một nguyên tử có thể tạo ra.
• Điện tích hình thức (số oxy hóa): số điện tích hay số oxy hóa của một nguyên tử.
• Số hydro hóa: số lượng nguyên tử hydro tối đa mà một nguyên tử có thể liên kết với khi thực hiện hydro hóa.
• Số electron tự do: số các electron tự do của một nguyên tử.
• Tính lai hóa: quá trình kết hợp các orbital nguyên tử để tạo ra các orbital lai mới có hình dạng và năng lượng phù hợp cho sự hình thành liên kết hóa học.
• Tính thơm: đặc trưng cho các hợp chất có cấu trúc vòng phẳng, liên kết cộng hóa trị liên tục và số lượng electron π chẵn và không chia hết cho 4, nghĩa là số electron π bằng 4n + 2 (n=0, 1, 2, 3, ).
• Tính vòng: cho biết liệu nguyên tử có phải là một phần của cấu trúc vòng trong phân tử hay không.
Ba đặc trưng của một cạnh cụ thể như sau:
• Loại liên kết: đại diện cho bản chất của liên kết hóa học giữa hai nguyên tử trong một phân tử, ví dụ: liên kết đơn, liên kết đôi, liên kết ion,
• Cấu trúc lập thể: mô tả sự sắp xếp ba chiều của các nguyên tử trong không gian
• Tính liên hợp: thuật ngữ này cho biết liệu một phân tử có liên hợp hay không.
Phân tử liên hợp có các liên kết đơn và đôi xen kẽ trong một chuỗi các nguyên tử.
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN
Hình 2.3: Hình ảnh minh họa chuyển SMILES sang đồ thị[2].
Về phần mô hình, khóa luận sẽ đánh giá trên cả 4 mô hình là GCN Graph- Conv, EGCN và EGraphConv, các mô hình này đều được xây dựng dựa trên PyG.
Cấu trúc của mô hình sẽ là xếp 3 lớp GNN liên tục với nhau và đặt kích thước ẩn (hidden size) là 64, đầu ra của ba lớp GNN của mô hình sẽ được chuẩn hóa rồi đưa qua hàm GELU (có thể coi đây là hàm kích hoạt trong học sâu), hàm READOUT sẽ là hàm sum-pooling (lấy tổng đặc trưng của tất cả các đỉnh) để lấy ra biểu diễn vectơ của đồ thị Sau đó, vectơ này sẽ được đưa qua một lớp kết nối đầy đủ (Fully connected) với 1 đầu ra và hàm kích hoạt là Sigmoid để thu được tỉ lệ chất hóa học đang được xét có độc hại hay không Công thức của hàm Sigmoid và phương pháp chuẩn hóa như sau:
1 +e −x x ′ = x−E[x] pVar[x] +ϵ trong đó, ϵ là một số rất nhỏ (khoảng 10 −5 ) để tránh việc chia cho giá trị 0.
Dưới đây là hình ảnh cụ thể của mô hình:
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN
Hình 2.4: Hình ảnh về mô hình được xây dựng.
Về phần huấn luyện mô hình, mô hình được huấn luyện bằng CPU của GoogleColab Lý do cho việc không huấn luyện mô hình trên GPU là vì các phép tính toán chưa đủ nhiều nên khi sử dụng GPU để tính toán song song thì sẽ không hiệu quả về mặt thời gian Mô hình sẽ được huấn luyện với 30 epochs và kích thước batch cho mỗi epoch là 2 Hàm mất mát được sử dụng là Binary Cross Entropy với thuật toán tối ưu là Adam Bên cạnh đó thì hệ số học (learning rate) được cài đặt giảm dần từ 10 −3 đến 10 −6 bằng hàm cosine_schedule của Pytorch.
Kết quả thực nghiệm và đánh giá
Về phần sử dụng phương pháp học máy, các thuật toán được sử dụng trong nghiên cứu này thể hiện tốc độ xử lý rất tốt, chỉ mất khoảng 10 giây để hoàn thành toàn bộ quá trình tính toán cho cả ba thuật toán Điều này cho thấy được ưu điểm của chúng trong việc giải quyết bài toán.
Các thuật toán đều đạt được độ chính xác cao trên 90% Trong đó, rừng cây ngẫu nhiên nổi bật với độ chính xác cao nhất, đạt 97,45%, vượt trội so với hai thuật toán còn lại Tuy nhiên, khi đánh giá bằng độ đo ROC, KNN và SVM chỉ đạt được điểm số tương đối thấp, khoảng 50% Điều này cho thấy khả năng phân biệt các mẫu dương tính và âm tính của hai thuật toán này còn hạn chế do sự mất cân bằng về dữ liệu Rừng cây ngẫu nhiên thể hiện hiệu suất tốt hơn đáng kể với điểm số ROC đạt 69,53%, cho thấy khả năng phân loại chính xác cao hơn giữa
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN các lớp dữ liệu Bảng dưới đây tóm tắt chi tiết kết quả đánh giá hiệu suất của ba thuật toán học máy:
KNN Rừng cây ngẫu nhiên SVM Accuracy 94.77% 97.45% 95.73%
Bảng 2.3: Bảng kết quả kiểm tra cuối cùng sau khi huấn luyện.
Về các mô hình GNN, thời gian huấn luyện cho một mô hình dài khoảng từ 15 phút đến 20 phút (khoảng hơn 60 phút cho cả bốn loại mô hình) Dưới đây là biểu đồ theo dõi kết quả đánh giá mô hình trong khi huấn luyện:
Hình 2.5: Biểu đồ đánh giá của mô hình GCN và mô hình EGCN.
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN
Dưới đây là kết quả cuối cùng sau khi huấn luyện mô hình:
GCN EGCN GraphConv EGraphConv Loss 0.1214 0.1233 0.1277 0.1299 Accuracy 96.21% 94.77% 96.07% 95.11%
Bảng 2.4: Bảng kết quả kiểm tra cuối cùng sau khi huấn luyện.
Về quá trình huấn luyện:
• GCN và GraphConv: Có thể thấy cả hai mô hình đều thể hiện đường cong tổn thất khá giống nhau, do giá trị khá nhỏ nên khó thấy sự khác biệt (chênh lệch khoảng 0.06) Cả hai đường đều giảm và gần hội tụ ở những epoch cuối (có sự dao động nhẹ) Tuy nhiên, đường cong ROC của chúng khá khác nhau.
ROC của GCN bắt đầu biến động rất nhiều và sau đó dần dần ổn định, trong khi GraphConv lại biến động ở những epoch giữa và ổn định về sau Điều này cho thấy sự khác biệt trong cách các mô hình này học và cập nhật các tham số của chúng trong quá trình đào tạo.
• EGCN và EGraphConv: Việc bổ sung đặc trưng của cạnh trong các mô hình này dường như có tác động tích cực đến cả tổn thất và ROC EGCN thể hiện sự hội tụ nhanh hơn về tổn thất so với GCN, và ROC của nó tăng khá đều trong suốt quá trình đào tạo EGraphConv cũng cho thấy sự cải thiện so với GraphConv, với giá trị tổn thất khởi đầu cao hơn nhưng đường cong cho thấy rõ sự chuyển biến của mô hình hơn Về ROC thì EGraphConv cho thấy sự hiệu quả rõ rệt hơn khi đường ROC ổn định hơn so với ROC của GraphConv.
Về hiệu suất cuối cùng:
• Độ chính xác: Tất cả các mô hình đều đạt được độ chính xác cao, vượt quá 95% GCN nổi bật với độ chính xác cao nhất là 96.21%, theo sau là GraphConv ở mức 96.07% Nhưng điều này không phản ánh được hoàn toàn mức độ hiệu quả của mô hình do sự mất cân bằng về dữ liệu.
• ROC: EGCN đạt được điểm ROC tốt nhất (75.69%), cho thấy khả năng phân biệt tốt hơn giữa các mẫu dương tính và âm tính EGraphConv cũng hoạt
CHƯƠNG 2 DỰ ĐOÁN CHẤT ĐỘC HÓA HỌC DỰA TRÊN GNN động tốt với điểm ROC là 75.10% Qua đó có thể thấy sự chênh lệch về ROC đã làm nổi bật lợi ích của việc thêm đặc trưng của cạnh trong kiến trúc mô hình này.
Có thể thấy, các mô hình GNN đều cho ra kết quả ROC tốt hơn so với các phương pháp học máy truyền thống Điều này cho thấy sức mạnh của các phương pháp học sâu trong bài toán của khóa luận đề ra Bên cạnh đó, việc cải tiến mô hình GCN và GraphConv cũng đã đem lại được một kết quả tốt hơn so với phiên bản cũ của chúng Do đó, đây là một việc cải tiến hoàn toàn hữu ích.
Sau quá trình thực nghiệm, kết quả đã cho thấy rõ được hiệu năng mạnh mẽ của các mô hình GNN so với ba phương pháp học máy truyền thống Bên cạnh đó, quá trình thực nghiệm đã cho ra được kết quả với độ chính xác khá tốt, khoảng 75.69% với mô hình EGCN Nhưng như vậy chưa chắc đã đủ tốt để áp dụng vào thực tế trong việc dự đoán các chất độc hóa học.
Về phần mô hình, khóa luận đã thành công trong việc cải tiến những mô hình sẵn có của mạng nơ-ron đồ thị Kết quả cho thấy việc cải tiến này là hữu ích đối với bài toán được đặt ra.
Về định hướng trong tương lai, nhóm tác giả sẽ cố xây dựng và huấn luyện mô hình GNN cho 11 bài toán còn lại trong dữ liệu mà bài báo cáo này chưa thể làm được do hạn chế về thời gian Bên cạnh đó, các dữ liệu liên quan đến chủ đề cũng sẽ được tìm kiếm để sử dụng và cũng sẽ tìm thêm một số mô hình GNN khác cho hoạt động tốt hơn so với 4 mô hình hiện tại để giúp cho bài toán để đạt được kết quả tốt hơn.
Cuối cùng, xác định các chất độc hóa học là việc rất cần thiết trong lĩnh vực liên quan đến chất hóa học, đặc biệt là phát triển ra các loại thuốc mới Tuy nhiên,công việc này tốn rất nhiều thời gian và tiền bạc Bởi vậy, hy vọng khóa luận có thể giúp ích được các nhà hóa học cũng như giúp việc nghiên cứu tiêu tốn ít thời gian và tiền bạc hơn.
[1] Jarrod Bailey and Michael Balls “Recent efforts to elucidate the scientific va- lidity of animal-based drug tests by the pharmaceutical industry, pro-testing lobby groups, and animal welfare organisations” In: BMC Medical Ethics 20.1 (Mar 2019), p 16 issn: 1472-6939.doi: 10.1186/s12910-019-0352- 3 url: https://doi.org/10.1186/s12910-019-0352-3.