CAC PHUONG PHAP DE XUAT

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Các phương pháp cải thiện hiệu suất thuật toán tiến hóa đa mục tiêu cho bài toán tìm kiếm kiến trúc mạng neural (Trang 41 - 50)

Trong chương này, chúng tôi trình bày chi tiết hai phương pháp để nâng cao hiệu suất của các Thuật toán tiền hóa đa mục tiêu (MOEAs) trên bài toán NAS. Phương pháp thứ nhất là sử dụng một mô hình thay thế (SM) để dự đoán độ chính xác của các kiến trúc thay vì huấn luyện và đánh giá chúng. Cụ thể hơn, chúng tôi sửa đổi lại cơ chế tính toán độ chính xác của các kiến trúc bằng cách tích hợp vào cơ chế hiện tại một mô hình thay thế. Tuy nhiên, thay vì sử dụng hoàn toàn độ chính xác

do mô hình dự đoán, chúng tôi tiền hành đánh giá lại các kiến trúc có độ chính xác

dự đoán cao. Ngoài ra, chúng tôi cập nhật tham số của mô hình liên tục để duy trì

sự xấp xỉ giữa độ chính xác dự đoán và độ chính xác thực sự. Chỉ tiết của phương

pháp này được trình bày ở phàn.1| Phương pháp thứ hai là cải thiện các giải pháp

tiềm năng trên biên không bị thống trị (non-dominated front) S của quan thể hiện tại ở cuối mỗi thế hệ của MOEAs. Đầu tiên, chúng tôi nhận diện các giải pháp này trên biên S. Tiếp theo, một biến thể của thuật toán Tìm kiếm địa phương sẽ được sử dụng để cải thiện chất lượng của các giải pháp tiềm năng được tìm thấy. Chỉ tiết của

phương pháp này được trình bày ở phan[3.2}

3.1 Ước lượng độ chính xác bang mô hình thay thé

Nhu đã trình bày, khi biểu dién NAS ở dang bài toán Tối ưu hóa đa mục tiêu, mục tiêu thứ nhất cần tối ưu thường là độ chính xác của kiến trúc, các mục tiêu cần tối

ưu còn lại thường là các chỉ số hiệu suất như: số lượng tham số của kiến trúc, số lượng GPUs được sử dụng, v.v. Trong số các mục tiêu vừa dé cập, độ chính xác của kiến trúc là mục tiêu mà chúng ta sử dụng nhiều tài nguyên và mất nhiều thời gian

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 23

nhất để thu thập giá trị. Do đó, khi tiến hành tính toán giá trị các mục tiêu của các giải pháp trong quá trình tìm kiếm của MOEAs trên NAS, phần lớn tài nguyên và thời gian được sử dụng để huấn luyện và đánh giá độ chính xác của kiến trúc biểu diễn tương ứng.

TT. Mô hình A ini

| Kiến trúc Le thay thé Độ chính xác

HÌNH 3.1: Cơ chế hoạt động của mô hình thay thé.

Chúng tôi nhận thấy rằng, hiệu suất của các MOEAs trên NAS có thể được nâng cao bằng việc giảm thiểu lượng tài nguyên hao phí cho việc xác định độ chính xác của kiến trúc. Để giải quyết van dé này, chúng tôi đã thay đổi cơ chế xác định độ chính xác hiện tại của MOEAs bằng cách tích hợp một mô hình thay thế. Mô hình này được sử dụng để dự đoán độ chính xác của các kiến trúc thông qua các đặc điểm

của kiến trúc đó. Hình|3.1Ìtrình bay các mô hình thay thế hoạt động. Lúc này, thay vì

tiến hành huấn luyện và đánh giá các kiến trúc để thu thập độ chính xác, chúng tôi

sử dụng mô hình thay thé để ước lượng giá trị nay. Tuy nhiên, chúng tôi không hoàn toàn sử dụng độ chính xác do mô hình dự đoán. Nếu một kiến trúc có độ chính xác

