CƠ SỞ LÝ THUYẾT GIẢI THUẬT DI TRUYỀN

Một phần của tài liệu nhận dạng ảnh mặt người sử dụng mạng nơron nhân tạo và giải thuật di truyền (Trang 31 - 72)

2.2.1. Khái niệm

Giải thuật di truyền cung cấp một cách tiếp cận cho việc học dựa vào mô phỏng sự tiến hóạ Các giả thuyết thƣờng đƣợc mô tả bằng các chuỗi bit, việc hiểu các chuỗi bit này tùy thuộc vào ứng dụng, ý tƣởng các giả thuyết cũng có thể đƣợc mô tả bằng các biểu thức kí hiệu hoặc ngay cả các chƣơng trình máy tính. Tìm kiếm giả thuyết thích hợp bắt đầu với một quần thể, hay một tập hợp có chọn lọc ban đầu của các giả thuyết. Các cá thể của quần thể hiện tại khởi nguồn cho quần thể thế hệ kế tiếp bằng các hoạt động lai ghép và đột biến ngẫu nhiên – đƣợc lấy mẫu sau các quá trình tiến hóa sinh học. Ở mỗi bƣớc, các giả thuyết trong quần thể hiện tại đƣợc ƣớc lƣợng liên hệ với đại lƣợng thích nghi đƣợc cho, với các giả thuyết phù hợp nhất đƣợc chọn theo xác suất là các hạt giống cho việc sản sinh thế hệ kế tiếp. Giải thuật di truyền đã đƣợc ứng dụng một cách thành công cho những tác vụ học khác nhau và cho các vấn đề tối ƣu hóa khác. Ví dụ, chúng đã đƣợc dùng để học tập luật điều khiển robot và để tối ƣu hóa các thông số học và tôpô cho mạng nơron nhân tạọ

2.2.2. Động lực

Giải thuật di truyền cung cấp một phƣơng pháp học đƣợc thúc đẩy bởi sự tƣơng tự với sự tiến hóa sinh học. Thay vì tìm kiếm các giả thuyết từ tổng quát đến cụ thể hoặc từ đơn giản đến phức tạp, GAs tạo ra các giả thuyết kế tiếp bằng cách lặp việc đột biến và việc tái hợp các phần của giả thuyết đƣợc biết hiện tại là tốt nhất Ở mỗi bƣớc, một tập các giả thuyết đƣợc gọi là quần thể hiện tại đƣợc cập nhật bằng cách thay thế vài phần nhỏ quần thể bởi cá thể con của các giả thuyết tốt nhất ở thời điểm hiện tạị Sự phổ biến của GAs đƣợc thúc đẩy bởi các yếu tố sau:

Tiến hóa là một phƣơng pháp mạnh, thành công cho sự thích nghi bên trong các hệ thống sinh học.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 30

GA có thể tìm kiếm trên các không gian giả thuyết có các phần tƣơng tác phức tạp, ở đó ảnh hƣởng của mỗi phần lên toàn thể độ thích nghi giả thuyết khó có thể mô hình.

Thuật giải GA có thể đƣợc thực hiện song song và có thể tận dụng thành tựu của phần cứng máy tính mạnh.

2.2.3. Giải thuật di truyền

Bài toán dành cho GAs là tìm kiếm trên không gian các giả thuyết ứng cử để xác định giả thuyết tốt nhất. Trong GAs “giả thuyết tốt nhất” đƣợc định nghĩa nhƣ là một giả thuyết tối ƣu hóa một đại lƣợng số đƣợc định nghĩa trƣớc cho bài toán sắp tới, đƣợc gọi là độ thích nghi của giả thuyết. Ví dụ, nếu tác vụ học hỏi là bài toán xấp xỉ một hàm chƣa biết cho tập mẫu huấn luyện gồm dữ liệu đầu vào và dữ liệu đầu ra, thì độ thích nghi có thể đƣợc định nghĩa nhƣ là độ chính xác của giả thuyết trên dữ liệu huấn luyện nàỵ Nếu tác vụ là học chiến lƣợc chơi cờ, độ thích nghi có thể là số ván thắng của chiến lƣợc này khi đấu với các chiến lƣợc khác trong quần thể hiện tạị

