tial Mutation)
Trong tính toán tiễn hóa, Tiến hóa vi phân (Differential Evolution, viết tắt là DE) là một phương pháp đơn giản nhằm thực hiện tìm kiếm và tối ưu các bài toán
có biến là số thực. Phép biến đổi của DE có thể cho chúng ta một hướng tiếp cận
mới về van đề mà PM đang gặp phải. Hình |3.2|biểu diễn từng bước của thuật toán
Tiến hóa vi phân. Cụ thể, với mỗi cá thể được biểu diễn là x; trong quần thể hiện tại, cơ chế đột biến truyền thống “DE/rand/1” tinh vector đột biến bằng ỉĂ =
Xr + FX (xp, — X17), trong đó x;5,%1,,Xr, là ba cá thể khác nhau được chọn ngẫu nhiên trong quan thể hiện tại với F € (0,1) là yếu té tỉ lệ (scaling factor) điều chỉnh mức độ đột biến. Ngoài ra vector con z;, được tạo ra bởi đột biến đa điểm giữa x;
và v;, sẽ thay thé x; ở thé hệ tiếp theo nếu z; vượt trội hơn so với x;. Phép đột biến của DE khai thác sự khác biệt tương đối giữa các cá thể trong quan thé để thực hiện việc khám phá không gian tìm kiếm. Nếu quan thể vẫn chưa hội tụ, vector hiệu (x;, — X7,) sẽ có giá trị lớn, và vector con z; được tạo ra sẽ xa hơn so với x;. Khi quần thé sắp hội tụ, hiệu (x;, — x;,) trở nên nhỏ dan, và z; sẽ được tạo ra gan với x;.
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 31
y A y A y A
O fe) © ° >
le) © ©
_ © ° ©° : 2?
© „
l©) © e ° @
â _ ơ
> > >
x x x
1. Quan thé trong 2. Lần lượt chọn 1 cá thé và 3. Tính vector khác biệt và không gian tìm kiếm 3 cá thể ngẫu nhiên khác chia tỉ lệ F
y A y A y A
O f=4 © f=5
° : : °
o a Oo |
La v f=3
> > >
x x x
4. Đột biến dựa trên 5. Lai ghép cá thể được chọn 6. Chọn lọc cá thể tốt nhất vector khác biệt với cá thể đột biến
HINH 3.2: Hình ảnh minh họa quá trình thực hiện của Tiến hóa vi phân.
Lay cảm hứng từ phép đột bién của DE [31], chúng tôi để xuất Phenotypic differ-
ential mutation (viết tat là PhDM, tạm dịch, Đột biến Vi phân Kiểu hình) cho thuật toán tìm kiếm chiến lược để giải các tác vụ điều khiển liên tục. Không giống như các phép đột biến đẳng hướng như đột biến Gaussian trên không gian tham số, PhDM
tạo một vector đột biến hành vi trên không gian hành động .4 (hay chúng tôi còn gọi là không gian kiểu hình) và thực hiện cơ chế học bắt chước để huấn luyện mạng actor của cá thể trong quần thể để hành động theo như vector đột biến được tạo
ra. Với một tác tử ban đầu p được chọn để đột biến bởi PhDM, chúng tôi gọi chiến lược của nó là 7¿„„ mang actor là pp, bộ nhớ di truyền là By, và vector đột biến hành động là bự. Giá trị từng thành phần của vector b„ tương ứng với trạng thái s được lay mẫu từ By được tính bằng:
bm(s) = 7p,(8) + F x (x(s) — 7y(8)) |s~B, (3.1)
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 32
với 7x, Ty là một cặp chiến lược được chọn ngẫu nhiên từ quan thể hiện tại ngoại trừ cá thể gốc 7r„„. Tat cả các hành động của các chiên lược khác nhau được tạo ra từ cùng các trạng thái xuất hiện của cá thể gốc được lay mẫu từ chính bộ nhớ di truyền của nó. Giá trị hiệu hành động (Zrx(s) — 7r„(s)) của hai chiến lược ngẫu nhiên phan nào đại diện được phân phối kiểu hình của quân thể hiện tại. Bằng cách này, vector đột biến hành vi b„ tự diéu chỉnh dựa theo phân phối của quan thể trong không gian kiểu hình, từ đó giảm bớt được những khó khăn trong việc điều chỉnh yếu tố ti
lệ F. Chúng tôi cũng lưu ý rằng, trong Novelty Search (tạm dịch là Tìm kiếm Sự mới
lạ) (8) 24, cũng tồn tại định nghĩa về sự khác nhau giữa các tác tử trong không gian
hành vi, ví dụ như là khoảng cách Euclid giữa hai vectors khác nhau được dùng để
tính khoảng cách trong không gian hành vi.
Khi tính được vector đột biến hành động b„„, chúng ta cần thay đổi cá thể gốc được chọn để có thể tạo ra hành động giống với vector đột biến này. Tương tự như lai ghép chat lọc, một cơ ché học bắt chước cũng được thực hiện để huấn luyện mạng actor của cá thể được đột biến học theo các hành động trọng vector đột biến hành vi b,,. Ham mất mát để huấn luyện cá thể này là:
||
L(p) 7 )„ Tp, (Sk) | (3.2)2
k
› J1 184
Tp (Sk) — bm(s;) | +B 2>
trong đó s¿ là những trang thái lay được từ bộ nhớ di truyền của cá thể gốc By, 79,
là tham số chiến lược của cá thể cần được cập nhật về vector đột biến hành vi bự,.
Ngoài ra, một số hạng hiệu chỉnh (regularization term) cũng được thêm vào như
trong Công thức|2.7] để khắc phục tình trạng tiêu biến gradient của hàm kích hoạt
tanh được sử dụng trong mạng neural của cá thể. Như vậy có thể thấy rằng PhDM
hoạt động tương tự như cách DE tạo ra cá thể đột biến (bước 1-4 của Hình|3.2} nhưng
được thực hiện trên không gian hành động (kiểu hình) thay vì là không gian tham
số chiến lược (kiểu gen).
Phép biến đổi mới này cho phép độ lớn đột biến không còn phụ thuộc hoàn toàn vào các siêu tham số như đột biến Gaussian hoặc đột biến gần mà giá trị của nó một
phần sẽ phụ thuộc vào thông tin về khoảng cách giữa các cá thể khác trong quần
thể. Hình|3.1|cho thây rằng PhDM không quá nhạy với các thay đổi của siêu tham số
tỉ lệ F so với độ lớn đột biến ơ của PM. Tần suất trạng thái xuất hiện và điểm thưởng
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 33
nhận được của các tác tử đột biến được tạo bởi PM thay đổi khá lớn theo giá trị của ơ; trong hầu hết trường hợp, chiến lược mới được tạo ra có kết quả thấp hơn đáng
kể so với cá thể gốc. Đối với PhDM, có thể thấy nhìn chung ở hầu hết các trường hợp, các tác tử đột biến được tao ra bởi PhDM có kết quả giống, thậm chí đôi khi tốt hơn, so với cá thể gốc. Ngoại trừ khi F = 0.5, sự thay đổi của tần suất trạng thái xuất hiện lớn hơn so với các trường hợp còn lại 0.001 < F < 0.1. Tuy nhiên mức độ biến đổi này tăng khi F tăng thay vì biến đổi một cách thiếu quy tắc như PM, cho thay PhDM có thể dễ dàng điều chỉnh các siêu tham số hơn làm tăng tính ổn định của phương pháp. PhDM không những nâng cao tính đa dạng của quản thể (bằng cách tạo ra các giá trị tham số mạng mới) mà còn có thể giảm được khả năng mà hành vi của cá thể bị phá hủy (bằng cách huấn luyện mạng actor bắt chước theo vector đột biến hành vi có khả năng nhận biết thông tin về về phân phối kiểu hình của quần thể). Khi các cá thể trong quần thể hành động giống nhau, vector khác biệt về kiểu hình (7t,(s) — 7„(s)) dần trở nên nhỏ hơn, và các tác tử được đột biến sau đó sẽ kéo
theo có hành động giống nhau. Chỉ tiết về cách hoạt động của PhDM được trình bày
bằng mã giả trong Thuật toán |
_ Thuật giải 5: Phenotypic Differential Mutation(PhDM) ss s—i(i‘—s~s~s—S
1 Dau vào: Chiến lược 7p, và bộ nhớ di truyền By của tác tử cha mẹ p
2 Hai chiến lược (actors) ngẫu nhiên 7r;, ty, Yếu tố chia tỉ lệ F
3 Đầu ra: Chiến lược mới 7r„„ đã duoc đột biến cùng bộ nhớ di truyền By,
4 bm = {7,(8) + F x (x(s) = 7(5)) |s € Bp}
5 fori = 1 to #epochs do
s | Cập nhật $y để tối thiểu hóa Công thức|3.2|
3.3. Phenotypic Evolutionary Double Actors Regularized
Critics (PhREDARC)
Hình |3.3| cho thay ảnh minh họa của toàn bộ thuật toán Phenotypic Evolutionary Double Actors Regularized Critics (viết tắt là PhEDARC, tạm dịch là DARC kết hợp tính toán tiến hóa kiểu hình). Trong phương pháp mới được dé xuất này, chúng tôi
đã tái cầu trúc lại PDERL để kết hợp tính hiệu quả trong lấy mẫu của cơ chế policy
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 34
gradient từ DARC và phép biến đổi ổn định trên không gian hành động PhDM đã
được giới thiệu ở phằn|3.2|trước đó.
Về cơ bản quá trình chạy của PhEDARC sẽ diễn ra như sau: Ở mỗi thế hệ, một
quân thể các tác tử sẽ phải trải qua các bước của một thuật giải di truyền điển hình. Ban đầu các cá thể sẽ được đưa vào môi trường để tương tác trong một lượt chạy và lưu lại các kinh nghiệm vào bộ nhớ chung và bộ nhớ di truyền của mỗi cá thể. Bên
cạnh đó mỗi tác tử sẽ được đánh giá điểm thích nghi dựa trên tổng điểm thưởng mỗi cá thể thu thập được ở lần tương tác môi trường trước đó. Thông qua đó ta sẽ thực hiện chọn các cá thể cha mẹ tiềm năng để thực hiện lai ghép và đột biến nhằm tạo ra các cá thé con, thay thé các cá thể không phù hợp (độ thích nghi kém hơn) ở quan thé cũ tạo thành quan thé mới. Và cuối cùng thực hiện cập nhật tham số chiến lược của một nửa tác tử trong quần thể bằng công thức policy gradient dựa trên thuật toán DRL như một phép biến đổi để đẩy mạnh hiệu năng của tác tử. Ta thực hiện nhiều lần vòng lặp này đến khi gặp điều kiện kết thúc (hết số lượng bước tương tác với môi trường được cho phép). Thuật toán|6|trình bay mã giả của PhEDARC.
Các phần dưới đây sẽ giải thích chỉ tiết hơn về các thành phần trong quy trình
của PhEDARC.
Khởi tạo. PhEDARC bat đầu với một quan thé P chứa N cá thể tác tử khác nhau, với cá thể thứ i mang theo chiến lược Tp, có tham sO mạng ở; được khởi tạo ngẫu nhiờn cựng với một bộ nhớ di truyền rỗng ệ;. Bờn cạnh quan thộ P, hai critics Qạ,, Q¿, cũng được khởi tạo và các target critics Qe, Qo, sao chép lại tham số của các critics gốc 6; và ỉa vào chớnh bộ tham số của ban thõn. Chỳng tụi ban dau sẽ để cho mỗi cá thể di chuyển ngẫu nhiên trong môi trường nhằm thu thập một lượng kinh nghiệm nhất định vào khoảng w bước để làm day một phần bộ nhớ di truyền của
mỗi cá thể B; và bộ nhớ chung Beloval- Giai đoạn khởi động này đã được áp dụng
trong các thuật toán như TD3 [12], DARC [27] nhằm tránh phụ thuộc quá nhiều vào
giá trị khởi tạo ban đầu của mạng neural [12].
Chon loc. Ở mỗi thé hệ, mỗi cá thể được đánh giá độ thích nghỉ (fitness), được
tính là tổng phần thưởng tích lũy cho toàn bộ một lần chạy. Trong suốt quá trình đánh giá, các bộ kinh nghiệm được thu lại tại mỗi bước đi trong môi trường và lưu trữ vào bộ nhớ di truyền tương ứng và bộ nhớ chung. Trong khi PDERL sử dụng chọn lọc giao đấu (tournament selection) với kích thước giao đấu (số cá thể chọn cho mỗi lần giao đấu) là 3 như trong mã nguồn của tác giả, chúng tôi thực hiện chọn
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 35
Môi trường A
|
Chon lọc cắt giảm
Elites
1 1 1 1 1
h Chiến lược 1
1
1
Selected Unselected '
| '
1 1 1 1 1 1 1 1
Chiến lược 2
| Thay thé uonezueinboy
>g8 S iN) <
Chiến lược N/2 - 1 Chiến lược N/2
[J Chiến lượcN
HÌNH 3.3: Hình ảnh minh họa cơ chế hoạt động của thuật toán
PhEDARC
lọc cắt ngắn (truncation selection) để đơn giản hóa quá trình chọn lọc. Đầu tiên, các
cá thể trong một quan thể được sắp xếp lại theo điểm thích nghỉ để tạo thành một danh sách xếp hạng với độ thích nghỉ giảm dan (cá thể có điểm thích nghi cao nhất xếp thứ 1). Từ đó, chọn x N cá thé đứng đầu được gọi là elites (tam dịch là cá thể
ưu tú), với là tỉ lệ chọn elite. Các elites sẽ không bị thay đổi trong suốt quá trình thực hiện các phép biến đổi và cập nhật tham số mạng neural nhằm giữ lại các cá thể có tiềm năng nhất cho thế hệ tiếp theo. Sau đó, chúng tôi chia danh sách xếp hạng thành hai nửa bằng nhau: các cá thể của nửa dưới gọi là unselected (tam dich là
cá thể không được chọn), sẽ bị thay thế bởi các cá thể con tạo ra bởi lai ghép chất lọc (distillation crossover) bởi các cá thể ở nửa trên danh sách xếp hạng, gọi là selected (tạm dịch là cá thể được chọn).
Lai ghép. Trước khi thực hiện lai ghép, chúng ta cần phải chọn được cặp các cá
thể cha mẹ tiềm năng sao cho có thể tạo ra cá thể con tốt hơn. Như trong PDERL (51,
chúng tôi xếp hang tat cả các cặp có thể ghép được từ các cá thé selected dựa trên
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 36
tổng giá trị điểm thích nghỉ của mỗi cặp và chọn các cặp tốt nhất để lai ghép. Số cặp
được chọn lúc này sẽ bằng với số lượng các cá thé unselected có thể bị thay thé. Ở
mỗi lần lai ghép, một cá thể con được tạo ra từ một cặp cha mẹ thông qua lai ghép
chắt lọc bằng cách tối thiểu hóa Công thức|2.7] Theo đó, mạng actor con được huấn
luyện để bắt chước theo hành động (được ước lượng) tốt nhất giữa hai cá thể cha
mẹ ở mỗi trạng thái từ bộ nhớ di truyền của cá thể con.
Đột biến. Ngoại trừ các elites, tat cả các cá thể còn lại sẽ được chọn theo xác suất
để đột biến bằng PhDM. Với mỗi tác tử được chọn, chúng tôi chọn ngẫu nhiên thêm hai cá thể khác từ quần thể cũ để tính vector đột biến hành vi theo công thức
Mạng actor của tác tử được đột biến sau đó được huấn luyện để hành động như
theo vector đột biến hành vi bằng cơ chế học bắt chước như trong Công thức|3.2]
Policy gradient. Không giống như PDERL, PhEDARC không đưa một mang ac-
tor bên ngoài được huấn luyện đồng thời bằng DRL vào quan thể theo chu kỳ. Thay vào đó, chúng tôi sử dụng cơ ché policy gradient dựa trên hai actors của DARC để cập nhật trực tiếp bộ tham số chiến lược của một nửa quân thể. Chúng tôi chọn ngẫu nhiên các cặp cá thể đến khi đạt được số cá thể được chọn bằng một nửa số lượng thành viên của quan thể. Một lần nữa, elites sẽ không được chon trong suốt quá trình này. Với mỗi cặp được lay ra, mạng actors của hai cá thể sẽ đóng vai trò như hai actors 7r¿,, 7r¿„ của DARC. Mặc dù không có actor bên ngoài nào để tương tác với môi trường như PDERL, chúng tôi vẫn sử dụng hai critics đã được huấn luyện bằng
cơ chế điều chỉnh bias của DARC cùng với các cá thể trong quần thể. Trong suốt quá trình này, hai critics của DARC và các actors trong quan thể được huấn luyện trên các kinh nghiệm được lấy ra từ bộ nhớ chung. Việc thực hiện cập nhật tham
số bằng policy gradient trực tiếp lên các cá thể nhằm mục đích đẩy nhanh hơn quá
trình nâng cao hiệu năng của thuật toán. Thay vì phụ thuộc vào một tác tử RL duy
nhất ở bên ngoài và chỉ cung cấp kinh nghiệm từ quân thể cho tác tử này để gia tăng
khả năng khám phá như ERL (19), PDERL [5], ta có thể sử dung các thuật toán DRL
(cụ thể ở đây là DARC) để làm một phép biến đổi hiệu quả trên nhiều cá thể ở các
khu vực khác nhau trên không gian tìm kiếm, giúp tăng cường hơn hiệu năng trong
việc khai phá. Phần thực nghiệm bổ sung [4.2.2] sẽ làm rõ hon về tính hiệu qua của
sự thay đổi này so với phương pháp trước đó của PDERL dựa trên các kết quả đã
thực hiện.
Cơ ché elite én định. Khi mà PDERL và PhEDARC hoàn thành một vòng lặp
Chương 3. CÁC PHƯƠNG PHÁP ĐỀ XUẤT 37
(thé hệ), cá thể tốt nhất (elite) trong quan thể có thể được trả về như một chiến lược tìm kiếm. Tuy nhiên, giá trị điểm thích nghi chỉ được đánh giá trong một lần chạy,
và vì thế kết quả đánh giá có thể dao động lớn nếu môi trường phụ thuộc vào các yếu tố ngẫu nhiên (ví dụ như khởi tạo trạng thái ban đầu là ngẫu nhiên hay tồn tại hàm xác suất chuyển đổi trong môi trường). Các phép chon lọc (chọn lọc giao dau trong PDERL hay chọn lọc cắt giảm trong PhEDARC) xếp hạng độ thích nghi của các cá thể trong quá trình tìm kiếm dựa hoàn toàn vào các giá trị điểm thích nghỉ không ổn định này. Để khắc phục tình trạng này, trong các môi trường có độ nhiễu cao như Hopper và Walker2d, PDERL cần phải thực hiện nhiều lần đánh giá cho mỗi cá thể [5] (chạy nhiều lần khác nhau và lấy trung bình số điểm thu được) để
có thể lay được một kết quả tương đối ổn định đủ tin cậy làm điểm thích nghỉ của
cá thể. Tuy nhiên, nếu chỉ đơn giản đánh giá mỗi cá thể bằng cách lấy trung bình nhiều lần chạy như PDERL cần thực hiện nhiều số bước tương tác với môi trường, làm tăng yêu cầu tài nguyên tính toán, dẫn đến việc tìm kiếm giảm đi tính hiệu quả lay mẫu. Chúng tôi dé xuất một cơ chế đơn giản có thể áp dụng độc lập dưới dang plug-and-play (không cần thay đổi đến các thành phần khác của thuật toán có sẵn)
vào khung của thuật toán PhEDARC để nhận dang và theo dau cá thể elite ổn định
như sau. Ở mỗi thế hệ, mỗi cá thể chỉ được đánh giá một lần duy nhất giai đoạn
chọn lọc như bình thường, nhưng sau khi kết thúc quá trình cập nhật tham số bằng DARC, cá thể tốt nhất được đánh giá thêm e — 1 lần để tinh được điểm trung bình của e lần (e = 5 trong khóa luận nay). Cá thể này sẽ trở thành elite ổn định mới nếu điểm trung bình của nó lớn hơn điểm trung bình của elite ổn định hiện tại. Nếu cá thể elite ổn định vẫn có điểm thích nghỉ tốt nhất ở các thế hệ sau, chúng ta không cần đánh giá lại cá thể này. Với mỗi lần đánh giá, chúng tôi sẽ lưu lại tất cả các kinh
nghiệm vào cả bộ nhớ di truyền và bộ nhớ chung cũng như chúng tôi tính những lần
tương tác với môi trường này vào chi phí tính toán của PhEDARC. Hình 8.4] minh
họa các trường hợp có thể xảy ra và phương hướng xử lý từng trường hợp của cơ chế elite 6n định.