dự đoán cao, chúng tôi sẽ tiến hành huấn luyện và đánh giá để thu thập độ chính xác thực. Độ chính xác cuối cùng của kiến trúc này sẽ được gán bằng với độ chính

xác thực. Ngược lại, đối với các kiến trúc có độ chính xác dự đoán thấp, chúng tôi

sẽ sử dụng chính giá trị dự đoán làm độ chính xác cuối cùng của các kiến trúc đó.

Để đánh giá được độ chính xác dự đoán của kiến trúc là cao hay thấp, chúng tôi so sánh giá trị do mô hình dự đoán với giá trị +. Giá trị y được xác định bằng với trung bình tổng độ chính xác của các kiến trúc đã được hudn luyện và đánh giá trước đó. Nếu giá trị dự đoán lớn hơn hoặc bằng giá trị + thì tức là kiến trúc có độ chính xác

do mô hình dự đoán cao, và ngược lại, néu giá trị dự đoán nhỏ hơn giá trị + thì tức

là kiến trúc có độ chính xác do mô hình dự đoán thấp. Hình |.2|trình bày sự thay

đổi giữa cơ chế xác định độ chính xác hiện tại và cơ chế xác định độ chính xác do chúng tôi đề xuất.

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 24

r”rrrrrrrrrereeeeeeee >| Kiến trúc

Mô hình :

du doan H

z> Kiến trúc h

: Ỷ | Độ chính xác Độ chính xác h

† R - dự đoán dự đoán cao? :

‘ Huan luyện H : Đánh gia

+__| Độ chính xác Huan luyện :

thuc Đánh giá :

Độ chính xác cà

thực

Cơ chế xác định Co chế xác định

độ chính xác hiện tại độ chính xác đề xuất

HINH 3.2: Sự khác biệt giữa cơ chế tính toán độ chính xác hiện tại trên MOEAs và cơ ché tính toán độ chính xác đề xuất. Các khối màu xanh

biểu dién các bước thực hiện mới do chúng tôi dé xuất.

Lấy một ví dụ minh họa, chúng ta có kiến trúc A và kiến trúc B được mô hình

dự đoán có độ chính xác lần lượt là 50% và 70%. Giá trị y hiện tại là 60. Vì 50 < 70 nên độ chính xác của kiến trúc A được gán bằng 50% (tức là, độ chính xác dự đoán). Mặt khác, kiến trúc B sẽ được huấn luyện và đánh giá để thu thập độ chính xác thực

và sử dụng độ chính xác thực làm độ chính xác của B do 70 > 60.

Tuy nhiên, việc sử dụng mô hình thay thế có thể khiến hiệu suất của quá trình tìm kiếm trở nên tệ hơn nếu các giá trị dự đoán có sự chênh lệch quá lớn với giá trị thực. Nếu một kiến trúc có độ chính xác thực cao nhưng mô hình lại đưa ra dự đoán rằng kiến trúc này có độ chính xác thấp, kiến trúc này có thể bị loại bỏ trong quá trình tìm kiếm do chúng ta đã gán độ chính xác thấp cho kiến trúc này. Để đảm

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 25

bảo giá trị dự đoán và giá trị thực xấp xỉ bằng nhau, chúng tôi đã sử dụng một cơ chế xây dựng và cập nhật mô hình thay thế như sau. Khi MOEAs bắt đầu quá trình tìm kiếm, mô hình thay thế sẽ được khởi tạo và sử dụng các kiến trúc trong quần thể đầu tiên làm dir liệu để huấn luyện mô hình. Sau đó, chúng tôi liên tục cập nhật tham số của mô hình mỗi thế hệ trong suốt quá trình tìm kiếm diễn ra. Dữ liệu cho quá trình cập nhật được lấy mẫu từ tập hợp các kiến trúc đã được tìm thấy. Lưu ý rằng, quá trình cập nhật có thể chấm dứt trước khi quá trình tìm kiếm kết thúc nều như mô hình "đủ tốt". Cụ thể hơn, trước khi tiến hành cập nhật mô hình, chúng tôi