Mặc dù các giải thuật di truyền đƣợc thực hiện thay đổi theo bài toán cụ thể, nhƣng chúng chia sẻ chung cấu trúc tiêu biểu sau: Thuật giải hoạt động bằng cách cập nhật liên tục tập giả thuyết – đƣợc gọi là quần thể. Ở mỗi lần lặp, tất cả các cá thể trong quần thể đƣợc ƣớc lƣợng tƣơng ứng với hàm thích nghị Rồi quần thể mới đƣợc tạo ra bằng cách lựa chọn có xác suất các cá thể thích nghi tốt nhất từ quần thể hiện tạị Một số trong những cá thể đƣợc chọn đƣợc đƣa nguyên vẹn vào quần thể kế tiếp. Những cá thể khác đƣợc dùng làm cơ sở để tạo ra các cá thể con bằng cách áp dụng các tác động di truyền: lai ghép và đột biến.

Thuật toán di truyền gồm có bốn quy luật cơ bản là lai ghép, đột biến, sinh sản và chọn lọc tự nhiên nhƣ sau:

ạ Quá trình lai ghép (phép lai)

Quá trình này diễn ra bằng cách ghép một hay nhiều đoạn gen từ hai nhiễm sắc thể cha-mẹ để hình thành nhiễm sắc thể mới mang đặc tính của cả cha lẫn mẹ. Phép lai này có thể mô tả nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 31

Chọn ngẫu nhiên hai hay nhiều cá thể trong quần thể. Giả sử chuỗi nhiễm sắc thể của cha và mẹ đều có chiều dài là m.

Tìm điểm lai bằng cách tạo ngẫu nhiên một con số từ 1 đến m-1. Nhƣ vậy, điểm lai này sẽ chia hai chuỗi nhiễm sắc thể cha-mẹ thành hai nhóm nhiễm sắc thể con là m1 và m2. Hai chuỗi nhiễm sắc thể con lúc này sẽ là m11+m22 và m21+m12. Đƣa hai chuỗi nhiễm sắc thể con vào quần thể để tiếp tục tham gia quá trình tiến hóa

b. Quá trình đột biến (phép đột biến)

Quá trình tiến hóa đƣợc gọi là quá trình đột biến khi một hoặc một số tính trạng của con không đƣợc thừa hƣởng từ hai chuỗi nhiễm sắc thể cha-mẹ. Phép đột biến xảy ra với xác suất thấp hơn rất nhiều lần so với xác suất xảy ra phép laị Phép đột biến có thể mô tả nhƣ sau:

Chọn ngẫu nhiên một số k từ khoảng 1 ≥ k ≥ m Thay đổi giá trị của gen thứ k

Đƣa nhiễm sắc thể con vào quần thể để tham gia quá trình tiến hóa tiếp theo

c. Quá trình sinh sản và chọn lọc (phép tái sinh và phép chọn)

Phép tái sinh: là quá trình các cá thể đƣợc sao chép dựa trên độ thích nghi của nó. Độ thích nghi là một hàm đƣợc gán các giá trị thực cho các cá thể trong quần thể của nó. Phép tái sinh có thể mô phỏng nhƣ sau:

Tính độ thích nghi của từng cá thể trong quần thể, lập bảng cộng dồn các giá trị thích nghi đó (theo thứ tự gán cho từng cá thể) ta đƣợc tổng độ thích nghị Giả sử quần thể có n cá thể. Gọi độ thích nghi của cá thể thứ i là Fi, tổng dồn thứ i là Ft.Tổng độ thích nghi là Fm

Tạo số ngẫu nhiên F có giá trị trong đoạn từ 0 đến Fm

