Việc sosánh kết quả thực nghiệm là thước đo kiểm chứng tính thực tiễn của giải thuậtđề xuất trong việc phát triển các giải thuật học.I.4 Cấu trúc của luận vănCấu trúc các Chương tiếp the
GIỚI THIỆU TỔNG QUAN
Tính cấp thiết của đề tài
Đề tài này tập trung vào việc phát triển giải thuật học hiệu quả cho việc huấn luyện mạng nơ-ron nhân tạo (ANN), với ứng dụng quan trọng trong việc xây dựng các hệ thống thông minh Kết quả của đồ án chứng minh tính hiệu quả của giải thuật tiến hóa đa nhiệm trong việc giải quyết các bài toán tối ưu liên tục phức tạp Do đó, luận văn này không chỉ đóng góp cho cộng đồng nghiên cứu học thuật mà còn có tính ứng dụng thực tiễn cao.
Mục đích và đối tượng nghiên cứu
Luận văn nghiên cứu Giải thuật tiến hóa đa nhiệm vụ (MFEA) nhằm tối ưu hóa bài toán liên tục và huấn luyện ANN truyền thẳng nhiều lớp Tác giả đề xuất phương pháp mã hóa chung cho các ANN, đồng thời phát triển giải thuật tiến hóa đa nhiệm để giải quyết bài toán Nghiên cứu thực nghiệm được thực hiện với cả mô hình đơn nhiệm và đa nhiệm, so sánh với các phương pháp dựa trên đạo hàm nhằm phân tích hiệu quả và tính thực tiễn của giải thuật Kết quả thực nghiệm chỉ ra tính hiệu quả của mô hình đa nhiệm trong việc huấn luyện đồng thời các ANN truyền thẳng.
Phạm vi và phương pháp nghiên cứu
Mô hình ANN được sử dụng trong luận văn là Mạng nơ-ron truyền thẳng (Feedforward Neural Network - FNN), áp dụng cho bài toán phân loại nhị phân Nghiên cứu này thực hiện trên bài toán -bit và bộ dữ liệu phân loại nhị phân với n.
Asuncion và Newman được giới thiệu tại [1] Các thuật toán đề xuất đã được đánh giá hiệu quả thông qua chỉ số Trung bình của bình phương lỗi.
Sai số bình phương trung bình (MSE) là một chỉ số quan trọng trong việc đánh giá độ chính xác của mô hình phân loại So sánh kết quả thực nghiệm giúp kiểm chứng tính thực tiễn của các thuật toán đề xuất, từ đó phát triển các giải thuật học hiệu quả hơn.
Cấu trúc của luận văn
Cấu trúc các Chương tiếp theo của luận văn gồm các phần như sau:
Chương II cung cấp cái nhìn tổng quan về Mạng nơ-ron nhân tạo (ANN) và bài toán tối ưu hóa liên tục Bên cạnh đó, chương này cũng trình bày về giải thuật tiến hóa (Evolutionary Algorithm - EA) và MFEA, nhằm hỗ trợ trong việc tìm kiếm giải pháp tối ưu cho các bài toán phức tạp.
• Chương III bàn về phương pháp sử dụng EA và MFEA làm giải thuật học cho ANN cùng các nghiên cứu liên quan.
• Chương IV trình bày chi tiết giải thuật học cho mạng FNN nhiều lớp dựa trên MFEA.
• Chương V tổng hợp kết quả thực nghiệm giải thuật đề xuất với các phương pháp tiếp cận dựa trên đạo hàm và EA đơn nhiệm.
Chương VI tổng kết hiệu quả và tính thực tiễn của giải thuật đề xuất, đồng thời thảo luận về các hướng nghiên cứu phát triển tiếp theo của đề tài.
CƠ SỞ LÝ THUYẾT
Tổng quan về mạng nơ-ron
Trong Khoa học máy tính, mạng nơ-ron nhân tạo (Artificial Neural Network - ANN) là một mô hình tính toán được thiết kế dựa trên nguyên lý hoạt động của các mạng nơ-ron sinh học ANN bao gồm một tập hợp các nơ-ron nhân tạo (nút) liên kết với nhau, xử lý thông tin thông qua việc truyền tải qua các kết nối và tính toán giá trị mới tại các nút bằng các hàm kích hoạt phi tuyến Các thành phần cơ bản của một nơ-ron trong ANN tương ứng với một nơ-ron sinh học bao gồm đầu vào, trọng số, hàm kích hoạt và đầu ra.
Hình II.1: Cấu trúc nơ-ron sinh học (trái) và mô hình toán học tương ứng (phải).
Nguồn: https://medium.com/@samuelsena/pengenalan-deep-learning-8fbb7d8028ac
Mô hình ANN có thể được tùy chỉnh theo từng lĩnh vực và loại dữ liệu cụ thể Dựa vào kiến trúc mạng, ANN được phân thành ba dạng chính: Mạng nơ-ron truyền thẳng.
Feedforward Neural Network - FNN), Mạng nơ-ron tích chập (thuật ngữ gốc:
Convolutional Neural Network - CNN), Mạng nơ-ron hồi qui (thuật ngữ gốc:
Mạng nơ-ron hồi tiếp (RNN) là một loại mạng nơ-ron quan trọng, tuy nhiên trong nghiên cứu của luận văn này, chúng ta chỉ tập trung vào mạng nơ-ron hồi tiếp (FNN) Do đó, từ đây trở đi, khi đề cập đến thuật ngữ ANN mà không có giải thích bổ sung, chúng ta sẽ mặc định hiểu đó là FNN.
Một mạng nơ-ron hồi tiếp (FNN) cơ bản bao gồm ba lớp chính: lớp đầu vào, lớp đầu ra và lớp ẩn Mục tiêu của FNN là xấp xỉ một hàm f ∗ để ánh xạ y = f ∗ (x) khớp với một bộ dữ liệu X, Y Lớp đầu vào tương ứng với số chiều của x, trong khi lớp đầu ra tương ứng với số chiều của y Để hiểu rõ hơn về hoạt động của FNN, chúng ta có thể xem xét các bài toán phân loại, một trong những bài toán kinh điển trong lĩnh vực Học máy Ví dụ, trong một bài toán phân loại, khi có một điểm dữ liệu màu xám, câu hỏi đặt ra là nó sẽ được phân vào lớp xanh hay lớp đỏ?
Hình II.2: Minh họa bài toán phân loại [5]
Trong mục này, tác giả tổng kết lại cấu trúc và các thành phần cơ bản của ANN cùng các giải thuật cơ bản cho ANN.
II.1.1 Các thành phần cơ bản của mạng nơ-ron nhân tạo
II.1.1.1 Đơn vị xử lý
Mỗi nút mạng trong mạng nơ-ron nhân tạo (ANN) nhận tín hiệu từ các đơn vị trước đó hoặc từ nguồn bên ngoài, sau đó tính toán và phát tín hiệu ra cho các đơn vị khác Trong một ANN, có ba loại đơn vị chính.
Hình II.3: Minh họa các đơn vị xử lý của mạng nơ-ron nhân tạo.
• đơn vị đầu vào (thuật ngữ gốc: input unit): nhận tín hiệu từ bên ngoài.
• đơn vị đầu ra (thuật ngữ gốc: output unit): gửi dữ liệu ra bên ngoài.
• đơn vị ẩn (thuật ngữ gốc:hidden unit): tín hiệu vào và ra của nó nằm trong mạng hay còn gọi là các đơn vị trung gian.
Mỗi đơn vị trong mạng có thể tiếp nhận một hoặc nhiều đầu vào, nhưng chỉ có một đầu ra Đầu vào của một đơn vị có thể là dữ liệu từ bên ngoài mạng, đầu ra của một đơn vị khác, hoặc chính đầu ra của nó Hình II.4 minh họa mô hình toán học chi tiết của một đơn vị xử lý trong mạng với các thành phần liên quan.
Hình II.4: Minh họa mô hình toán học của một đơn vị xử lý trong mạng nơ-ron nhân tạo.
• x i : các đầu vào của ANN
• w ji : các trọng số tương ứng với các đầu vào
• θ j : độ lệch (thuật ngữ gốc: bias)
Hàm kết hợp σ được định nghĩa thông qua một luật lan truyền cụ thể, và trong bài viết này, chúng ta sẽ tập trung vào luật lan truyền được thực hiện bằng phép nhân ma trận.
• g x ( ) : hàm kích hoạt (thuật ngữ gốc: activation function)
Hàm kích hoạt trong mạng nơ-ron nhân tạo (ANN) ảnh hưởng đến giá trị kết hợp của dữ liệu đầu vào, từ đó tạo ra dữ liệu đầu ra cho lớp tiếp theo Thông thường, hàm kích hoạt được thiết kế để giá trị đầu ra nằm trong khoảng (0, 1) hoặc (-1, 1), đồng thời có đạo hàm dễ tính Dưới đây là tổng hợp một số loại hàm kích hoạt phổ biến được sử dụng trong các mô hình ANN thực tế.
• Hàm đồng nhất (Identity function): f x ( ) = x
• Hàm bước nhị phân (Binary step function): f x ( ) = 0 vói x < 0 và f x ( ) = 1 với x >= 0
• Hàm tanh (Tanh function): f x ( ) = tanh x ( ) = e x − e −x e x + e −x
• Hàm relu (Rectied linea unit function): f x ( ) = 0 vói x < 0 và f x ( ) = x với x >= 0
II.1.2 Lan truyền thông tin trong mạng nơ-ron
Mạng nơ-ron nhân tạo (ANN) chuyển đổi thông tin đầu vào thành đầu ra thông qua quá trình lan truyền thẳng qua các lớp ẩn, như mô hình toán học đã mô tả Mỗi lớp trong ANN có ma trận trọng số và độ lệch riêng, được ký hiệu là W(l) ∈ R^(d(l-1) × d(l)), với l = 1, 2, , L, trong đó lớp đầu tiên được coi là lớp thứ nhất.
Trong mạng nơ-ron nhân tạo (ANN), trọng số kết nối từ lớp thứ l-1 đến lớp thứ l được ký hiệu là W Cụ thể, w(ij)l là trọng số của kết nối từ nút thứ i của lớp l-1 tới nút thứ j của lớp l Các chỉ số ký hiệu cũng tương tự với độ lệch b(l) ∈ R(d(l)) Tập hợp trọng số toàn mạng được ký hiệu là W và b, đây là các biến số cần tìm trong quá trình học để đạt được một ANN tối ưu với bộ dữ liệu.
Hình II.5: Lan truyền thông tin trong mạng nơ-ron nhân tạo [5]
Đầu ra của một đơn vị tính toán được tính theo công thức a ( ) i l = ( f w ( ) i l T a ( l− 1) + b ( ) i l ) Khi chuyển sang dạng vec-tơ, công thức này trở thành a ( ) l = ( f W i ( ) l T a ( l− 1) + b ( ) l ) Cuối cùng, đầu ra của lớp thứ l được tính bằng công thức a ( ) l = ( f z ( ) l ).
Hàm f là hàm kích hoạt đã được đề cập trước đó Khi áp dụng hàm kích hoạt cho một vec-tơ, cần thực hiện trên từng phần tử để nhận được vec-tơ tương ứng.
Trong học máy có giám sát, hàm mất mát (loss function) được sử dụng làm mục tiêu cho quá trình học Khi nhận đầu vào, mạng nơ-ron nhân tạo (ANN) sẽ sản sinh ra đầu ra x ˆ y, trong khi đầu ra đúng được gán nhãn là y.
Để đánh giá hiệu quả dự đoán của ANN so với đầu ra chuẩn, chúng ta sử dụng hàm mất mát L(y, ˆy) để so sánh mức độ khớp giữa đầu ra dự đoán và đầu ra thực tế Tùy thuộc vào bộ dữ liệu và bài toán phân loại, các hàm mất mát khác nhau sẽ được áp dụng Một ví dụ tiêu biểu là hàm Trung bình của bình phương lỗi (Mean Square Error - MSE).
II.1.4 Giải thuật lan truyền ngược trong mạng nơ-ron
Một trong những phương pháp tối ưu hàm mất mát hiệu quả là Đi ngược hướng đạo hàm, hay còn gọi là Gradient Descent (GD) Để thực hiện phương pháp này, cần tính đạo hàm theo từng biến cho cả J và W, cụ thể là ∇W(J) = ∂J.
Tổng quan về tối ưu hóa liên tục
Trong toán học và khoa học máy tính, tối ưu hóa là quá trình tìm kiếm giải pháp tốt nhất trong tập hợp các giải pháp khả thi Tối ưu hóa có hai nhánh chính: tối ưu hóa liên tục và tối ưu hóa rời rạc Sự khác biệt giữa chúng nằm ở không gian biến quyết định, với tối ưu hóa liên tục sử dụng biến quyết định liên tục, trong khi tối ưu hóa rời rạc sử dụng biến quyết định rời rạc.
Tối ưu hóa liên tục trong toán học là quá trình cực tiểu hóa hoặc cực đại hóa một hàm liên tục, đồng thời đảm bảo các ràng buộc của bài toán Các bài toán này có thể dễ dàng chuyển đổi giữa cực tiểu hóa và cực đại hóa thông qua các phép toán đơn giản Vì vậy, trong toàn bộ luận văn, khi nhắc đến thuật ngữ tối ưu hóa mà không có giải thích thêm, chúng ta sẽ hiểu là đang nói về bài toán cực tiểu hóa.
Trong phần này, tác giả tóm tắt định nghĩa về bài toán tối ưu hóa liên tục cùng với các phương pháp giải quyết Bài viết cũng mở rộng sang các khía cạnh khác như tối ưu hóa đa biến (multi-variate optimization), tối ưu hóa đa mục tiêu (Multi-Objective Optimization - MOO) và tối ưu hóa đa nhiệm vụ (Multi-Factorial Optimization - MFO).
II.2.1 Bài toán tối ưu liên tục
Bài toán tối ưu hóa liên tục được định nghĩa là việc cực tiểu hóa hàm f(x) với x thuộc R^n, ký hiệu là min x∈R^n f(x), dưới các ràng buộc g_i(x) ≤ 0 cho i = 1, , p và h_i(x) = 0 cho i = 1, , q.
• g i ( ) x ≤ 0 là các ràng buộc bất đẳng thức
• h i ( ) = 0 x là các ràng buộc đẳng thức
Lời giải của bài toán là nghiệm x ∗ ∈ R n thỏa mãn g i (x ∗ ) ≤ 0, h i (x ∗ ) = 0 và f x ( ∗ ) ≤ f x ( ) ∀ ∈ x R n
Trong bài toán tối ưu hóa liên tục không ràng buộc, khi p = q = 0, hàm f(x) được coi là hàm lồi nếu thỏa mãn điều kiện f(αx(1) + βx(2)) ≤ αf(x(1)) + βf(x(2)) cho mọi x1, x2 thuộc Rn và với mọi α, β ≥ 0.
0 , α + β = 1, thì ta gọi là bài toántối ưu lồi (thuật ngữ gốc: convex optimization)
Một trong những đặc điểm quan trọng của bài toán tối ưu lồi là mọi điểm tối ưu cục bộ đều là điểm tối ưu toàn cục Các hàm lồi có thể được tối ưu hóa dễ dàng trong một số bước với độ phức tạp đa thức Tuy nhiên, nhiều bài toán thực tế không phải là hàm lồi và thường có nhiều điểm tối ưu cục bộ Việc tối ưu mạng nơ-ron nhân tạo (ANN) chủ yếu liên quan đến các hàm không lồi Mặc dù vậy, lý thuyết tối ưu lồi vẫn đóng vai trò quan trọng trong việc phát triển các phương pháp tối ưu tổng quát.
Ví dụ II.2.1 Hàm Rastrigin: f x ( ) = An + n
Hình II.6: Minh họa hàm không lồi Rastrigin trên không gian 2 chiều.
Nguồn: http://adammaus.com/wp/tag/rastrigin-function/
II.2.2 Một số phương pháp giải bài toán tối ưu liên tục
Các phương pháp giải quyết bài toán tối ưu hóa liên tục không ràng buộc thường tập trung vào việc tìm kiếm hơn là cung cấp công thức cụ thể Tất cả các thuật toán bắt đầu từ một lời giải ban đầu x0 và áp dụng các chiến lược để cập nhật các giá trị x1, x2, , xk cho đến khi đạt được giá trị tối ưu nhất Sự khác biệt giữa các giải thuật chủ yếu nằm ở cách thức xây dựng chiến lược cập nhật từ những lời giải đã được kiểm tra.
II.2.2.1 Phương pháp đưòng tìm kiếm
Phương pháp đường tìm kiếm (line search) là một kỹ thuật tối ưu hóa, trong đó hướng tìm kiếm cố định được sử dụng để cập nhật lời giải qua công thức x k+1 = x k + α k p k, với α k là độ dài bước nhảy và p k là hướng cập nhật Hiệu quả của thuật toán phụ thuộc vào hướng và độ lớn bước nhảy, thường chọn hướng ngược với đạo hàm để giảm giá trị hàm f cần tối ưu Đối với các phương pháp dựa trên GD, B k là ma trận đơn vị, trong khi với phương pháp Newton, B k là ma trận Hessian ∇ 2 f x ( k ) Sự khác biệt trong bước nhảy α k dẫn đến các thuật toán khác nhau, chẳng hạn như phương pháp đi ngược hướng đạo hàm với bước nhảy nhằm tối thiểu hóa hàm mục tiêu (steepest descent).
Các phương pháp heuristic rất phổ biến trong tối ưu hóa liên tục nhờ vào sự đơn giản và hiệu quả của chúng, giúp tìm ra giải pháp khả thi trong thời gian hợp lý.
Thuật toán tìm kiếm địa phương (local search) là một chiến lược tối ưu hóa, trong đó lời giải được cập nhật dựa trên việc xác định một vùng lân cận x − ε đến x + ε quanh nghiệm hiện tại Bằng cách áp dụng các chiến lược lựa chọn nghiệm trong vùng này, chúng ta có thể phát triển nhiều phương pháp tìm kiếm cục bộ khác nhau để cải thiện kết quả tìm kiếm.
Hình II.7: Minh họa giải thuật tìm kiếm cục bộ.
Thuật toán tiến hóa (Evolutionary Algorithm - EA) là một nhóm các thuật toán tìm kiếm dựa trên quần thể, sử dụng tập hợp các lời giải khả thi cho bài toán tối ưu hóa liên tục Dựa trên lý thuyết tiến hóa của Darwin, EA coi quá trình tiến hóa tự nhiên là hình mẫu tối ưu nhất Điểm đặc trưng của EA là việc tạo ra lời giải mới thông qua việc kết hợp các lời giải hiện có trong quần thể bằng các toán tử di truyền như lai ghép và đột biến Trong bối cảnh tối ưu hóa liên tục, các toán tử này chủ yếu dựa vào các quy tắc phân bố xác suất, phép chéo hóa và phép vi phân, sẽ được trình bày chi tiết trong Phần II.3.
II.2.3 Tối ưu đa mục tiêu
Trong thực tiễn, nhiều vấn đề tối ưu hóa yêu cầu tìm giải pháp tối ưu cho nhiều mục tiêu khác nhau Ví dụ, khi lựa chọn vé máy bay 2 chiều từ Hà Nội đến Thành phố Hồ Chí Minh, ta cần cân nhắc nhiều tiêu chí như giá vé và thời gian bay Tình huống này dẫn đến nhu cầu mô hình hóa và giải quyết các bài toán tối ưu hóa đa mục tiêu (MOO) Theo định nghĩa, bài toán MOO có thể được phát biểu trên không gian liên tục với mục tiêu cực tiểu hóa tập M của hàm f m ( ) x, với x thuộc R n và m thuộc tập hợp các chỉ số mục tiêu.
{ 1 2 , , , M } ký hiệu là min x∈ R n f m ( ) x , sao cho g i ( ) x ≤ 0 với i = 1 , p và h i ( ) = 0 x với i = 1 , q Trong đó:
• g i ( ) x ≤ 0 là các ràng buộc bất đẳng thức
• h i ( ) = 0 x là các ràng buộc đẳng thức
Trong bối cảnh có nhiều hàm mục tiêu, việc so sánh các lời giải khả thi được thực hiện thông qua định nghĩa trội Pareto Cụ thể, một lời giải x1 ∈ Rn được coi là trội hơn một lời giải khác x2 ∈ Rn, ký hiệu là x1 ≺ x2, khi và chỉ khi x1 vượt trội hơn x2 về ít nhất một hàm mục tiêu mà không kém hơn về bất kỳ hàm mục tiêu nào khác.
Việc so sánh lời giải dựa trên Định nghĩa 3 làm cho việc đánh giá từng lời giải một cách rõ ràng trở nên không khả thi Thay vào đó, người ta thường so sánh và đánh giá một tập hợp các lời giải đồng thời Dưới đây là một số khái niệm liên quan đến tối ưu Pareto.
Hình II.8: Các khái niệm trong tối ưu hóa đa mục tiêu.
Tập nghiệm không trội là tập hợp tất cả các lời giải mà không có lời giải nào vượt trội hơn các lời giải khác Mỗi lời giải trong tập này đều có giá trị riêng, không thể bị thay thế bởi một lời giải nào khác mà tốt hơn ở tất cả các tiêu chí đánh giá.
• Biên tạo bởi giá trị các hàm mục tiêu tương ứng của tập nghiệm không trội được gọi là biên Pareto (thuật ngữ gốc: Pareto front).
• Trong không gian tìm kiếm tập nghiệm không trội tốt nhất được gọi là tập nghiệm tối ưu Pareto (thuật ngữ gốc: Pareto-optimal set).
Tổng quan về giải thuật tiến hóa đa nhiệm vụ
MFEA là một phương pháp được phát triển từ EA, với những đặc điểm riêng biệt phù hợp cho không gian đa nhiệm Trước khi khám phá sâu hơn về MFEA, chúng ta cần tóm tắt một số tư tưởng cốt lõi của EA trong việc giải quyết các bài toán tối ưu hóa liên tục.
II.3.1 Giải thuật tiến hóa
Các thuật toán EA đã được phát triển theo nhiều hướng khác nhau như
Tiến hóa vi phân (thuật ngữ gốc: Differential Evolution DE- ) [14], Tối ưu bầy đàn (thuật ngữ gốc: Particle Swarm Optimization PSO- ) [15], Tối ưu đàn kiến
Tối ưu hóa tổ kiến (Ant Colony Optimization - ACO) là một phương pháp hiệu quả trong việc giải quyết bài toán tối ưu hóa liên tục Thông qua lý thuyết và thực tiễn, các thuật toán tiến hóa (EA) đã chứng minh tính khoa học và hiệu quả của chúng Ý tưởng chính của EA được thể hiện rõ trong Giải thuật 3.
Các biến thể của thuật toán di truyền (EA) chủ yếu khác nhau ở cách kết hợp các lời giải mới thông qua hai bước chính: lai ghép (cross over) và đột biến (mutation) Đối với các yếu tố di truyền là số thực, các phương pháp lai ghép và đột biến thường được xây dựng dựa trên các quy luật phân bố xác suất hoặc các khái niệm về bước nhảy, như đường tìm kiếm, và thậm chí có thể sử dụng đạo hàm và độ lệch của hàm tối ưu Bài viết này sẽ tập trung vào phương pháp lai ghép phỏng chéo hóa.
Giải thuật 3: Các bước chính của giải thuật tiến hóa.
2 Đánh giá độ thích nghi
3 while điều kiện dừng chưa thỏa do
4 Lai ghép và Đột biến
5 Đánh giá độ thích nghi
The primary transformations utilized in implementing the proposed algorithm include Simulated Binary Crossover (SBX), Polynomial Mutation (PMU), and Differential Evolution (DE).
II.3.1.1 Lai ghép phỏng chéo hóa nhị phân
Chéo hóa nhị phân, hay còn gọi là lai ghép 1 điểm cắt, là một phép lai ghép cơ bản trong thuật toán tiến hóa (EA), đặc biệt hiệu quả cho các bài toán tối ưu tổ hợp Phép lai này có những đặc tính quan trọng, bao gồm việc không làm thay đổi trung bình giá trị kiểu gen và tạo ra kiểu gen con có tính kế thừa gần giống với cha mẹ Nhờ vào những đặc điểm này, EA có khả năng duy trì các khối di truyền cơ bản qua các thế hệ trong quá trình tiến hóa Dựa trên những đặc tính này, Agrawal, Deb và Agrawal đã phát triển phép lai SBX cho số thực.
Với 2 cái thể cha mẹ p 1 , p 2 ∈ R n , SBX sinh ra 2 con lai c 1 , c 2 ∈ R n theo các bước sau:
• Tính theo công thức sau: β β =
(8) với η c là chỉ số phân bố được tùy chọn (thông thường từ đến ).2 10
• Cuối cùng, tính con lai c 1 , c 2 theo công thức:
Giá trị trung bình kiểu gen của con lai c1 và c2 tương đương với cha mẹ p1 và p2 Hơn nữa, phân bố phạm vi của con lai cũng nằm gần gũi với cha mẹ, như được mô tả trong Hình II.9.
Hình II.9: Phân bố con lai theo phép lai ghép phỏng chéo hóa nhị phân [20]
II.3.1.2 Đột biến đa thức Để tìm con đột biến p 0 từ một lời giải , ta thực hiện các bước như sau: p
• Tính δ ¯ L và ¯ δ R theo công thức sau:
• Cuối cùng, sinh ra con đột biến p 0 theo công thức sau: p 0 =
Con lai sinh ra p 0 có phân bố xác suất như Hình II.10, trong đó trục hoành thể hiện giá trị của biến và trục tung thể hiện xác suất phân bố tương ứng.
Hình II.10: Phân bố con sinh ra phép đột biến đa thức [21]
II.3.1.3 Phép biến đổi tiến hóa vi phân
Trong số các phương pháp tiến hóa, Differential Evolution (DE) đã chứng minh sự vượt trội trong việc giải quyết các bài toán tối ưu hóa liên tục Các phép lai ghép và đột biến trong DE được xây dựng dựa trên công thức vi phân từng biến của kiểu gen Đối với một vec-tơ lời giải x ∈ R n, biến thứ i được ký hiệu là x ( ) i, với các lời giải khác nhau được đánh chỉ số x 1, x 2, Phép biến đổi của DE tác động lên ba lời giải x 1, x 2, x 3 để tạo ra lời giải mới x new, với từng thành phần được tính theo công thức: x ( ) new i = x ( ) 1 i + F i (x ( ) 2 i − x ( ) 3 i ).
Các biến thể DE chủ yếu tập trung vào việc khai thác vấn đề chọn lọc cá thể từ x1 và độ lệch vi phân x2, x3 Hệ số Fi cũng đóng vai trò quan trọng trong việc xác định độ dài bước nhảy vi phân; khi Fi lớn, con sinh ra sẽ ở xa cha mẹ hơn và ngược lại.
II.3.2 Giải thuật tiến hóa đa nhiệm vụ
MFEA, được đề xuất bởi Gupta, Ong và Feng, là một phương pháp tối ưu hóa đa mục tiêu, cho phép tìm kiếm bộ nghiệm tối ưu cho từng bài toán con cùng lúc Phương pháp này tận dụng sức mạnh của tìm kiếm dựa trên quần thể, với giả thuyết rằng các bài toán khác nhau có thể chia sẻ những đặc điểm chung, như không gian nghiệm tương tự Điều này giúp các bài toán hỗ trợ lẫn nhau, tránh tình trạng cục bộ hóa, đặc biệt trong trường hợp các hàm tối ưu có tính chất lồi Nhiều nghiên cứu đã chứng minh hiệu quả của MFEA trong việc giải quyết các bài toán tối ưu hóa đơn mục tiêu.
MFEA được phát triển dựa trên đặc tính của mô hình MFO, với các cải tiến để phù hợp hơn Không gian các bài toán con được mã hóa chung trong một miền không gian chung, cho phép các lời giải có chung kiểu gen Khi các cá thể đồng nhất trên không gian chung, chúng có thể áp dụng các toán tử di truyền mà không vi phạm ràng buộc bài toán Để đánh giá độ thích nghi của từng cá thể, cần có một phương pháp so sánh xếp hạng hiệu quả trong không gian đa nhiệm Gupta, Ong và Feng đã đề xuất 4 khái niệm để hỗ trợ cho việc này.
• T k nhiệm vụ tối ưu thứ tương ứng với k f k ( ) : x X k → R là hàm mục tiêu của bài toán thứ k
Quần thể hiện tại P có giá trị thích nghi đơn nhiệm của cá thể x i ∈ P đối với nhiệm vụ tối ưu hóa T k được định nghĩa là φ ( ) i k = λδ i ( ) k + f k (x i ) Trong đó, λ δ ( ) i k là tổng các ràng buộc vi phạm, và nếu bài toán không có ràng buộc thì δ ( ) i k = 0, dẫn đến φ ( ) i k = f k (x i ), tức là giá trị hàm mục tiêu tương ứng với nhiệm vụ tối ưu hóa T k Ngoài ra, chỉ số kỹ năng τ i của cá thể x i ∈ P được xác định dựa trên chỉ số của nhiệm vụ k.
Trong bài toán tối ưu hóa, giá trị thích nghi đơn nhiệm tốt nhất được xác định bằng cách tìm τ i = arg min k (φ ( ) i k ) Đối với bài toán không có ràng buộc, điều này trở thành τ i = arg min k (f k (x i )) Xếp hạng đơn nhiệm r ( ) i k của cá thể x i ∈ P được xác định dựa trên thứ tự giảm dần giá trị thích nghi đơn nhiệm φ ( ) i k trong tập P Cuối cùng, độ thích nghi vô hướng ω i của cá thể x i ∈ P trong không gian đa nhiệm được tính bằng nghịch đảo của xếp hạng đơn nhiệm tốt nhất, hay ω i = 1 min k r ( ) i k.
Dựa trên các định nghĩa đã nêu, chúng ta có thể xây dựng hàm tính độ thích nghi vô hướng trong không gian đa nhiệm Trên cơ sở đó, Gupta, Ong và Feng đã đề xuất một lược đồ giải thuật cho MFEA.
Giải thuật 4: Các bước chính của giải thuật tiến hóa đa nhiệm vụ.
1 Khởi tạo và gán chỉ số kỹ năng (thuật ngữ gốc: skill factor ) cho mỗi cá thể
2 Đánh giá độ thích nghi mỗi cá thể theo chỉ số kỹ năng tương ứng
3 while điều kiện dừng chưa thỏa do
4 Lai ghép và Đột biến xem Giải thuật 5
Đánh giá giá trị thích nghi đơn nhiệm cho mỗi cá thể mới được thực hiện dựa trên chỉ số kỹ năng của từng cá thể Trong quá trình này, các nhiệm vụ khác sẽ được gán giá trị φ ( ) i k = 0, nhằm đảm bảo sự tập trung vào nhiệm vụ chính.
6 Đánh giá độ thích nghi vô hướng
GIẢI THUẬT TIẾN HÓA HUẤN LUYỆN MẠNG NƠ-RON
Các phương pháp dựa trên đạo hàm
Phương pháp GD và các biến thể của nó được coi là một trong những phương pháp phổ biến nhất trong tối ưu hóa Ý tưởng chính là bắt đầu từ một điểm gần với nghiệm của bài toán và sử dụng phương pháp lặp để tiến dần đến điểm cần tìm, cho đến khi đạo hàm đạt gần giá trị 0.
Trong tối ưu hóa hàm một biến f(x) với x* là tối ưu cục bộ, nếu có một điểm x_t gần x* và f'(x_t) > 0, hướng cập nhật tốt nhất cho x_t là ngược với đạo hàm tại điểm đó Trong phương pháp Gradient Descent (GD), x_t được cập nhật theo công thức x_{t+1} = x_t - ηf'(x_t), với η là tốc độ học Hướng cập nhật tham số theo GD giúp tối ưu hóa nhanh chóng đến điểm cục bộ tương ứng với điểm xuất phát ban đầu, đây là cách tiếp cận trực quan và là công cụ chính để phát triển các thuật toán phức tạp hơn.
Hình III.1: Minh họa cách cập nhật tham số của GD.
Dựa trên nhận xét trên, công thức cập nhật tham số cho hàm nhiều biến \( f(\theta) \) được xây dựng như sau: \( \theta_{t+1} = \theta_t - \nabla \eta \, f(\theta_t) \) Công thức này thường được sử dụng để ký hiệu tập tham số của mô hình cần tối ưu hóa.
Khi áp dụng Gradient Descent (GD) vào mạng nơ-ron nhân tạo (ANN), việc tính toán đạo hàm thông qua quá trình lan truyền ngược là rất quan trọng Nhiều thuật toán dẫn xuất đã được phát triển từ GD, tập trung vào việc cải tiến điểm khởi đầu, điều chỉnh bước nhảy cố định hoặc di động, và tối ưu hóa hướng cập nhật tham số η Những cải tiến này giúp thuật toán vượt qua các tối ưu cục bộ, tiến gần hơn đến tối ưu toàn cục.
Trong quá trình học máy, việc tính đạo hàm cho toàn bộ bộ dữ liệu lớn là rất tốn kém Thay vào đó, chúng ta chỉ tính đạo hàm của hàm mất mát dựa trên một hoặc một số điểm dữ liệu tại mỗi thời điểm và cập nhật tham số mô hình theo đạo hàm này Quá trình này được lặp lại cho đến khi tất cả các điểm dữ liệu được duyệt qua nhiều lần, mỗi lần như vậy gọi là một epoch Biến thể của phương pháp Gradient Descent này được gọi là Đi ngược hướng đạo hàm ngẫu nhiên (Stochastic Gradient Descent - SGD).
SGD là phương pháp tối ưu lý tưởng cho các bài toán với lượng dữ liệu lớn và yêu cầu mô hình thay đổi liên tục Để tối ưu hiệu suất của SGD, việc xáo trộn thứ tự dữ liệu sau mỗi epoch là rất quan trọng nhằm đảm bảo tính ngẫu nhiên trong quá trình huấn luyện.
III.1.3 Stochastic Gradient Descent với động lực
Thuật toán Gradient Descent (GD) có thể hình dung như việc thả một hòn bi vào thung lũng, nơi hòn bi sẽ di chuyển đến vị trí thấp nhất nhờ lực hấp dẫn, đạt được trạng thái cân bằng Trong Hình III.2-a, bất kể vị trí thả nào, hòn bi đều ổn định tại điểm thấp nhất Ngược lại, trong Hình III.2-b, hòn bi có thể bị mắc kẹt tại điểm C D nếu thả từ vị trí B B Để giúp hòn bi vượt qua điểm này, cần bổ sung một lực quán tính, giúp hòn bi duy trì vận tốc đủ lớn để vượt qua chướng ngại vật và tiếp tục di chuyển xuống điểm C như thể hiện trong Hình III.2-c.
Ta bổ sung thêm vận tốc khi cập nhật tham số mô hình: v t = γv t−1 + η∇ θ f θ ( ).Khi ấy tham số được cập nhật theo công thức θ θ t+1 = θ t − v t Cải tiến nhỏ này
Hình III.2: Minh họa GD dưới góc nhìn vật lý [5] tỏ ra rất hiệu quả trong thực tế.
Sử dụng giải thuật tiến hóa làm giải thuật học
Giống như việc áp dụng các thuật toán tiến hóa (EA) để giải quyết bài toán tối ưu hóa, EA cũng rất phù hợp cho việc triển khai các giải thuật học trong mạng nơ ron nhân tạo (ANN) Mạng nơ ron nhân tạo tiến hóa, hay còn gọi là Evolutionary Artificial Neural Network, sử dụng EA để cải thiện hiệu suất và khả năng học tập của mô hình.
EANN, hay Mạng Nơ-ron Tiến hóa, là một thuật ngữ chỉ lớp các Mạng Nơ-ron Nhân tạo (ANN) trong đó Thuật toán Tiến hóa (EA) được sử dụng làm phương pháp học Nhờ vào đặc tính tiến hóa, EANN có khả năng thích nghi hiệu quả với nhiều bài toán khác nhau trong các điều kiện môi trường đa dạng EANN được chia thành ba cấp độ học chính: tối ưu hóa trọng số kết nối, tối ưu hóa kiến trúc mạng và tối ưu hóa quy tắc học.
Tối ưu trọng số kết nối trong mạng nơ-ron nhân tạo (ANN) là quá trình giữ cố định cấu hình và các đơn vị xử lý, tập trung vào việc tìm kiếm bộ trọng số tối ưu cho mô hình Việc này giúp cải thiện hiệu suất của ANN bằng cách tối ưu hóa các kết nối giữa các nơ-ron, từ đó nâng cao khả năng dự đoán và phân loại của mô hình.
Tối ưu kiến trúc mạng là quá trình tìm kiếm cấu hình mạng tối ưu, bao gồm số lượng lớp ẩn và số đơn vị xử lý Điều này cũng liên quan đến cách kết nối giữa các đơn vị xử lý và lựa chọn hàm kích hoạt cho từng đơn vị, nhằm nâng cao hiệu suất và khả năng học tập của mô hình.
III.2.1 Tối ưu trọng số kết nối
Tối ưu trọng số kết nối trong mạng nơ-ron nhân tạo (ANN) chủ yếu tập trung vào việc tìm kiếm bộ trọng số tối ưu cho mô hình, trong khi giữ nguyên cấu hình mạng và các đơn vị xử lý Các phương pháp điển hình được đề cập trong phần III.1 dựa trên đạo hàm, bên cạnh đó còn tồn tại nhiều biến thể khác của phương pháp giảm dần theo gradient (SGD) như Lan truyền ngược trung bình bình phương lỗi (RMSProp) và Gia tốc cho đạo hàm Nesterov.
Thuật toán Nesterov Accelerated Gradient (NAG) và Adam đã chứng minh hiệu quả cao trong nhiều lĩnh vực, nhưng vẫn gặp phải nhược điểm của các phương pháp dựa trên đạo hàm Các mô hình mạng nơ-ron nhân tạo (ANN) với số lượng tham số lớn tạo ra một không gian tìm kiếm phức tạp, chứa nhiều điểm tối ưu cục bộ và các vùng phẳng, gây khó khăn trong việc tìm kiếm tối ưu toàn cục và yêu cầu khối lượng tính toán lớn EANN đã phát triển một chiến lược tự thích nghi giúp tối ưu trọng số kết nối mà không cần tính đạo hàm, coi việc học ANN như một bài toán tối ưu hóa liên tục thông qua các chiến lược mã hóa nhị phân hoặc mã hóa số thực Nhờ đó, EANN có khả năng xử lý các hàm phức tạp và không khả vi, đặc biệt là trong các ANN sâu và nhiều tham số EANN đã được chứng minh là một phương pháp tối ưu hóa cạnh tranh với các thuật toán dựa trên đạo hàm, và hiệu quả của nó phụ thuộc vào bài toán cụ thể Nhiều thuật toán EANN được phát triển dựa trên các phép biến đổi Gaussian và Cauchy, với ứng dụng thực tiễn trong tối ưu trọng số ANN, mang lại cải tiến đáng kể so với các phương pháp truyền thống.
III.2.2 Tối ưu kiến trúc mạng
Do đó, các phương pháp mã hóa không trực tiếp thường được sử dụng nhiều hơn Một số cách mã hóa không trực tiếp có thể kể đến như: tham số hóa đặc tả cấu hình (đặc tả số lớp, số đơn vị xử lý trên từng lớp ), mã hóa dựa trên các luật sinh (cách thức tổ hợp lại ANN từ các đơn vị kết nối cơ bản),
Hình III.3: Minh họa một phương pháp mã hóa trực tiếp mạng nơ-ron [38]
Trong cách tiếp cận tăng dần độ phức tạp, xuất phát từ một ANN đơn giản,trải qua các thế hệ, các đơn vị xử lý mới dần được thêm vào để tăng độ phức tạp mô hình Điển hình trong cách tiếp cận này, Stanley and Miikkulainen đề xuất Tiến hóa mạng nơ-ron thông qua tăng cường kiến trúc mạng (thuật ngữ gốc: NeuroEvolution through Augmenting Topologies NEAT- ) với một cách mã hóa mở, có khả năng khả năng thêm dần các lớp, các đơn vị xử lý kết nối mới khi cần thiết, để quá trình tiến hóa đồng thời tìm ra cấu hình mạng tối ưu [49].Nhóm Stanley, D’Ambrosio, and Gauci tiếp tục phát triển Hyper-NEAT với giả định một kiến trúc mạng lớn gồm các thành phần con (các ANN nhỏ) kết nối với nhau [50] Thuật toán của họ đề xuất một chiến lược tiến hóa đồng thời tối ưu các thành phần con và tổng hợp lại để thu được một ANN tổng thể phức tạp Ngược lại với cách tiếp cận này là cách giảm dần độ phức tạp, khi đó, xuất phát từ một mạng ANN cỡ lớn ban đầu ta thực hiện cắt tỉa dần các kết nối, các đơn vị xử lý và các lớp ẩn để thu được cấu hình mạng tốt nhất Cách này thường ít được sử dụng hơn vì khi tiếp cận một bài toán mới, ta thường không có tri thức cụ thể về cấu hình mạng đủ lớn để làm điểm xuất phát cho thuật toán.
Trong các ANN thông thường, hàm kích hoạt thường được cho là giống nhau ở tất cả các đơn vị xử lý thuộc lớp ẩn (lớp đầu ra có thể khác) Agostinelli et al. đã chỉ ra các điểm mạnh của mô hình ANN không đồng nhất hàm kích hoạt và tiến hóa hàm thích nghi cũng là một khía cạnh mà các giải thuật dựa trên đạo hàm không thể làm được [51] EA là một cách tiếp cận hợp lý và hiệu quả cho vấn đề này Hagg, Mensing, and Asteroth đề xuất giải thuật dựa trên NEAT cùng lúc tối ưu lựa chọn hàm kích hoạt cho các đơn vị xử lý [52] Tóm lại, có thể kết luận rằng, EA thực sự có nhiều tiềm năng để trở thành một giải thuật học tổng quát ở mọi cấp độ học của ANN.
Tiến hóa đa nhiệm trong huấn luyện mạng nơ-ron
Như đã trình bày ở Mục II.2.4, MFEA là một thuật toán hiệu quả trong giải quyết các bài toán tối ưu hóa Vì vậy MFEA cũng sẽ là một ứng cử viên sáng giá trong cài đặt các giải thuật học cho ANN Chandra et al lần đầu tiên đề xuất cách tiệp cận MFEA cho huấn luyện ANN trên các bài toán phân loại nhị phân
[53, 54] Bài báo đưa ra phương pháp biểu diễn chung các ANN 1 lớp ẩn và đồng thời tối ưu trọng số cho nhiều ANN cùng lúc Hình III.4 Phương pháp biểu diễn này lấy cơ sở bằng cách giới hạn các ANN đều có 1 lớp ẩn với cùng số lượng lớp đầu vào (thuật ngữ gốc: input layer) và lớp đầu ra, điểm khác nhau duy nhất đó là số lượng đơn vị ẩn Theo đó, Chandra et al đề xuất phương pháp chiếu trọng số của mỗi đơn vị ẩn lên một phần của gen chung và lấy bộ gen của ANN có số lượng đơn vị ẩn lớn nhất làm biểu diễn chung như ở trong Hình III.4 là mạng con thứ 3 với 4 đơn vị ẩn Các ANN nhỏ hơn sẽ sử dụng chung phần tham số của gen lớn hơn theo thứ tự như trong Hình III.4 Chandra et al sử dụngSBX và PMU là toán tử di truyền chính cho các phép biến đổi trên không gian chung Kết quả thực nghiệm bài báo trên bài toán phân loại nhị phân -bit đã n chỉ ra những điểm mạnh của MFEA trong tối ưu trọng số ANN so với EA Tuy nhiên bài báo chỉ dừng lại ở mô hình mạng nông với 1 lớp ẩn mà chưa nghiên cứu các mô hình mạng sâu hơn Các cải tiến mới trong huấn luyện ANN thực sự vẫn cần các nghiên cứu cơ bản về lĩnh vực tối ưu hóa để bổ trợ.
Hình III.4: Mã hóa các mạng nơ-ron 1 lớp ẩn trong cùng không gian chung [54]
Gần đây, nhóm nghiên cứu Gupta, Ong, and Feng tiếp tục phát triển mô hình MFO kết hợp với ý tưởng của học có truyền đạt(thuật ngữ gốc:transfer learning)
[56] trở thành tối ưu hóa có truyền đạt (thuật ngữ gốc: transfer optimization)
Mô hình tối ưu hóa có truyền đạt cho phép giải quyết bài toán tối ưu hóa mới dựa trên tri thức từ các bài toán cũ, bằng cách duy trì tập quần thể cá thể tốt đã giải Khi gặp bài toán mới, chỉ cần điều chỉnh các cá thể sẵn có, tiết kiệm chi phí và công sức cho chuyên gia Học có truyền đạt và tối ưu hóa có truyền đạt là những phương pháp hiệu quả để điều chỉnh tham số mô hình theo sự thay đổi của dữ liệu Tuy nhiên, sự bùng nổ số lượng tác vụ tối ưu có thể làm giảm hiệu quả của MFEA, thậm chí tồi tệ hơn EA Nghiên cứu của Wen và Ting chỉ ra rằng các con lai từ lai ghép khác nhiệm vụ có độ thích nghi thấp và tỉ lệ sống thấp, gây cản trở cho mỗi nhiệm vụ tối ưu hóa Họ đề xuất phương pháp tự thích nghi để phân bổ lại tài nguyên cho việc lai ghép các cá thể khác nhiệm vụ, nhằm cải thiện hiệu quả tối ưu hóa.
Hình III.5: Minh họa hiện tượng chia rẽ trong tiến hóa đa nhiệm [57]
Bali et al trong nghiên cứu của họ đã giải quyết hiện tượng chia rẽ đám quần thể bằng cách thực hiện phép biến đổi tuyến tính, giúp các nhiệm vụ lai ghép có ý nghĩa hơn và đạt được điểm tối ưu Mặc dù thuật toán này tỏ ra hiệu quả hơn so với MFEA gốc, nhưng nó gặp khó khăn khi tối ưu hóa nhiều tác vụ cùng lúc do cần thực hiện phép biến đổi nhiều lần Trong khi đó, Tang et al đã đề xuất một cách tiếp cận mới bằng cách nhóm các tác vụ tối ưu hóa tương tự và hạn chế lai ghép giữa các cá thể trong nhóm Họ sử dụng phương pháp phân cụm K-mean để tối ưu hóa việc nhóm các nhiệm vụ, từ đó cải thiện hiệu suất của mô hình MFO trong việc xử lý nhiều tác vụ tối ưu hóa.
Hướng nghiên cứu áp dụng MFEA cho tối ưu hóa, đặc biệt là huấn luyện ANN, vẫn còn nhiều tiềm năng và cần sự quan tâm từ cộng đồng khoa học toàn cầu Luận văn này tập trung vào việc nghiên cứu MFEA nhằm tối ưu hóa trọng số kết nối của ANN.
ĐỀ XUẤT GIẢI THUẬT HỌC CHO MẠNG NƠ-RON TRUYỀN THẲNG NHIỀU LỚP DỰA TRÊN THUẬT TOÁN TIẾN HÓA ĐA NHIỆM VỤ
Phương pháp mã hóa mạng nơ-ron nhiều lớp trong không gian chung
Khi ANN chỉ có một lớp, sự khác biệt giữa các cấu hình mạng chủ yếu nằm ở số lượng đơn vị xử lý trong lớp ẩn Phương pháp mã hóa của Chandra et al bắt nguồn từ một mạng cơ bản nhỏ nhất trong không gian chung, và khi thêm mỗi đơn vị xử lý, họ cũng bổ sung các tham số kết nối tương ứng vào phần cuối của kiểu gen Tuy nhiên, phương pháp này không còn hiệu quả khi số lớp tăng lên, đặc biệt là khi các ANN có số lớp khác nhau.
Để khắc phục những hạn chế hiện có, luận văn này đề xuất một phương pháp mã hóa mới Hình IV.2 minh họa phương pháp mã hóa này cho ba mạng thuộc ba tác vụ tối ưu đa nhiệm khác nhau với cấu hình dạng rút gọn là G 0.
Một kiểu gen chung được áp dụng cho tất cả các mạng thành phần, trong đó cách chiếu các thành phần trọng số và độ lệch của mạng lên kiểu gen chung được thể hiện bằng các con số tương ứng.
Cấu hình mạng nơ-ron chung lớn nhất được xác định bởi kiểu gen với số lớp và số lượng đơn vị xử lý thành phần tối đa Giải thuật 6 đảm bảo việc xác định chính xác cấu hình này, tối ưu hóa hiệu suất của mạng nơ-ron.
Hình IV.2: Mã hóa các mạng nơ-ron nhiều lớp trong cùng không gian chung.
Giải thuật 6: Giải thuật xác định cấu hình mạng nơ-ron chung lớn nhất.
Input: K mạng ANN có cấu hình đầy đủ G 1 , G 2 , , G K tương ứng với K tác vụ tối ưu đa nhiệm.
Output: Cấu hình mạng nơ-ron chung lớn nhất G unif ied
5 if lớp là lớp cuối của l G k then
6 if G k [ ] l > G unif ied [L unif ied ] then
Từ Giải thuật 6, ta tìm được biểu diễn kiểu gen chung x trong không gian chung có số chiều x D unified được tính theo cấu hìnhG unified , cụ thể là: D unified = X l = 1 { , L }
Trong Giải thuật 6, cần lưu ý rằng đối với các ANN có ít lớp hơn, chúng ta chia sẻ tham số ở lớp cuối với cấu hình mạng lớn nhất, không theo chỉ số lớp Việc chia sẻ trọng số giữa các lớp là rất quan trọng: lớp đầu vào tương ứng với lớp đầu vào, lớp đầu ra với lớp đầu ra, và các lớp ẩn theo thứ tự Sau khi mã hóa chung cho tất cả các ANN, mỗi ANN trong các tác vụ khác nhau sẽ sử dụng trọng số ở vị trí khác nhau trong kiểu gen chung Mạng có cấu hình phức tạp sẽ sử dụng nhiều tham số từ kiểu gen chung hơn và ngược lại Trong minh họa Giải thuật 6, tỷ lệ sử dụng tham số kiểu gen được tính là G1 sử dụng 60% D unified, G2 sử dụng 80% D unified.
Để tối ưu hóa hiệu quả của phép biểu diễn chung trong các toán tử di truyền, giá trị của mỗi biến trên gen được giới hạn trong khoảng [0, 1] Kiểu hình tương ứng sẽ được mở rộng ra khoảng giá trị [l, h] thông qua phép biến đổi đơn giản X = (h − l x) + l Phương pháp này cũng được áp dụng rộng rãi trong nhiều thuật toán MFEA cho không gian số thực.
Tính toán độ thích nghi đơn nhiệm
Trong quần thể x P, mỗi cá thể được gán với một tác vụ tối ưu hóa dựa trên chỉ số kỹ năng của chúng Từ chỉ số kỹ năng của một cá thể, ta xác định cấu hình ANN đầy đủ G x Bên cạnh đó, mỗi cá thể x tạo ra kiểu hình X tương ứng, bao gồm tất cả các biến quyết định của mô hình MFO Nhờ vào giá trị kiểu hình X và cấu hình G x, ta có thể trích xuất các thành phần trọng số W và độ lệch của ANN, như được minh họa trong Hình IV.2.b.
Áp dụng Giải thuật 1 và hàm mất mát b L như đã trình bày ở Chương II, tác giả tập trung vào các bài toán phân loại nhị phân trong luận văn Hàm mất mát L chính được sử dụng là hàm MSE theo Công thức (4), với giá trị MSE thể hiện độ thích nghi đơn nhiệm của cá thể Việc tính toán độ thích nghi đơn nhiệm là rất quan trọng để xác định độ thích nghi vô hướng trong MFEA.
Giải thuật tiến hóa đa nhiệm đề xuất
Trong bài viết này, tác giả giới thiệu phương pháp biểu diễn được gọi là Biểu diễn chung cho mạng nơ-ron nhiều lớp, được trình bày chi tiết trong Phần IV.1.
Unied representation for Deep ANN - UDA) Từ đó đặt tên cho giải thuật đề xuất là MFEA-UDA.
MFEA-UDA áp dụng khung của MFEA theo Giải thuật 4, kết hợp cơ chế chọn lọc cá thể tối ưu trong không gian đa nhiệm Phương pháp này dựa trên đánh giá độ thích nghi vô hướng và được điều chỉnh phù hợp cho bài toán huấn luyện mạng nơ-ron nhân tạo (ANN).
Giải thuật 7: Các bước chính của giải thuật MFEA-UDA.
1 Xác định biểu diễn chung theo Giải thuật 6
2 Khởi tạo các cá thể ngẫu nhiên theo phân phối chuẩn
3 Gán chỉ số kỹ năng cho mỗi cá thể
4 Đánh giá giá trị thích nghi đơn nhiệm mỗi cá thể theo chỉ số kỹ năng tương ứng
5 while điều kiện dừng chưa thỏa do
6 Chọn ngẫu nhiên p 1 và p 2 trong quần thể P
7 Lai ghép và Đột biến bằng cách tổ hợp p 1 và p 2 xem Giải thuật 8
8 Đánh giá giá trị thích nghi đơn nhiệm cho mỗi cá thể mới
9 Đánh giá độ thích nghi vô hướng
11 Cập nhật ma trận xác suất ghép cặp ngẫu nhiên RM P xem Giải thuật 9
Điểm cải tiến chính của MFEA-UDA nằm ở cơ chế sinh cá thể mới và phương pháp tự thích nghi xác suất ghép cặp ngẫu nhiên, được áp dụng ở các bước 7 và 11 trong Giải thuật 7 Các phần tiếp theo sẽ làm rõ hơn về những cải tiến này của MFEA-UDA.
IV.3.1 Phép lai ghép và đột biến trong không gian chung
Chandra et al trong nghiên cứu của họ đã áp dụng phép lai ghép SBX và phép đột biến PMU để thực hiện tìm kiếm cơ sở mà không sử dụng bất kỳ phép biến đổi nào dựa trên đạo hàm, nhằm đánh giá hiệu quả của phương pháp tiến hóa thuần ngẫu nhiên Tương tự, luận văn đề xuất MFEA-UDA cũng không áp dụng bất kỳ phép biến đổi nào dựa trên đạo hàm, với phép lai ghép và đột biến được mô tả trong Giải thuật 8 là sự kết hợp giữa SBX, DE và PMU.
Giải thuật 8: Phép Lai ghép và Đột biến của MFEA-UDA.
Hai cá thể cha mẹ p1 và p2 được sử dụng trong ma trận xác suất ghép cặp ngẫu nhiên RM P Chỉ số phân bố SBX ηc, tỉ lệ tác động DE, hệ số bước nhảy DE γ
5 c 1 , c 2 được sinh ra bằng phép SBX tác động lên p 1 , p 2 xem Chương II
7 Chọn ngẫu nhiên cá thể p 3
8 c 1 , c 2 được sinh ra bằng phép DE tác động lên p 1 , p 2 , p 3 theo Công thức ( 12) với tỉ lệ tác động γ và hệ số bước nhảy F
11 Kế thừa chỉ số kỹ năng τ c 1 = τ p 1
12 Kế thừa chỉ số kỹ năng τ c 2 = τ p 2
14 Kế thừa chỉ số kỹ năng τ c 1 = τ p 2
15 Kế thừa chỉ số kỹ năng τ c 2 = τ p 1
17 c 1 được sinh ra từ PMU tác động lên p 1
18 Kế thừa chỉ số kỹ năng τ c 1 = τ p 1
19 c 2 được sinh ra từ PMU tác động lên p 2
20 Kế thừa chỉ số kỹ năng τ c 2 = τ p 2
IV.3.2 Chiến lược tự thích nghi xác suất ghép cặp ngẫu nhiên
MFEA sử dụng xác suất ghép cặp ngẫu nhiên rmp để kiểm soát việc lai ghép giữa các tác vụ khác nhau, tuy nhiên, giá trị của rmp không nên cố định Trong giai đoạn đầu, cần duy trì sự đa dạng cao trong quần thể để khám phá các vùng tiềm năng, do đó rmp có thể cao Khi các tác vụ đã gần tối ưu, việc lai ghép không còn hiệu quả và cần hạn chế để tập trung vào phép đột biến MFEA-UDA phát triển chiến lược tự thích nghi cho rmp bằng cách kiểm soát tỷ lệ sống của các cá thể lai ghép Ma trận RM P được khởi tạo với giá trị đồng nhất và sẽ tự động điều chỉnh theo chiến lược tự thích nghi Chúng ta ưu tiên lai ghép các tác vụ khác nhau khi con lai của chúng tồn tại lâu trong quần thể, và cập nhật ma trận SU R để phản ánh sự thay đổi này, từ đó điều chỉnh lại RM P tương ứng.
Giải thuật 9: Chiến lược tự thích nghi xác suất ghép cặp ngẫu nhiên của MFEA-UDA.
Input: g thế hệ hiện tại, P quần thể ở thế hệ hiện tại, à hệ số cập nhật tăng rmp ν , hệ số cập nhật giảm rmp
Output: Ma trận xác suất ghép cặp ngẫu nhiên RM P
1 SUR ( ) ij g = 0∀i, j chú ý là SU R ( ) ij g = SU R ( ) ji g
3 if p là con lai của tác vụ i, j sao cho i 6= j then
7 for tất cả các cặp tác vụ i, j sao cho i 6= j do
8 if SU R ( ) ij g > SU R ( ij g− 1) then
9 RMP ij ( ) g = RM P ij ( g− 1) + ( à SU R ( ) ij g − SU R ( ij g− 1) )
12 RMP ij ( ) g = RM P ij ( g− 1) + ( ν SU R ( ) ij g − SU R ij ( g− 1) )
Trong Giải thuật 9, hệ số cập nhật tăng và giảm cho xác suất ghộp cặp ngẫu nhiên là khác nhau, thường có giá trị lớn hơn ν để ưu tiên sự đa dạng của MFEA Các tham số mụ ν và ν hình cần được tối ưu riêng cho từng thực nghiệm khác nhau.
KẾT QUẢ ĐẠT ĐƯỢC
Thiết lập thực nghiệm
Luận văn thực nghiệm nhằm đánh giá hiệu quả của giải thuật MFEA-UDA bằng cách so sánh với một giải thuật học tiêu biểu theo hướng tiếp cận đạo hàm.
Phiên bản EA-UDA tương ứng với MFEA-UDA được so sánh bằng cách đặt số tác vụ tối ưu hóa K = 1, nhằm đánh giá hiệu quả đa nhiệm của MFEA-UDA.
Bài toán chính trong thực nghiệm là bài toán -bit, với đầu vào là chuỗi bit độ dài n, yêu cầu xác định số bit trong dãy là chẵn hay lẻ Các tác giả trong nghiên cứu đã thực nghiệm với các bài toán -bit, -bit và -bit sử dụng mô hình mạng 1 lớp ẩn Để tăng độ phức tạp cho các bài toán, luận văn này đề xuất giải quyết các bài toán -bit, -bit và -bit Thêm vào đó, thực nghiệm còn đánh giá trên nhiều mô hình mạng sâu khác nhau.
The University of California, Irvine (UCI) offers four practical binary classification datasets: Breast Cancer, featuring 9 input variables; Tic-Tac-Toe, with 9 input variables; Ionosphere, which includes 34 input variables; and Credit Screening, consisting of 14 input variables.
Bảng V.1: Các bài toán phân loại nhị phân dùng trong thực nghiệm.
STT Bài toán Số đơn vị đầu vào Tổng số điểm dữ liệu
Mỗi bộ dữ liệu được chia thành 70% cho việc học và 30% cho kiểm định Để đánh giá hiệu quả của các thuật toán học, chúng ta so sánh MSE và độ chính xác trên cả tập dữ liệu học và tập dữ liệu kiểm định.
V.1.2 Cấu hình ANN thực nghiệm
Thực nghiệm được phân loại theo 2 tiêu chí là số tác vụ tiến hóa cùng nhau và độ sâu của mạng ANN.
Theo tiêu chí đầu tiên, chúng tôi đã thực hiện hai thí nghiệm với K = 2 và K = 3 Mục đích của thí nghiệm này là để đánh giá hiệu quả của thuật toán khi số lượng tác vụ tối ưu hóa gia tăng.
Với tiêu chí độ sâu của mạng ANN, thực nghiệm được chia thành 2 phần chính gồm:
Mạng sâu với độ sâu L = 2 được áp dụng cho tất cả các tác vụ học, với các cấu hình mạng khác nhau về số lượng đơn vị xử lý trên mỗi lớp Thực nghiệm này nhằm đánh giá hiệu quả của việc chia sẻ trọng số theo chiều rộng trong mạng.
Mạng sâu có độ sâu khác nhau cho từng tác vụ học, với số lớp dao động từ L = 3 đến L = 5 Số lượng đơn vị xử lý trên mỗi lớp là giống nhau và được thiết lập cụ thể Thực nghiệm này nhằm đánh giá hiệu quả của việc chia sẻ trọng số theo chiều sâu của mạng.
Tổng kết lại ta có các bảng cấu hình thực nghiệm sau:
Bảng V.2: Cấu hình mạng nơ-ron tương ứng với mỗi bài toán trong thực nghiệm.
Bài toán ANN cùng độ sâu ANN khác độ sâu
V.1.3 Cấu hình tham số giải thuật
Các giải thuật thực nghiệm được triển khai bằng ngôn ngữ Python trên máy tính với cấu hình CPU Intel® CoreTM i5-2500K @4.50 GHz và 16GB RAM, sử dụng hệ điều hành Ubuntu 16.04 64-bit.
Mỗi thuật toán được thử nghiệm 30 lần trên từng cấu hình, với các chỉ số hiệu suất bao gồm MSE và độ chính xác được thống kê cho cả bộ dữ liệu huấn luyện và kiểm định Kết quả của 30 lần chạy được tổng hợp để so sánh giá trị trung bình và độ lệch chuẩn.
Số lần tính độ thích nghi tối đa được giới hạn trong 200 000 , lần.
Tham số cho MFEA-UDA và EA-UDA được định nghĩa trong bảng sau:
Bảng V.3: Cấu hình tham số giải thuật đề xuất
Tham số Ký hiệu Giá trị
Kích thước quần thể đơn nhiệm − 30
Kích thước quần thể đa nhiệm − 30 K (với K = 2 hoặc K = 3 )
Giá trị khởi tạo các phần tử trong ma trận RM P − 0 3
Chỉ số phân bố SBX η c 5
Tỉ lệ tác động DE γ 0 2
Hệ số bước nhảy DE F 0 5
Tỉ lệ đột biến PMU σ 0 2
Chỉ số đột biến PMU η m 5
Hệ số cập nhật tăng RM P à 0 05
Hệ số cập nhật giảm RM P ν 0 01
Kết quả thực nghiệm
Phần tổng hợp kết quả thực nghiệm được chia thành hai phần chính: ANN với độ sâu và ANN khác độ sâu Kết quả được trình bày dưới dạng bảng so sánh MSE và độ chính xác trên cả bộ dữ liệu học và bộ dữ liệu kiểm định Tốc độ hội tụ của các thuật toán được minh họa bằng hình ảnh thể hiện đường biến thiên theo số lần tính hàm mục tiêu.
V.2.1 Mạng nơ-ron cùng độ sâu
Bảng V.4: Tổng hợp kết quả bài toán -bit, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu 8
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.1031 (0.0563) 0.8413 (0.1109) 0.1546 (0.0712) 0.7874 (0.1329) MFEA-UDA 2task_T1 0.0931 (0.0324) 0.8834 (0.0505) 0.1448 (0.0497) 0.8338 (0.0869)
GD 2task_T1 0.2226 (0.0359) 0.6108 (0.0981) 0.2616 (0.0468) 0.5087 (0.1032) EA-UDA 2task_T2 0.1053 (0.0490) 0.8462 (0.0977) 0.1697 (0.0688) 0.7896 (0.1120) MFEA-UDA 2task_T2 0.0833 (0.0324) 0.8998 (0.0498) 0.1305 (0.0404) 0.8537 (0.0656)
GD 2task_T2 0.2089 (0.0512) 0.6298 (0.1268) 0.2468 (0.0368) 0.5333 (0.1183) EA-UDA 3task_T1 0.1188 (0.0515) 0.8143 (0.1116) 0.1767 (0.0596) 0.7589 (0.1166) MFEA-UDA 3task_T1 0.1020 (0.0378) 0.8777 (0.0517) 0.1775 (0.0678) 0.8069 (0.0883)
GD 3task_T1 0.2031 (0.0404) 0.6531 (0.1033) 0.2600 (0.0470) 0.5403 (0.1070) EA-UDA 3task_T2 0.1034 (0.0545) 0.8458 (0.0982) 0.1683 (0.0740) 0.7835 (0.1157) MFEA-UDA 3task_T2 0.0849 (0.0272) 0.8980 (0.0384) 0.1549 (0.0543) 0.8294 (0.0716)
GD 3task_T2 0.2098 (0.0508) 0.6339 (0.1215) 0.2422 (0.0402) 0.5498 (0.1312) EA-UDA 3task_T3 0.1132 (0.0649) 0.8155 (0.1295) 0.1770 (0.0899) 0.7528 (0.1565) MFEA-UDA 3task_T3 0.1203 (0.0708) 0.8058 (0.1352) 0.2073 (0.1052) 0.6922 (0.1804)
Bảng V.5: Tổng hợp kết quả bài toán -bit, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu 9
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.1319 (0.0560) 0.7917 (0.1057) 0.1760 (0.0735) 0.7429 (0.1199) MFEA-UDA 2task_T1 0.1072 (0.0302) 0.8719 (0.0472) 0.1532 (0.0429) 0.8245 (0.0592)
GD 2task_T1 0.2068 (0.0430) 0.6392 (0.1175) 0.2344 (0.0369) 0.5810 (0.1203) EA-UDA 2task_T2 0.1134 (0.0546) 0.8246 (0.1092) 0.1531 (0.0690) 0.7807 (0.1231) MFEA-UDA 2task_T2 0.0999 (0.0223) 0.8788 (0.0365) 0.1353 (0.0409) 0.8474 (0.0499)
GD 2task_T2 0.2085 (0.0544) 0.6236 (0.1280) 0.2288 (0.0568) 0.5656 (0.1419) EA-UDA 3task_T1 0.1403 (0.0583) 0.7872 (0.1237) 0.1874 (0.0719) 0.7405 (0.1239) MFEA-UDA 3task_T1 0.1061 (0.0336) 0.8637 (0.0651) 0.1607 (0.0470) 0.8102 (0.0824)
GD 3task_T1 0.2264 (0.0367) 0.5883 (0.1052) 0.2481 (0.0405) 0.5234 (0.1188) EA-UDA 3task_T2 0.1134 (0.0541) 0.8312 (0.1077) 0.1594 (0.0701) 0.7758 (0.1335) MFEA-UDA 3task_T2 0.1085 (0.0272) 0.8627 (0.0455) 0.1548 (0.0449) 0.8264 (0.0630)
GD 3task_T2 0.2129 (0.0535) 0.6131 (0.1315) 0.2332 (0.0514) 0.5580 (0.1414) EA-UDA 3task_T3 0.0981 (0.0667) 0.8482 (0.1278) 0.1290 (0.0743) 0.8139 (0.1369) MFEA-UDA 3task_T3 0.1548 (0.0479) 0.7420 (0.1159) 0.2098 (0.0713) 0.6950 (0.1365)
Bảng V.6: Tổng hợp kết quả bài toán 10 -bit, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.1334 (0.0694) 0.7906 (0.1371) 0.1508 (0.0833) 0.7634 (0.1627) MFEA-UDA 2task_T1 0.1320 (0.0312) 0.8312 (0.0615) 0.1573 (0.0335) 0.8077 (0.0715)
GD 2task_T1 0.2264 (0.0335) 0.5816 (0.0904) 0.2412 (0.0319) 0.5371 (0.1069) EA-UDA 2task_T2 0.1318 (0.0689) 0.7961 (0.1372) 0.1564 (0.0790) 0.7623 (0.1535) MFEA-UDA 2task_T2 0.1218 (0.0308) 0.8387 (0.0571) 0.1414 (0.0375) 0.8205 (0.0660)
GD 2task_T2 0.2224 (0.0408) 0.5912 (0.0998) 0.2380 (0.0371) 0.5370 (0.1054) EA-UDA 3task_T1 0.1338 (0.0621) 0.7972 (0.1219) 0.1479 (0.0720) 0.7829 (0.1257) MFEA-UDA 3task_T1 0.1382 (0.0331) 0.8091 (0.0724) 0.1691 (0.0396) 0.7737 (0.0871)
GD 3task_T1 0.2353 (0.0221) 0.5594 (0.0696) 0.2433 (0.0217) 0.5120 (0.0897) EA-UDA 3task_T2 0.1463 (0.0612) 0.7667 (0.1196) 0.1690 (0.0728) 0.7329 (0.1329) MFEA-UDA 3task_T2 0.1288 (0.0320) 0.8271 (0.0652) 0.1528 (0.0363) 0.8027 (0.0777)
GD 3task_T2 0.2214 (0.0434) 0.5956 (0.1043) 0.2299 (0.0438) 0.5569 (0.1224) EA-UDA 3task_T3 0.1078 (0.0607) 0.8509 (0.1085) 0.1300 (0.0716) 0.8241 (0.1197) MFEA-UDA 3task_T3 0.1965 (0.0544) 0.6457 (0.1236) 0.2313 (0.0642) 0.5958 (0.1398)
Hình V.1: Kết quả thực nghiệm bài toán -bit, 2 tác vụ, mạng cùng độ sâu 8
Hình V.2: Kết quả thực nghiệm bài toán -bit, 3 tác vụ, mạng cùng độ sâu 8
Hình V.3: Kết quả thực nghiệm bài toán -bit, 2 tác vụ, mạng cùng độ sâu 9
Hình V.4: Kết quả thực nghiệm bài toán -bit, 3 tác vụ, mạng cùng độ sâu 9
Hình V.5: Kết quả thực nghiệm bài toán 10 -bit, 2 tác vụ, mạng cùng độ sâu.
Hình V.6: Kết quả thực nghiệm bài toán 10 -bit, 3 tác vụ, mạng cùng độ sâu.
Bảng V.7: Tổng hợp kết quả bộ dữ liệu Breast cancer, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0133 (0.0049) 0.9857 (0.0057) 0.0299 (0.0077) 0.9679 (0.0086) MFEA-UDA 2task_T1 0.0126 (0.0023) 0.9840 (0.0044) 0.0238 (0.0049) 0.9744 (0.0056)
GD 2task_T1 0.0847 (0.0987) 0.8763 (0.1526) 0.0971 (0.0941) 0.8589 (0.1529) EA-UDA 2task_T2 0.0151 (0.0039) 0.9846 (0.0043) 0.0302 (0.0081) 0.9687 (0.0087) MFEA-UDA 2task_T2 0.0125 (0.0027) 0.9839 (0.0044) 0.0238 (0.0048) 0.9744 (0.0051)
GD 2task_T2 0.0556 (0.0845) 0.9207 (0.1302) 0.0737 (0.0785) 0.8986 (0.1281) EA-UDA 3task_T1 0.0151 (0.0031) 0.9820 (0.0041) 0.0272 (0.0060) 0.9708 (0.0072) MFEA-UDA 3task_T1 0.0161 (0.0024) 0.9821 (0.0030) 0.0246 (0.0043) 0.9727 (0.0061)
GD 3task_T1 0.0704 (0.0929) 0.8983 (0.1435) 0.0853 (0.0876) 0.8787 (0.1425) EA-UDA 3task_T2 0.0134 (0.0039) 0.9841 (0.0047) 0.0289 (0.0074) 0.9695 (0.0080) MFEA-UDA 3task_T2 0.0143 (0.0034) 0.9849 (0.0036) 0.0247 (0.0051) 0.9727 (0.0064)
GD 3task_T2 0.1062 (0.1032) 0.8432 (0.1598) 0.1179 (0.0982) 0.8252 (0.1596) EA-UDA 3task_T3 0.0129 (0.0046) 0.9868 (0.0049) 0.0296 (0.0061) 0.9686 (0.0073) MFEA-UDA 3task_T3 0.0129 (0.0025) 0.9855 (0.0035) 0.0240 (0.0055) 0.9748 (0.0055)
Bảng V.8: Tổng hợp kết quả bộ dữ liệu Tic tac toe, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0296 (0.0446) 0.9597 (0.0664) 0.0445 (0.0510) 0.9405 (0.0802) MFEA-UDA 2task_T1 0.0038 (0.0026) 0.9961 (0.0026) 0.0154 (0.0034) 0.9840 (0.0035)
GD 2task_T1 0.0624 (0.0947) 0.9070 (0.1475) 0.0701 (0.0861) 0.9034 (0.1301) EA-UDA 2task_T2 0.0157 (0.0281) 0.9783 (0.0471) 0.0319 (0.0383) 0.9597 (0.0616) MFEA-UDA 2task_T2 0.0035 (0.0024) 0.9965 (0.0025) 0.0150 (0.0026) 0.9843 (0.0029)
GD 2task_T2 0.0348 (0.0690) 0.9512 (0.1062) 0.0475 (0.0634) 0.9394 (0.0942) EA-UDA 3task_T1 0.0182 (0.0363) 0.9772 (0.0504) 0.0291 (0.0411) 0.9653 (0.0581) MFEA-UDA 3task_T1 0.0285 (0.0407) 0.9644 (0.0588) 0.0390 (0.0443) 0.9521 (0.0677)
GD 3task_T1 0.0841 (0.1000) 0.8747 (0.1563) 0.0916 (0.0916) 0.8715 (0.1386) EA-UDA 3task_T2 0.0226 (0.0419) 0.9658 (0.0751) 0.0336 (0.0458) 0.9568 (0.0716) MFEA-UDA 3task_T2 0.0269 (0.0423) 0.9656 (0.0663) 0.0365 (0.0452) 0.9543 (0.0718)
GD 3task_T2 0.0360 (0.0758) 0.9470 (0.1186) 0.0449 (0.0692) 0.9399 (0.1047) EA-UDA 3task_T3 0.0398 (0.0539) 0.9407 (0.0888) 0.0556 (0.0615) 0.9237 (0.0952) MFEA-UDA 3task_T3 0.0287 (0.0455) 0.9619 (0.0711) 0.0399 (0.0507) 0.9525 (0.0732)
Bảng V.9: Tổng hợp kết quả bộ dữ liệu Ionosphere, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0148 (0.0071) 0.9841 (0.0079) 0.0768 (0.0199) 0.9186 (0.0199) MFEA-UDA 2task_T1 0.0179 (0.0079) 0.9815 (0.0084) 0.0632 (0.0159) 0.9340 (0.0169)
GD 2task_T1 0.0792 (0.0807) 0.8912 (0.1273) 0.1412 (0.0544) 0.8182 (0.1037) EA-UDA 2task_T2 0.0156 (0.0070) 0.9838 (0.0072) 0.0742 (0.0236) 0.9230 (0.0254) MFEA-UDA 2task_T2 0.0175 (0.0054) 0.9819 (0.0058) 0.0576 (0.0167) 0.9396 (0.0175)
GD 2task_T2 0.0893 (0.0858) 0.8759 (0.1362) 0.1555 (0.0538) 0.7987 (0.1057) EA-UDA 3task_T1 0.0153 (0.0075) 0.9842 (0.0079) 0.0739 (0.0247) 0.9230 (0.0267) MFEA-UDA 3task_T1 0.0346 (0.0169) 0.9639 (0.0178) 0.0928 (0.0350) 0.9035 (0.0366)
GD 3task_T1 0.0910 (0.0910) 0.8705 (0.1447) 0.1548 (0.0598) 0.7940 (0.1155) EA-UDA 3task_T2 0.0152 (0.0057) 0.9839 (0.0063) 0.0698 (0.0147) 0.9280 (0.0157) MFEA-UDA 3task_T2 0.0277 (0.0130) 0.9713 (0.0134) 0.0868 (0.0246) 0.9082 (0.0266)
GD 3task_T2 0.0849 (0.0883) 0.8803 (0.1412) 0.1462 (0.0629) 0.8085 (0.1179) EA-UDA 3task_T3 0.0171 (0.0070) 0.9824 (0.0071) 0.0755 (0.0310) 0.9226 (0.0327) MFEA-UDA 3task_T3 0.0317 (0.0139) 0.9671 (0.0142) 0.0828 (0.0247) 0.9145 (0.0246)
Bảng V.10: Tổng hợp kết quả bộ dữ liệu Credit screening, 2 tác vụ và 3 tác vụ, mạng cùng độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0848 (0.0062) 0.9004 (0.0107) 0.1132 (0.0136) 0.8662 (0.0140) MFEA-UDA 2task_T1 0.0831 (0.0051) 0.9032 (0.0090) 0.1144 (0.0151) 0.8665 (0.0158)
GD 2task_T1 0.1446 (0.0840) 0.7713 (0.1746) 0.1831 (0.0568) 0.7134 (0.1582) EA-UDA 2task_T2 0.0826 (0.0089) 0.9064 (0.0095) 0.1151 (0.0155) 0.8677 (0.0175) MFEA-UDA 2task_T2 0.0836 (0.0066) 0.9019 (0.0153) 0.1181 (0.0144) 0.8633 (0.0177)
GD 2task_T2 0.1215 (0.0766) 0.8196 (0.1586) 0.1624 (0.0562) 0.7633 (0.1486) EA-UDA 3task_T1 0.0842 (0.0076) 0.9028 (0.0119) 0.1129 (0.0132) 0.8660 (0.0156) MFEA-UDA 3task_T1 0.0897 (0.0071) 0.8988 (0.0116) 0.1105 (0.0156) 0.8719 (0.0145)
GD 3task_T1 0.1506 (0.0844) 0.7600 (0.1764) 0.1857 (0.0598) 0.7031 (0.1620) EA-UDA 3task_T2 0.0855 (0.0070) 0.9016 (0.0107) 0.1156 (0.0141) 0.8668 (0.0165) MFEA-UDA 3task_T2 0.0897 (0.0078) 0.8994 (0.0105) 0.1179 (0.0189) 0.8668 (0.0187)
GD 3task_T2 0.1569 (0.0846) 0.7455 (0.1763) 0.1856 (0.0622) 0.6973 (0.1663) EA-UDA 3task_T3 0.0823 (0.0071) 0.9090 (0.0095) 0.1176 (0.0160) 0.8662 (0.0165) MFEA-UDA 3task_T3 0.0918 (0.0096) 0.8988 (0.0107) 0.1160 (0.0131) 0.8716 (0.0128)
V.2.2 Mạng nơ-ron khác độ sâu
Bảng V.11: Tổng hợp kết quả bài toán -bit, 2 tác vụ và 3 tác vụ, mạng khác độ sâu 8
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0730 (0.0652) 0.8939 (0.1166) 0.0968 (0.0777) 0.8615 (0.1354) MFEA-UDA 2task_T1 0.0957 (0.0367) 0.8719 (0.0570) 0.1115 (0.0624) 0.8515 (0.0926)
GD 2task_T1 0.2453 (0.0108) 0.5397 (0.0456) 0.2530 (0.0077) 0.4584 (0.0550) EA-UDA 2task_T2 0.0744 (0.0614) 0.8911 (0.1083) 0.0935 (0.0774) 0.8632 (0.1386) MFEA-UDA 2task_T2 0.0898 (0.0460) 0.8818 (0.0677) 0.1016 (0.0561) 0.8688 (0.0766)
GD 2task_T2 0.2450 (0.0136) 0.5361 (0.0355) 0.2558 (0.0157) 0.4498 (0.0321) EA-UDA 3task_T1 0.0859 (0.0504) 0.8812 (0.0793) 0.1110 (0.0668) 0.8563 (0.0986) MFEA-UDA 3task_T1 0.0789 (0.0461) 0.8944 (0.0766) 0.0978 (0.0557) 0.8662 (0.0966)
GD 3task_T1 0.2388 (0.0298) 0.5575 (0.0709) 0.2489 (0.0351) 0.4810 (0.0899) EA-UDA 3task_T2 0.0988 (0.0663) 0.8512 (0.1225) 0.1202 (0.0781) 0.8255 (0.1310) MFEA-UDA 3task_T2 0.0840 (0.0474) 0.8924 (0.0737) 0.1026 (0.0554) 0.8615 (0.0928)
GD 3task_T2 0.2444 (0.0108) 0.5439 (0.0378) 0.2558 (0.0092) 0.4519 (0.0381) EA-UDA 3task_T3 0.0766 (0.0609) 0.8894 (0.1006) 0.1044 (0.0772) 0.8489 (0.1231) MFEA-UDA 3task_T3 0.0727 (0.0575) 0.8952 (0.1003) 0.0862 (0.0660) 0.8805 (0.1106)
Bảng V.12: Tổng hợp kết quả bài toán -bit, 2 tác vụ và 3 tác vụ, mạng khác độ sâu 9
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0934 (0.0598) 0.8574 (0.1108) 0.1060 (0.0644) 0.8426 (0.1144) MFEA-UDA 2task_T1 0.0862 (0.0546) 0.8813 (0.0841) 0.0987 (0.0656) 0.8584 (0.1073)
GD 2task_T1 0.2377 (0.0253) 0.5569 (0.0750) 0.2466 (0.0224) 0.5028 (0.0858) EA-UDA 2task_T2 0.0840 (0.0588) 0.8764 (0.1019) 0.0970 (0.0666) 0.8660 (0.1060) MFEA-UDA 2task_T2 0.0866 (0.0568) 0.8845 (0.0863) 0.0976 (0.0631) 0.8688 (0.0985)
GD 2task_T2 0.2468 (0.0065) 0.5299 (0.0367) 0.2516 (0.0067) 0.4788 (0.0569) EA-UDA 3task_T1 0.1122 (0.0600) 0.8349 (0.1120) 0.1328 (0.0726) 0.8091 (0.1241) MFEA-UDA 3task_T1 0.1092 (0.0544) 0.8439 (0.0958) 0.1256 (0.0623) 0.8130 (0.1151)
GD 3task_T1 0.2461 (0.0071) 0.5317 (0.0258) 0.2537 (0.0086) 0.4786 (0.0391) EA-UDA 3task_T2 0.1025 (0.0611) 0.8438 (0.1148) 0.1172 (0.0697) 0.8351 (0.1226) MFEA-UDA 3task_T2 0.1164 (0.0552) 0.8401 (0.0909) 0.1342 (0.0617) 0.8080 (0.1061)
GD 3task_T2 0.2416 (0.0229) 0.5379 (0.0592) 0.2474 (0.0198) 0.4784 (0.0687) EA-UDA 3task_T3 0.0771 (0.0458) 0.8872 (0.0819) 0.0853 (0.0525) 0.8794 (0.0918) MFEA-UDA 3task_T3 0.0810 (0.0615) 0.8834 (0.1033) 0.0968 (0.0713) 0.8604 (0.1208)
Bảng V.13: Tổng hợp kết quả bài toán 10 -bit, 2 tác vụ và 3 tác vụ, mạng khác độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0910 (0.0466) 0.8790 (0.0734) 0.0973 (0.0504) 0.8709 (0.0785) MFEA-UDA 2task_T1 0.0944 (0.0467) 0.8767 (0.0716) 0.0983 (0.0476) 0.8711 (0.0732)
GD 2task_T1 0.2407 (0.0308) 0.5366 (0.0692) 0.2462 (0.0299) 0.4807 (0.0777) EA-UDA 2task_T2 0.1098 (0.0600) 0.8321 (0.1155) 0.1224 (0.0651) 0.8152 (0.1187) MFEA-UDA 2task_T2 0.0957 (0.0482) 0.8636 (0.0786) 0.1022 (0.0529) 0.8523 (0.0853)
GD 2task_T2 0.2444 (0.0173) 0.5286 (0.0434) 0.2481 (0.0111) 0.4780 (0.0425) EA-UDA 3task_T1 0.1031 (0.0520) 0.8496 (0.0965) 0.1151 (0.0556) 0.8359 (0.1046) MFEA-UDA 3task_T1 0.0976 (0.0388) 0.8677 (0.0642) 0.1046 (0.0454) 0.8561 (0.0725)
GD 3task_T1 0.2446 (0.0102) 0.5349 (0.0436) 0.2526 (0.0118) 0.4723 (0.0600) EA-UDA 3task_T2 0.0940 (0.0559) 0.8617 (0.1020) 0.1031 (0.0604) 0.8473 (0.1118) MFEA-UDA 3task_T2 0.1103 (0.0404) 0.8541 (0.0694) 0.1191 (0.0434) 0.8423 (0.0721)
GD 3task_T2 0.2489 (0.0020) 0.5207 (0.0175) 0.2515 (0.0019) 0.4729 (0.0234) EA-UDA 3task_T3 0.1159 (0.0550) 0.8226 (0.0999) 0.1239 (0.0590) 0.8173 (0.1037) MFEA-UDA 3task_T3 0.0837 (0.0447) 0.8872 (0.0776) 0.0921 (0.0483) 0.8754 (0.0855)
Hình V.7: Kết quả thực nghiệm bài toán -bit, 2 tác vụ, mạng khác độ sâu 8
Hình V.8: Kết quả thực nghiệm bài toán -bit, 3 tác vụ, mạng khác độ sâu 8
Hình V.9: Kết quả thực nghiệm bài toán -bit, 2 tác vụ, mạng khác độ sâu 9
Hình V.10: Kết quả thực nghiệm bài toán -bit, 3 tác vụ, mạng khác độ sâu 9
Hình V.11: Kết quả thực nghiệm bài toán 10 -bit, 2 tác vụ, mạng khác độ sâu.
Hình V.12: Kết quả thực nghiệm bài toán 10 -bit, 3 tác vụ, mạng khác độ sâu.
Bảng V.14: Tổng hợp kết quả bộ dữ liệu Breast cancer, 2 tác vụ và 3 tác vụ, mạng khác độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0166 (0.0026) 0.9816 (0.0034) 0.0280 (0.0050) 0.9700 (0.0058) MFEA-UDA 2task_T1 0.0181 (0.0015) 0.9791 (0.0017) 0.0271 (0.0054) 0.9706 (0.0058)
GD 2task_T1 0.1835 (0.0816) 0.7242 (0.1274) 0.1902 (0.0794) 0.7076 (0.1296) EA-UDA 2task_T2 0.0170 (0.0030) 0.9815 (0.0037) 0.0268 (0.0067) 0.9714 (0.0072) MFEA-UDA 2task_T2 0.0188 (0.0023) 0.9791 (0.0022) 0.0268 (0.0033) 0.9711 (0.0041)
GD 2task_T2 0.1898 (0.0769) 0.7138 (0.1192) 0.1969 (0.0738) 0.6962 (0.1193) EA-UDA 3task_T1 0.0162 (0.0026) 0.9810 (0.0035) 0.0291 (0.0056) 0.9684 (0.0064) MFEA-UDA 3task_T1 0.0183 (0.0014) 0.9796 (0.0020) 0.0266 (0.0044) 0.9719 (0.0045)
GD 3task_T1 0.1493 (0.0985) 0.7773 (0.1535) 0.1567 (0.0963) 0.7616 (0.1561) EA-UDA 3task_T2 0.0164 (0.0022) 0.9811 (0.0030) 0.0275 (0.0044) 0.9708 (0.0046) MFEA-UDA 3task_T2 0.0183 (0.0019) 0.9795 (0.0020) 0.0273 (0.0065) 0.9716 (0.0067)
GD 3task_T2 0.1623 (0.0947) 0.7569 (0.1471) 0.1726 (0.0876) 0.7376 (0.1448) EA-UDA 3task_T3 0.0164 (0.0037) 0.9817 (0.0042) 0.0298 (0.0066) 0.9676 (0.0077) MFEA-UDA 3task_T3 0.0177 (0.0027) 0.9806 (0.0031) 0.0261 (0.0061) 0.9724 (0.0066)
Bảng V.15: Tổng hợp kết quả bộ dữ liệu Tic tac toe, 2 tác vụ và 3 tác vụ, mạng khác độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0486 (0.0589) 0.9349 (0.0859) 0.0554 (0.0608) 0.9295 (0.0857) MFEA-UDA 2task_T1 0.0217 (0.0338) 0.9748 (0.0425) 0.0271 (0.0328) 0.9696 (0.0406)
GD 2task_T1 0.1526 (0.1020) 0.7670 (0.1602) 0.1518 (0.0932) 0.7794 (0.1416) EA-UDA 2task_T2 0.0526 (0.0691) 0.9221 (0.1114) 0.0626 (0.0711) 0.9142 (0.1079) MFEA-UDA 2task_T2 0.0216 (0.0337) 0.9750 (0.0425) 0.0276 (0.0322) 0.9693 (0.0398)
GD 2task_T2 0.1898 (0.0813) 0.7075 (0.1281) 0.1849 (0.0749) 0.7287 (0.1141) EA-UDA 3task_T1 0.0216 (0.0394) 0.9683 (0.0698) 0.0287 (0.0414) 0.9605 (0.0774) MFEA-UDA 3task_T1 0.0321 (0.0534) 0.9574 (0.0793) 0.0391 (0.0583) 0.9520 (0.0801)
GD 3task_T1 0.1414 (0.1074) 0.7828 (0.1691) 0.1399 (0.0989) 0.7964 (0.1504) EA-UDA 3task_T2 0.0603 (0.0668) 0.9190 (0.0986) 0.0749 (0.0727) 0.9012 (0.1067) MFEA-UDA 3task_T2 0.0306 (0.0515) 0.9589 (0.0769) 0.0384 (0.0562) 0.9512 (0.0820)
GD 3task_T2 0.1640 (0.0982) 0.7482 (0.1553) 0.1626 (0.0891) 0.7631 (0.1364) EA-UDA 3task_T3 0.0616 (0.0702) 0.9125 (0.1121) 0.0735 (0.0741) 0.9019 (0.1115) MFEA-UDA 3task_T3 0.0333 (0.0565) 0.9541 (0.0882) 0.0398 (0.0608) 0.9494 (0.0878)
Bảng V.16: Tổng hợp kết quả bộ dữ liệu Ionosphere, 2 tác vụ và 3 tác vụ, mạng khác độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0320 (0.0161) 0.9660 (0.0190) 0.1002 (0.0252) 0.8915 (0.0315) MFEA-UDA 2task_T1 0.0295 (0.0100) 0.9690 (0.0110) 0.0789 (0.0225) 0.9154 (0.0247)
GD 2task_T1 0.1456 (0.0819) 0.7897 (0.1374) 0.1866 (0.0516) 0.7324 (0.1071) EA-UDA 2task_T2 0.0325 (0.0136) 0.9656 (0.0157) 0.1021 (0.0223) 0.8887 (0.0267) MFEA-UDA 2task_T2 0.0288 (0.0101) 0.9698 (0.0110) 0.0817 (0.0250) 0.9123 (0.0282)
GD 2task_T2 0.1933 (0.0669) 0.7039 (0.1109) 0.2209 (0.0376) 0.6597 (0.0777) EA-UDA 3task_T1 0.0302 (0.0088) 0.9679 (0.0098) 0.1010 (0.0236) 0.8912 (0.0275) MFEA-UDA 3task_T1 0.0468 (0.0208) 0.9487 (0.0281) 0.1070 (0.0277) 0.8811 (0.0358)
GD 3task_T1 0.1375 (0.0877) 0.8005 (0.1437) 0.1907 (0.0496) 0.7292 (0.1048) EA-UDA 3task_T2 0.0325 (0.0140) 0.9654 (0.0164) 0.1027 (0.0202) 0.8884 (0.0252) MFEA-UDA 3task_T2 0.0454 (0.0163) 0.9509 (0.0188) 0.1070 (0.0220) 0.8821 (0.0250)
GD 3task_T2 0.1330 (0.0852) 0.8073 (0.1409) 0.1760 (0.0554) 0.7491 (0.1131) EA-UDA 3task_T3 0.0342 (0.0110) 0.9638 (0.0124) 0.0948 (0.0244) 0.8975 (0.0284) MFEA-UDA 3task_T3 0.0488 (0.0167) 0.9471 (0.0196) 0.1052 (0.0245) 0.8836 (0.0286)
Bảng V.17: Tổng hợp kết quả bộ dữ liệu Credit screening, 2 tác vụ và 3 tác vụ, mạng khác độ sâu.
Thuật toán Tác vụ MSE bộ học ACC bộ học MSE kiểm định ACC kiểm định
EA-UDA 2task_T1 0.0873 (0.0061) 0.9000 (0.0092) 0.1158 (0.0154) 0.8648 (0.0185) MFEA-UDA 2task_T1 0.0913 (0.0057) 0.8953 (0.0080) 0.1168 (0.0109) 0.8631 (0.0134)
GD 2task_T1 0.2209 (0.0575) 0.6138 (0.1248) 0.2301 (0.0472) 0.5753 (0.1230) EA-UDA 2task_T2 0.0895 (0.0066) 0.8966 (0.0092) 0.1197 (0.0149) 0.8602 (0.0177) MFEA-UDA 2task_T2 0.0914 (0.0071) 0.8952 (0.0093) 0.1189 (0.0102) 0.8599 (0.0123)
GD 2task_T2 0.2041 (0.0685) 0.6523 (0.1482) 0.2181 (0.0535) 0.6117 (0.1442) EA-UDA 3task_T1 0.0886 (0.0059) 0.8970 (0.0086) 0.1171 (0.0125) 0.8633 (0.0120) MFEA-UDA 3task_T1 0.0987 (0.0078) 0.8848 (0.0111) 0.1141 (0.0142) 0.8672 (0.0175)
GD 3task_T1 0.1839 (0.0765) 0.6923 (0.1647) 0.1963 (0.0672) 0.6568 (0.1672) EA-UDA 3task_T2 0.0905 (0.0068) 0.8953 (0.0098) 0.1184 (0.0132) 0.8614 (0.0142) MFEA-UDA 3task_T2 0.0961 (0.0086) 0.8898 (0.0092) 0.1167 (0.0139) 0.8663 (0.0158)
GD 3task_T2 0.2245 (0.0517) 0.6086 (0.1155) 0.2322 (0.0430) 0.5724 (0.1170) EA-UDA 3task_T3 0.0923 (0.0064) 0.8938 (0.0086) 0.1157 (0.0141) 0.8639 (0.0176) MFEA-UDA 3task_T3 0.0957 (0.0076) 0.8878 (0.0107) 0.1132 (0.0140) 0.8656 (0.0161)
Nhận xét và bàn luận
Kết quả thực nghiệm cho thấy phương pháp EA vượt trội trên tất cả các bộ dữ liệu thử nghiệm Trong khi đó, thuật toán GD không đạt hiệu quả cao trên các bài toán -bit n và các bộ dữ liệu thực tế khi so sánh với phương pháp tiến hóa Nguyên nhân có thể là do các mạng nơ-ron nhân tạo (ANN) có độ sâu lớn thường gặp nhiều trở ngại, khiến cho các phương pháp tối ưu dựa trên đạo hàm khó khăn trong việc tìm kiếm giải pháp tối ưu.
Trong các thí nghiệm với mạng nơ-ron nhân tạo (ANN) có độ sâu tương đương, phương pháp MFEA-UDA đã cho thấy sự vượt trội so với EA-UDA trong hầu hết các tác vụ học Điều này đặc biệt rõ nét trong các thí nghiệm với hai tác vụ, như thể hiện trong Hình V.1, Hình V.3 và Hình V.5 Đối với các thí nghiệm với ba tác vụ tương tự, như trong Hình V.2, Hình V.4 và Hình V.6, MFEA-UDA chỉ thua EA-UDA với một tỉ lệ nhỏ ở một số tác vụ nhất định.
Trong thực nghiệm với ANN có độ sâu khác nhau, MFEA-UDA và EA-UDA cho thấy hiệu quả tương đương, với một thuật toán có thể vượt trội ở một bộ dữ liệu cụ thể nhưng sự khác biệt không lớn, như minh họa trong các hình V.7, V.9, V.11, V.8, V.10 và V.12 Nguyên nhân có thể do số lớp khác nhau trong các mạng sâu dẫn đến lượng tham số chia sẻ giữa các cấu hình thấp, làm cho các phép lai ghép đa nhiệm ít phát huy được ưu thế, và chất lượng lời giải của MFEA-UDA chỉ tương đương với EA-UDA.
Khi so sánh hiệu quả của mạng 2 lớp rộng với mạng nhiều lớp hơn nhưng sâu
Các mạng sâu và hẹp, như Hình V.1 và Hình V.7, hoặc Hình V.3 và Hình V.9, cho thấy hiệu quả tương đương với các mạng nông và rộng hơn, mặc dù chúng có ít tham số hơn Sự gia tăng độ sâu của mạng giúp nâng cao độ phức tạp của hàm xấp xỉ biểu diễn, từ đó cải thiện khả năng khớp dữ liệu học.
Khi so sánh kết quả thực nghiệm luận văn với Chandra et al [53], MSE và độ chính xác trên các bộ dữ liệu tương đồng Tuy nhiên, Chandra et al không chia dữ liệu học và kiểm định, mà áp dụng giải thuật trên 100% dữ liệu, làm cho việc học giống bài toán tối ưu hóa nhưng mất tính tổng quát Với các mạng sâu hơn, có thể tìm được hàm xấp xỉ tốt cho việc phân loại nhị phân.
Kết quả thực nghiệm cho thấy chất lượng mạng ANN học bằng các phương pháp dựa trên MFEA mang lại hiệu quả rõ rệt Tuy nhiên, để đạt được chất lượng tốt, MFEA-UDA yêu cầu thời gian xử lý lâu hơn Bảng V.18 cung cấp thống kê thời gian chạy trung bình của các thuật toán cho bài toán -bit, và các bài toán cùng bộ dữ liệu khác cũng có thời gian tương tự, do đó luận văn chỉ trình bày thống kê thời gian trên một bộ dữ liệu để đảm bảo tính ngắn gọn.
Bảng V.18: Thời gian chạy trung bình (giây) của các giải thuật cho bài toán -bit 8
Thực nghiệm EA-UDA MFEA-UDA GD
2 tác vụ, cùng độ sâu 31 12 40 43 15 76
2 tác vụ, khác độ sâu 30 37 37 78 12 61
3 tác vụ, cùng độ sâu 32 55 39 53 16 31
3 tác vụ, khác độ sâu 31 79 38 13 14 95