sẽ tính toán độ lỗi của các giá trị dự đoán và giá trị thực trong £ thế hệ trước đó. Nêu giá trị độ lỗi rất nhỏ, quá trình cập nhật sẽ không được diễn ra và tham số của mô hình được giữ nguyên cho đến khi kết thúc quá trình tìm kiếm. Hình |3.3|biểu diễn quá trình cập nhật mô hình thay thế.

Mô hình

"đủ tốt"2

Tính toán

độ lỗi

Cập nhật Giá trị độ

tham số lỗi nhở?

Mô hình

"đủ tốt"

HINH 3.3: Quá trình cập nhật mô hình thay thé.

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 26

3.2 Cải thiện các giải pháp tiém năng

Ở cuối mỗi thế hệ của MOEAs, biên không bị thống trị (non-dominated front]l]S

của quan thể hiện tại P được tạo nên từ các giải pháp không bị thống trị Pareto bởi bat kì cá thé nào khác trong quan thể. Từ các giải pháp trên biên S, chúng tôi chọn ra các giải pháp được đánh giá là tiềm năng và lưu trữ chúng trong một tập hợp được gọi là tập tiềm năng K. Sau đó, chúng tôi tiến hành duyệt qua và cải thiện chất lượng của mỗi giải pháp tiềm năng trong K. Khi quá trình cải thiện kết thúc, quan thể 7

sẽ được chuyển sang thế hệ tiếp theo. Hình |3.4|trình bày các bước thực hiện và vị trí thực hiện của phương pháp dé xuất thứ hai của chúng tôi trên quy trình thực hiện tổng quát của MOEA. Về tổng quan, quá trình hoạt động của phương pháp này gồm

hai giai đoạn chính: nhận điện và cải thiện.

3.21 Nhận diện

Giai đoạn đầu tiên là nhận diện các giải pháp tiềm năng. Trước tiên, chúng tôi định nghĩa như thé nào là một giải pháp tiềm năng. Chúng tôi định nghĩa các giải pháp tiềm năng là các giải pháp "knee" và các giải pháp "extreme" trên non-dominated front ở cuối mỗi thế hệ của MOEAs.

Branke và các cộng sự [4] đã cung cấp một định nghĩa về các giải pháp được gọi

là giải pháp "knee" trên non-dominated front S. Một giải pháp "knee" là giải pháp

mà nếu chúng ta thực hiện một sự cải thiện nhỏ ở một mục tiêu sẽ gây ra sự giảm sút lớn ở ít nhất một mục tiêu khác. Trong các tình huống mà không có sự uu tiên

giữa các mục tiêu, các giải pháp "knee" thường là sự lựa chọn được ưa thích hơn so

với các giải pháp khác trên non-dominated front. Dựa vào hinhB.5} chúng ta có thể

thấy được sự tốt hơn của giải pháp "knee" so với các giải pháp khác. Nếu chúng ta

so sánh giải pháp "knee" phía trên với giải pháp màu xanh. Có thể thấy, giải pháp

"knee" có giá trị mục tiêu ƒ¡ tệ hơn giải pháp màu xanh một ít nhưng đổi lai, giá trị mục tiêu fp của giải pháp "knee" tốt hơn rất nhiều so với giải pháp màu xanh. Xét

trường hợp so sánh giữa giải pháp màu vàng với giải pháp "knee" phía trên. Mặc dù

†Từ phan này trở vẻ sau, thuật ngữ "biên không bị thống trị" sẽ được thay thế bằng "non-

dominated front".

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 27

Thỏa mãn điều

kiện kết thúc?

Chọn lọc, lai ghép,

đột biên

HÌNH 3.4: Các giai đoạn và vị trí thực hiện của phương pháp dé xuất

"Tìm kiếm và cải thiện các giải pháp tiềm nang" trên quy trình hoạt

động tổng quát của MOEAs. Khối màu xám biểu diễn cho quy trình hoạt động tổng quát của MOEAs. Các khối màu vàng biểu diễn cho các

giai đoạn thực hiện của phương pháp chúng tôi dé xuất.