Chọn cá thể k đầu tiên thỏa mãn F ≥ Ft đƣa vào quần thể của thế hệ mớị Phép chọn: là quá trình loại bỏ các cá thể xấu và để lại những cá thể tốt. Phép chọn đƣợc mô tả nhƣ sau:

Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần Loại bỏ các cá thể cuối dãy, chỉ để lại n cá thể tốt nhất.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 32

Giải thuật di truyền mẫu

GA( Fitness, Fitness_threshold, p, r, m) {

// Fitness: hàm gán thang điểm ước lượng cho một giả thuyết

// Fitness_threshold: Ngưỡng xác định tiêu chuẩn dừng giài thuật tìm kiếm

// p: Số cá thể trong quần thể giả thuyết

// r: Phân số cá thể trong quần thể đƣợc áp dụng toán tử lai ghép ở mỗi bƣớc // m: Tỉ lệ cá thể bị đột biến

 Khởi tạo quần thể: P Tạo ngẫu nhiên p cá thể giả thuyết

 Ƣớc lƣợng: Ứng với mỗi h trong P, tính Fitness(h)

while [maxFitness(h)] < Fitness_thresholddo

Tạo thế hệ mới, PS

1. Chọn cá thể: chọn theo xác suất (1 – r)p cá thể trong quần thể P thêm

vào PS. Xác suất Pr(hi) của giả thuyết hi thuộc P đƣợc tính bởi công thức:

1 ( ) Pr( ) ( ) i i p j j Fitness h h Fitness h   

2. Lai ghép: chọn lọc theo xác suất

2

rp

cặp giả thuyết từ quần thể P,

theo Pr(hi) đã tính ở bƣớc trên. Ứng với mỗi cặp <h1, h2>, tạo ra hai con bằng cách áp dụng toán tử lai ghép. Thêm tất các các con vào PS.

3. Đột biến: Chọn m% cá thể của PS với xác suất cho mỗi cá thể là nhƣ

nhaụ Ứng với mỗi cá thể biến đổi một bit đƣợc chọn ngẫu nhiên trong cách thể hiện của nó.

4. Cãp nhật: PPS.

5. Ước lượng: Ứng với mỗi h trong P, tính Fitness(h)

 Trả về giả thuyết trong P có độ thích nghi cao nhất. }

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 33

Quần thể gồm p cá thể. Ở mỗi lần lặp, quần thể kế tiếp PS đƣợc hình thành từ việc lựa chọn theo xác suất các giả thuyết hiện tại theo độ thích nghi của chúng và bằng cách thêm vào các giả thuyết mớị Các giả thuyết mới đƣợc tạo ra bằng cách áp dụng toán tử lai ghép cho cặp giả thuyết thích nghi nhất và bằng cách tạo ra các đột biến điểm đơn trong thế hệ giả thuyết kết quả. Quá trình này đƣợc lặp cho đến khi các giả thuyết thích hợp đƣợc phát hiện. Các toán tử lai ghép và đột biến tiêu biểu đƣợc định nghĩa trong bảng kế tiếp.

Một giải thuật di truyền mẫu đƣợc mô tả trong bảng 2.1. Các đầu vào cho thuật giải này bao gồm hàm tính độ thích nghi để tính hạng cho các giả thuyết ứng cử, một giá trị ngƣỡng đƣợc định nghĩa cấp độ thích nghi có thể chấp nhận để kết thúc thuật giải, kích thƣớc quần thể, và các tham số quyết định các quần thể kế tiếp đƣợc tạo ra nhƣ thế nào: phần quần thể bị thay thế ở mỗi thế hệ và tỉ lệ đột biến.

Lƣu ý trong thuật giải này, ở mỗi bƣớc lặp qua vòng lặp chính tạo ra một thế hệ mới các giả thuyết dựa vào quần thế hệ hiện tạị Trƣớc tiên, một số giả thuyết đƣợc chọn từ quần thể hiện tại để đƣa vào thế hệ kế tiếp. Những giả thuyết này đƣợc chọn theo xác suất, ở đây xác suất của giả thuyết đƣợc tính bởi:

1 ( ) Pr( ) ( ) i i p j j Fitness h h Fitness h    (2.1)

Vì vậy, xác suất để giả thuyết đƣợc chọn tỉ lệ với độ thích nghi của nó và tỉ lệ nghịch với độ thích nghi của các giả thuyết cạnh tranh khác trong quần thể hiện tạị

Một khi các cá thể này của thế hệ hiện tại đã đƣợc chọn để đƣa vào quần thể thế hệ kế tiếp, các cá thể thêm vào đƣợc tạo ra dùng toán tử lai ghép. Lai ghép, đƣợc định nghĩa chi tiết trong phần kế tiếp, lấy hai giả thuyết từ thế hệ hiện tại và tạo ra hai giả thuyết con bằng cách kết hợp các phần của hai giả thuyết chạ Các giả thuyết cha đƣợc chọn theo xác suất từ quần thể hiện tại, sử dụng hàm xác suất đƣợc cho bởi phƣơng trình (2.1). Sau khi các cá thể mới đƣợc tạo ra từ hoạt động lai ghép này, quần thế thế hệ mới bây giờ có đủ số lƣợng thành viên mong muốn. Lúc này, một phân số m nào đó các cá thể này đƣợc chọn một cách ngẫu nhiên, và tất cả các đột biến ngẫu nhiên đƣợc thực hiện để thay đổi các cá thể nàỵ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 34

2.2.4. Thể hiện các giả thuyết

Các giả thuyết trong GAs thƣờng đƣợc thể hiện dƣới dạng chuỗi các bit, để chúng có thể dễ dàng đƣợc thực hiện bởi các toán tử di truyền: đột biến và lai ghép. Các giả thuyết đƣợc thể hiện bởi chuỗi bit này có thể khá phức tạp. Ví dụ, tập các luật if-then có thể dễ dàng đƣợc thể hiện theo cách này, bằng cách chọn một cách thức mã hóa các luật để phân bố các chuỗi con riêng cho mỗi điều kiện trƣớc và điều kiện sau của luật. Các ví dụ về sự thể hiện các luật này trong các hệ thống GAs đƣợc mô tả bởi Hooland (1986); Grefenstette (1988); và DeJong et al. (1993).

Để thấy các luật if-then có thể đƣợc mã hóa bằng các chuỗi bit nhƣ thế nào, trƣớc tiên hãy xem chúng ta có thể sử dụng chuỗi bit nhƣ thế nào để mô tả ràng buộc trên giá trị của thuộc tính đơn. Để lấy một ví dụ, hãy xem xét thuộc tính

Outlook, thuộc tính này có thể lấy bất kì giá trị nào trong ba giá trị: Sunny, Overcast

hoặc Rain. Một cách rõ ràng để thể hiện ràng buộc cho Outlook là dùng một chuỗi bit có chiều dài 3, mỗi vị trí bit tƣơng ứng với một trong ba giá trị có thể của nó. Đặt giá trị 1 ở một vài vị trí để chỉ ra rằng thuộc tính đƣợc phép lấy giá trị tƣơng ứng. Ví dụ, chuỗi 010 thể hiện ràng buộc Outlook phải lấy giá trị thứ hai trong các giá trị này, hay là Outlook = Overcast. Một cách tƣơng tự, chuỗi 011 thể hiện ràng buộc tổng quát hơn là cho phép hai giá trị có thể, hay là Outlook = OvercastRain. Chú ý 111 thể hiện ràng buộc có thể tổng quát nhất, chỉ ra rằng chúng ta không quan tâm giá trị nào trong các giá trị có thể của nó mà thuộc tính giữ.