giá trị mục tiêu ƒ› của giải pháp màu vàng tốt hon so với giải pháp "knee" nhưng so với sự chênh lệch ở mục tiêu ƒ¡ thì sự đánh đổi này không thỏa đáng.

Bên cạnh các giải pháp "knee", những giải pháp được gọi là giải pháp "extreme"

cũng có một vai trò quan trọng trong các bài toán Tối ưu hóa đa mục tiêu. Một giải

pháp "extreme" có thể được định nghĩa là giải pháp tối ưu ở một mục tiêu duy nhất,

tức là, giải pháp tốt nhất ở một mục tiêu cụ thể trên biên S hiện tại. Hình|3.6|minh

họa giải pháp "extreme" trên biên S trong bài toán Tối thiểu hóa hai mục tiêu. Mặc

dù các giải pháp "extreme" thường không được lựa chọn (vì các giải pháp này chỉ tối

ưu ở mục tiêu, giá trị ở các mục tiêu còn lại thường rất tệ), các giải pháp này vẫn là

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 28

tệ hơn

fy /

HÌNH 3.5: Giải pháp "knee" trên biên không bị thống trị trong bài toán

Tối thiểu hóa hai mục tiêu.

một thành phần giúp biểu diễn được độ lan rộng của biên Pareto. Hiệu suất tối ưu hóa có khả năng được cải thiện nêu như các giải pháp "extreme" được xử lý trong suốt quá trình tìm kiếm diễn ra.

fr

HINH 3.6: Giải pháp "extreme" trên biên không bị thống trị trong bài

toán Tối thiểu hóa hai mục tiêu.

Dựa vào định nghĩa giải pháp tiềm năng đã trình bày ở trên, quá trình nhận diện các giải pháp này được diễn ra như sau. Đầu tiên, chúng tôi khởi tạo một tập hợp

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 29

Tập tiềm năng|

K

@s

than Các cá thể tốt nhất

Tập tiem năng @s ở mỗi mục tiêu

K 3

@ Cá thé "knee"

® < fh So @s .

@ © Ca thé bình thường

1

@s @ s;

Thêm Sp vào K Thêm S, vào K

Thêm Sy vào KC lo) Thêm 6; vào K

oops. s

HÌNH 3.7: Một ví dụ về quá trình nhận diện các giải pháp tiềm năng.

rỗng K để chứa các giải pháp tiềm năng tìm được. Nhận vào tập hợp các giải pháp trên non-dominated front S và giá trị các hàm mục tiêu của chúng, chúng tôi dé dang chọn ra và thêm vào K các giải pháp "extreme" bang cách sắp xếp theo thứ tự giảm (hoặc tăng) dần giá trị ở mỗi mục tiêu. Đối với các giải pháp còn lại, chúng

tôi tiến hành kiểm tra xem các giải pháp đó có phải là giải pháp "knee" không bằng

cách áp dụng phương pháp được đề xuất trong IHỆ Với mỗi giải pháp, chúng tôi tính

toán số đo góc < được tạo bởi chính giải pháp đó với hai giải pháp lân cận gần nhất. Lưu ý rằng, những giải pháp lân cận này phải nằm ở hai phía của giải pháp đang xét (tức là, bên trái và bên phải). Chúng tôi thiết lập một ngưỡng giá trị + € [0,360]

để chọn ra các giải pháp "knee". Nếu một giải pháp có < lớn hon +, chúng tôi chấp

nhận giải pháp đó là giải pháp "knee" và thêm vào K.

Hình |3.7Ì minh họa một ví dụ về quá trình tìm kiếm các giải pháp tiềm năng.

Trong vi dụ này, biên S có 5 giải pháp: So, Sy, Sz, S3, và S4. Có thể thay rang So la giải pháp tốt nhất ở mục tiêu ƒ¡ va Sq là giải pháp tốt nhất ở mục tiêu fy. Do đó, hai giải pháp này lần lượt được thêm vào K. Đối với các giải pháp còn lại S1, Sp và S4, chúng ta tính số đo các góc tương ứng 41, £2 va 43. Vì ⁄+ va 43 lớn hơn +, S; và S3 được xem xét là các giải pháp "knee" và thêm vào K. Tập tiềm năng K cuối cùng bao gồm 4 giải pháp: So, S1, S3 và S4.

Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 30