Đƣa ra phƣơng pháp này để thể hiện các ràng buộc trên thuộc tính đơn, các liên kết của các ràng buộc trên nhiều thuộc tính có thể dễ dàng đƣợc thể hiện bằng cách nối các chuỗi bit tƣơng ứng. Ví dụ, xem xét thuộc tính thứ hai, Wind, có thể lấy giá trị Strong hoặc Weak. Điều kiện trƣớc của luật chẳng hạn nhƣ,

(Outlook = OvercastRain)  (Wind = Strong) có thể đƣợc thể hiện bởi chuỗi bit có chiều dàl là 5 sau:

Outlook Wind

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 35

Các điều kiện sau của luật (chẳng hạn nhƣ PlayTenis = yes) có thể đƣợc thể hiện theo kiểu tƣơng tự. Vì vậy, toàn bộ luật có thể đƣợc mô tả bởi móc nối các chuỗi bit mô tả các điều kiện đầu, cùng với chuỗi bit mô tả điều kiện sau của luật. Ví dụ, luật

IFWind = StrongTHENPlayTennis = yes

sẽ đƣợc thể hiện bởi chuỗi

Outlook Wind PlayTennis

111 10 10

ở đây 3 bit đầu tiên mô tả ràng buộc “không quan tâm” trên Outlook , hai bit kế tiếp mô tả ràng buộc trên Wind, và hai bit cuối cùng mô tả điều kiện sau của luật (ở đây chúng ta giả sử PlayTennis có thể lấy giá trị Yes hoặc No). Chú ý chuỗi bit thể hiện luật chứa một chuỗi con cho mỗi thuộc tính trong không gian giả thuyết, thậm chí thuộc tính không bị ràng buộc bởi các điều kiện trƣớc. Điều này tạo ra một chuỗi bit có chiều dài cố định để thể hiện các luật, trong đó các chuỗi con ở các vị trí cụ thể mô tả các ràng buộc trên các thuộc tính cụ thể. Đƣa ra cách thể hiện này cho các luật đơn, chúng ta có thể thể hiện tập các luật bằng cách móc nối các thể hiện chuỗi bit của các luật riêng biệt.

Trong thiết kế mã hóa chuỗi bit cho một vài không gian giả thuyết, thật là hữu ích để sắp xếp cho mọi chuỗi bit tuân thủ theo cú pháp để thể hiện một giả thuyết đƣợc định nghĩa tốt. Để mô tả, chú ý cách mã hóa luật ở đoạn trên, chuỗi bit 111 10 11 thể hiện luật có điều kiện trƣớc không ràng buộc thuộc tính mục tiêu PlayTennis. Nếu chúng ta tránh xem xét giả thuyết này, chúng ta có thể mƣợn một cách mã hóa khác (ví dụ phân bố chỉ một bit cho điều kiện sau để chỉ định giá trị là Yes hoặc No), thay đổi các toán tử di truyền để tránh một cách tƣờng minh việc xây dựng các chuỗi bit nhƣ thế, hoặc đơn giản gán một độ thích nghi rất thấp cho các chuỗi bit nhƣ vậỵ

2.2.5. Các toán tử di truyền

Những thế hệ sau trong GAs đƣợc quyết định bởi tập các toán tử tái hợp và đột biến các cá thể đƣợc chọn từ quần thể hiện tạị Các toán tử GAs tiêu biểu để

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnụedụvn 36

thực hiện các giả thiết chuỗi bit đƣợc mô tả trong bảng 4.1. Các toán tử này tƣơng ứng với các phiên bản đƣợc ý tƣởng hóa của các hoạt động di truyền trong tiến hóa sinh học. Hai toán tử phổ biến nhất là lai ghépđột biến.

Toán tử lai ghép tạo ra hai con từ hai chuỗi cha bằng cách sao chép các bit

Một phần của tài liệu nhận dạng ảnh mặt người sử dụng mạng nơron nhân tạo và giải thuật di truyền (Trang 31 - 72)