3.2.2 Cải thiện

Giai đoạn thứ hai của phương pháp này là tiến hành cải thiện các giải pháp tiém năng trong K. Sự cải thiện của một giải pháp được thực hiện bằng cách thay thé giải pháp đó bằng một giải pháp tốt hơn trong các giải pháp lân cận. Chúng tôi sử dụng một biến thể của thuật toán k-opt local search để triển khai quá trình cải thiện.

Trong quá trình thực nghiệm, chúng tôi đã gặp một vân đề như sau. Với mỗi giải pháp trong K, việc tìm kiếm tất cả các giải pháp lân cận có thể gây ra sự lãng phí tài nguyên tính toán. Lay ví dụ trên bài toán MacroNAS-C10 được chúng tôi tiến hành thực nghiệm, một giải pháp được biểu diễn dưới dạng một chuỗi ký tự có chiều dài

| = 14 và mỗi phan tử được biểu diễn bang một trong = 3 ký tự khác nhau. Nếu

thực hiện tìm kiếm trên k = 1 vị trí, sẽ có tất cả 28 giải pháp lân cận (tức là, ( A) *(n-

1)*) cho mỗi giải pháp được xét. Con số này sẽ là 364 cho mỗi giải pháp nêu chúng

ta thực hiện tìm kiếm trên k = 2 vị trí. Việc tìm kiếm tất cả các giải pháp lân cận của một giải pháp tiém năng chi mang lại hiệu quả néu chúng ta tìm thấy một giải pháp tốt hơn trong chúng. Nếu như không có sự tổn tại của một giải pháp tốt hơn, việc tìm kiếm toàn bộ các giải pháp lân cận là vô nghĩa và rất tốn kém. Do đó, chúng ta cần giới hạn số lượng giải pháp lân cận m sẽ được tìm kiếm cho mỗi giải pháp tiềm năng. Chúng tôi quyết định gan m = 1, tức là, bằng với chiều dai của một giải pháp

I, để đảm bảo sự tăng trưởng tuyến tính của local search.

Quá trình cải thiện được thực hiện như sau. Với mỗi giải pháp x € K, chúng tôi

sẽ tiền hành tìm kiếm m giải pháp lân cận của x. Dé tìm thay một giải pháp lân cận mới x’, đầu tiên chúng tôi chọn ngẫu nhiên k vị trí của x. Với mỗi vị trí được chọn, giá trị của x tại vị trí đó được thay đổi bằng một giá trị mới. Giá trị này không được trùng với giá trị hiện tại và phải nằm trong tập hợp C, tập hợp các giá trị hợp lệ. Dé tránh trường hợp giải pháp lân cận x’ đã được tìm thấy trước đó, chúng tôi kiểm tra sự tồn tại của x’ trong tập hợp £, một tập hợp lưu giữ các giải pháp lân cận đã được tìm thay của x. Chúng tôi cũng kiểm tra xem x’ có tổn tại trong quan thể hiện tại hay không để tránh xảy ra hiện tượng trùng lặp. Nếu x’ có một trong các đặc điểm trên, chúng tôi bỏ qua nó và tiến hành tìm kiếm một giải pháp lân cận khác. Ngược lại, x’ sẽ được thêm vào £ và được tiến hành tính toán giá trị các hàm mục

tiêu f(x’). Sau đó, chúng tôi so sánh giá trị các hàm mục tiêu của giải pháp hiện

tại f(x) và giá trị các hàm mục tiêu của giải pháp lân cận f(x’) để tìm ra giải pháp

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Các phương pháp cải thiện hiệu suất thuật toán tiến hóa đa mục tiêu cho bài toán tìm kiếm kiến trúc mạng neural (Trang 41 - 50)

Tải bản đầy đủ (PDF)

(77 trang)