Mạng Hopfield liờn tục:

Một phần của tài liệu Lai ghép mạng nơron Hopfield và giải thuật di truyền giải bài toán tối ưu ràng buộc (Trang 25)

Mạng Hopfield liờn tục là mạng mà trạng thỏi của nú đƣợc mụ tả bởi phƣơng trỡnh động học ij W i j i j dU V I dt   (1.15)

Vi = fi(Ui), trong đú fi là hàm kớch hoạt.

Ở đõy ta cũng giả thiết Wij = Wji và Wii = 0. Dễ thấy rằng nếu hàm năng lƣợng đƣợc cho bởi (1.12) thỡ: i i V E dt dU    

Sự hội tụ của mạng Hopfield liờn tục đƣợc cho bởi định lý sau:

Định lý: (Xem Takefuji [22]) Nếu fi(Ui) (i1,n) là cỏc hàm khả vi và khụng giảm thỡ 0.

dt dE

Chứng minh: Ta cú

Với giả thiết cỏc hàm fi(Ui) là khụng giảm nếu 0,

i i dU dV do đú 0. dt dE

Với tƣ cỏch là hàm kớch hoạt ngƣời ta thƣờng chọn hàm Sigmoid: )) 2 tanh( 1 ( 2 1 1 1 ) ( i U λ i i λU e U Sigmoid V i       (1.16)

Trong đú  > 0 là tham số xỏc định độ dốc của hàm. Đồ thị của hàm Sigmoid với một số giỏ trị của  xem hỡnh vẽ

    i i i i i i i i i dU dV V E dt dU dU dV V E dt dE . 2 0.4 0.5 0.6 0.7 0.8 0.9 1 0.4 0.5 0.6 0.7 0.8 0.9 1

Đồ thị sigmoid

Với hàm kớch hoạt Sigmoid thỡ cực tiểu địa phƣơng của hàm năng lƣợng buộc xảy ra với cỏc giỏ trị của Vi bằng 0 hoặc 1. Chớnh vỡ vậy mạng Hopfield đƣợc sử dụng cho cỏc bài toỏn tối ƣu tổ hợp {0,1}.

Nhận xột rằng hàm kớch hoạt sigmoid đƣợc định nghĩa bởi (1.16) là một hàm nộn (squashing function) trong dải [0,1] và vỡ thế thớch hợp cho cỏc bài toỏn tối ƣu {0,1}. Nếu cần giải bài toỏn tối ƣu {-1,1} cần sử dụng hàm nộn trong dải [-1,1], chẳng hạn, hàm tanh(x).

1.3.3. Mạng Hopfield với bài toỏn tối ưu

Sau cụng trỡnh của Hopfield và Tank (1985) mạng Hopfield đó đƣợc sử dụng nhiều vào việc giải bài toỏn tối ƣu tổ hợp.

Nhƣ đó biết, mạng Hopfield sẽ đạt tới trạng thỏi cõn bằng khi hàm năng lƣợng của nú đạt tới giỏ trị cực tiểu. Vỡ vậy, từ bài toỏn cho trƣớc, ta xõy dựng một hàm mục tiờu F nào đú (đó đƣợc xử lý cỏc ràng buộc) và đặt F = E (E là hàm năng lƣợng), sau đú tỡm mối liờn hệ giữa cỏc biến của chỳng. Chớnh vỡ vậy mà mạng Hopfield rất phự hợp với cỏc bài toỏn tối ƣu tổ hợp, đặc biệt là đối với một số bài toỏn thuộc lớp NP - đầy đủ nhƣ bài toỏn ngƣời bỏn hàng, bài toỏn phõn cỏc thiết bị đầu cuối tới cỏc bộ tập trung cú trọng số….

-5 -4 -3 -2 -1 0 1 2 3 4 5 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Đồ thị hàm y = tanh(x)

Tuy nhiờn, khi sử dụng mạng Hopfield vào việc giải quyết cỏc bài toỏn tối ƣu trong thực tế cũn gặp một số hạn chế sau:

Mạng Hopfield khụng đảm bảo cho hội tụ toàn cục. Để khắc phục, ngƣời ta kết hợp mạng Hopfield với một số giải thuật khỏc, vớ dụ: giải thuật di truyền,…, hoặc dựa vào phƣơng trỡnh động học một số hạng đặc biệt gọi là số hạng leo đồi. Từ đú hàm năng lƣợng của mạng cú thể thay đổi đến một trạng thỏi cao hơn, trỏnh đƣợc hội tụ địa phƣơng và tiến tới hội tụ toàn cục.

Việc chọn hệ số của hàm mục tiờu và hệ số của hàm ràng buộc để nhận đƣợc một lời giải tốt là hết sức khú khăn. Cho đến nay, việc chọn nú vẫn chủ yếu dựa vào kinh nghiệm. Hiện nay, đó cú một số phƣơng phỏp điều khiển cỏc hệ số này bằng cỏch dựng điều khiển mờ.

Một cỏch tổng quỏt, cú thể xõy dựng một số bƣớc cần phải thực hiện khi sử dụng mạng Hopfield vào việc giải bài toỏn tối ƣu nhƣ sau (ỏnh xạ bài toỏn tối ƣu lờn mạng nơ ron, xem [2]):

 Lập sơ đồ biểu diễn cỏc đầu ra của mạng sao cho nú cú thể giải mó thành nghiệm của bài toỏn tối ƣu.

 Tạo hàm năng lƣợng sao cho giỏ trị cực tiểu của nú ứng với nghiệm tốt nhất của bài toỏn cần ỏnh xạ.

 Gỏn giỏ trị cho cỏc tham số của hàm năng lƣợng, điều này xỏc định cỏc trọng số tƣơng đối gỏn cho cỏc thành phần khỏc nhau của hàm năng lƣợng.

 Đƣa ra phƣơng trỡnh động học cho cỏc nơ ron.  Khởi tạo cỏc giỏ trị đầu vào.

Chỳ ý: khụng cú phƣơng phỏp ỏnh xạ trực tiếp cỏc bài toỏn tối ƣu cú ràng

buộc lờn mạng nơ ron. Cho nờn phải thờm vào hàm mục tiờu cỏc thành phần phạt khi cỏc ràng buộc bị phỏ vỡ. Khi đú hàm năng lƣợng đƣợc biểu diễn nhƣ tổng của hàm mục tiờu và cỏc thành phần phạt.

nếu nối với nếu khỏc

Phỏt triển bài toỏn: Cho n điểm i = 1,n khoảng cỏch giữa hai điểm i và j là dij. Phải nối cỏc điểm thành từng cặp, mỗi điểm chỉ nối với đỳng một điểm khỏc sao cho tổng độ dài của đƣờng nối là nhỏ nhất. (adsbygoogle = window.adsbygoogle || []).push({});

Hỡnh vẽ dƣới đõy chỉ là vớ dụ khi n = 6.

(a) Lời giải tốt (b) Lời giải xấu

Ánh xạ bài toỏn lờn mạng nơ ron:

Ta gỏn cho mỗi cặp điểm (i, j) với i<j một nơ ron ij với đầu ra là Vij. Nhƣ vậy cần tất cả   2 1  n n

nơ ron. Mỗi phƣơng ỏn của bài toỏn ứng với một trạng thỏi của mạng với 1 0 ij i j V    

Ta cần phải giải bài toỏn:

min    n j i ij ijV d f , (1. 18)

Trong đú: dij là khoảng cỏch từ điểm i đến điểm j. Với cỏc ràng buộc:    n j ij V 1 1, i1,n, (1. 19)

Cỏc ràng buộc trờn chỉ ra rằng mỗi điểm chỉ đƣợc nối với đỳng một điểm khỏc. Ta định nghĩa VijVji khi j<i và Vii= 0. Đƣa ra thành phần phạt vào hàm cần cực tiểu hoỏ ta đi đến hàm năng lƣợng:

            i j ij j i ij ijV V d E 2 , 1 2 2 1  , (1. 20) Trong đú:  là tham số. Từ đõy lấy đạo hàm riờng

iị V E   ta xỏc định đƣợc phƣơng trỡnh động học của cỏc nơ ron. V V γ V E dt dU ij k ik ij ij         γ , (1. 21)

Cú thể chọn hàm kớch hoạt là hàm McCulloch – Pitts hay hàm Sigmoid. Và nhƣ vậy ta đó ỏnh xạ đƣợc bài toỏn sỏnh cặp cú trọng lờn mạng nơ ron nhõn tạo.

1. 4. Kết luận

Mạng truyền thẳng một lớp dễ phõn tớch nhƣng khụng mụ tả đƣợc mọi hàm. Mạng nhiều lớp khắc phục đƣợc điều này, nhƣng lại rất khú phõn tớch và gặp khú khăn trong quỏ trỡnh xõy dựng mạng (số lớp ẩn và số phần tử trong lớp). Hơn nữa, mạng truyền thẳng nhiều lớp cú thể gõy sai số tớch luỹ qua cỏc lớp.

Mạng phản hồi một lớp (nổi bật là mạng Hopfield) cú cấu trỳc đơn giản vỡ thế dễ phõn tớch, khụng chứa sai số tớch luỹ. Mạng đƣợc nghiờn cứu và thực hiện với phần động học tuyến tớnh vỡ vậy nú rất thớch hợp với cỏc loại mụ hỡnh toỏn tối ƣu tổ hợp, điều khiển v. v…

Mạng nơ ron truyền thẳng chỉ đơn thuần tớnh toỏn cỏc tớn hiệu ra dựa trờn cỏc tớn hiệu vào và trọng số liờn kết nơ ron đó xỏc định sẵn ở trong mạng. Do đú chỳng khụng cú trạng thỏi bờn trong nào khỏc ngoài vectơ trọng số W. Đối với mạng hồi quy, trạng thỏi bờn trong của mạng đƣợc lƣu trữ tại cỏc ngƣỡng của nơ ron. Núi chung cỏc mạng hồi quy khụng ổn định, thậm chớ cũn rối loạn, mạng cần phải tớnh toỏn rất lõu, thậm chớ cố thể lặp vụ hạn trƣớc khi đƣa ra kết quả mong muốn. Quỏ trỡnh học của mạng hồi quy cũng phức tạp hơn hơn mạng truyền thẳng rất nhiều. Tuy vậy, cỏc mạng hồi quy cú thể cho phộp mụ phỏng cỏc hệ thống tƣơng đối phức

Chương 2. Giải thuật di truyền và tớnh toỏn tiến húa 2. 1. Giải thuật di truyền (Genetic Algorithms – GAs)

Giải thuật di truyền (Genetic Algorithms - GA) là kỹ thuật phỏng theo quỏ trỡnh tiến húa tự thớch nghi của cỏc quần thể sinh học dựa trờn học thuyết Darwin. Thoạt tiờn, nú đƣợc sử dụng để giải quyết cỏc bài toỏn riờng rẽ xuất phỏt từ sinh học vào cuối những năm 50 và đƣợc Holland trỡnh bày một cỏch cú hệ thống trong [9] để giải quyết bài toỏn tối ƣu hàm nhiều biến nhờ kiểu gene nhị phõn (nay đƣợc gọi là GA cổ điển). Nú nhanh chúng đƣợc nhiều tỏc giả cải tiến một cỏch phong phỳ để giải quyết cỏc bài toỏn khú trong thực tiễn với tờn gọi chung là tớnh toỏn tiến húa (xem [10]). Việc giải quyết cỏc bài toỏn tuy đa dạng nhƣng thủ tục ỏp dụng vẫn dựa trờn lƣợc đồ GA cổ điển.

2.1.1 Giải thuật di truyền cổ điển

GA cổ điển đƣợc Holland giới thiệu (chi tiết xem [23]) để giải bài toỏn tối ƣu: Max { f(x) | x M }

Ở đõy M là hỡnh hộp trong khụng gian số thực n-chiều, f(x) dƣơng với mọi x thuộc M.

Thủ tục GA đƣợc thực hiện nhƣ sau:

 Mỗi x trong M đƣợc mó húa tƣơng ứng bởi một xõu nhị phõn độ dài m: z=(z1, z2,…, zm) gọi là nhiễm sắc thể (cũn gọi là cỏ thể), mỗi zi đƣợc gọi là một gene và chỉ nhận một trong hai giỏ trị 0 hoặc 1. Xõy dựng thủ tục mó húa , giải mó tƣơng ứng.

Vớ dụ: về một nhiễm sắc thể trong GA cổ điển: 0 0 1 1 1 0 1 0 1 1

Mỗi kiểu gene (tức một nhiễm sắc thể cụ thể) biểu thị một lời giải cú thể của bài toỏn, một quỏ trỡnh tiến húa đƣợc thực hiện trờn một quần thể (một tập hợp nhiễm sắc thể) tƣơng đƣơng với sự tỡm kiếm trong khụng gian cỏc lời giải cú thể.

Sự tỡm kiếm này đũi hỏi sự cõn bằng giữa hai mục đớch: tỡm lời giải tốt nhất và khỏm phỏ khụng gian tỡm kiếm.

Thuật toỏn di truyền cổ điển thực hiện tỡm kiếm theo nhiều hƣớng bằng cỏch duy trỡ một tập lời giải cú thể, khuyến khớch sự hỡnh thành và trao đổi thụng tin giữa cỏc hƣớng. Tập lời giải trải qua cỏc quỏ trỡnh tiến húa và cuối cựng cho ta một lời giải đủ tốt tựy theo yờu cầu. Tại mỗi thế hệ cỏc lời giải tƣơng đối tốt đƣợc tỏi sinh, trong khi đú cỏc lời giải tƣơng đối tồi bị loại bỏ dõ̀n.

Hỡnh 2.1 Sơ đồ tổng quỏt của giải thuật di truyền

 Trờn tọ̃p nhiờ̃m sắc thờ̉ , ngƣời ta xỏc định hàm eval để đỏnh giỏ độ “thớch nghi” của mỗi cỏ thể hay chớnh là độ tốt, xấu của từng lời giải (hàm này đúng vai trũ của một mụi trƣờng sống trong thuyết tiến húa): (adsbygoogle = window.adsbygoogle || []).push({});

 Tạo quần thể ban đầu P(0) gồm N phần tử và thực hiện quỏ trỡnh tiến húa theo cấu trỳc: Procedure GA Begin t  0; Khởi tạo P(t); Đỏnh giỏ P(t); Repeat t  t+1; Chọn lọc Q(t) từ P(t-1); // nhờ bỏnh xe xổ số

Tỏi tạo P(t) từ Q(t); // nhờ cỏc toỏn tử di truyền Đỏnh giỏ P(t) và chọn lọc cỏ thể tốt nhất;

Until điều_kiện_kết_thỳc;

Biểu diễn lời giải;

End;

Quỏ trỡnh tiến húa đƣợc diễn ra trong vũng lặp: Tại thế hệ thứ t thuật toỏn duy trỡ một tập lời giải P(t)= {x1t

, x2t,…, xNt}. Mỗi lời giải xit

đƣợc đỏnh giỏ “độ thớch nghi”. Một tập lời giải mới đƣợc xõy dựng (vũng lặp thứ t+1) bằng cỏch “chọn lọc” cỏc cỏ thể thớch nghi hơn, ta đƣợc tập lời giải trung gian. Sau đú một số cỏ thể trong tập lời giải đó đƣợc chọn bị biến đổi bằng cỏc toỏn tử di truyền để tạo thành lời giải mới cho thế hệ thứ (t+1)

Cỏc thủ tục chọn lọc một quần thể theo phƣơng phỏp bỏnh xe xổ số và tỏi tạo nhờ cỏc toỏn tử di truyền đƣợc thực hiện nhƣ sau:

2.1.1.1 Thủ tục chọn lọc

Phộp chọn lọc là một quỏ trỡnh chọn lọc cỏc cỏ thể để tham gia vào cỏc pha tiếp theo của quỏ trỡnh tiến húa. Việc lựa chọn cỏc cỏ thể từ một quần thể dựa trờn độ thớch nghi của cỏ thể đú, nghĩa là những cỏ thể nào cú giỏ trị hàm thớch nghi cao cú nhiều khả năng đƣợc chọn để tỏi tạo trong cỏc thế hệ tiếp theo.

Với mỗi quần thể P(t-1) gồm N nhiễm sắc thể: P(t-1)= {v1, v2,…,vn} ta xõy dựng bỏnh xe xổ số và thực hiện quỏ trỡnh chọn lọc:

 Bỏnh xe xổ số Đỏnh giỏ độ phự hợp toàn phần: F =   N 1 i i) eval(v

Tớnh cỏc xỏc suất chọn pi của nhiễm sắc thể vi: pi = eval(vi)/F

Tớnh cỏc xỏc suất tớch lũy qi của cỏc nhiễm sắc thể vi: qi =   i j j q 1  Quỏ trỡnh chọn lọc

Quỏ trỡnh chọn lọc quần thể Q(t) từ P(t-1) dựa vào bỏnh xe xổ số đƣợc thực hiện theo cỏch sau:

Đối với mỗi số tự nhiờn k {1, 2,…, N} tạo một số ngẫu nhiờn rk[0,1]

Nếu qi rk  qi-1 thỡ chọn vi thuộc Q(t). Hiển nhiờn, ở đõy mỗi nhiễm sắc thể cú thể đƣợc chọn nhiều lần và Q(t) vẫn cú N phần tử. Cỏc cỏ thể v cú độ thớch nghi eval(v) lớn sẽ cú khả năng đƣợc lựa chọn nhiều hơn.

2.1.1.2 Quỏ trỡnh tỏi tạo

Quỏ trỡnh tỏi tạo dựa trờn cỏc toỏn tử di truyền: tương giao chộo và biến dị.

 Cỏc toỏn tử di truyền

Toỏn tử tương giao chộo (hay cũn đƣợc gọi là phộp lai ghộp), kết hợp cỏc

đặc tớnh trờn nhiễm sắc thể cha và mẹ để tạo thành hai cỏ thể mới bằng cỏch trỏo đổi cỏc đoạn gene tƣơng ứng trờn cỏc nhiễm sắc thể của cha và mẹ. Với hai nhiễm sắc thể

x = (x1, x2,…, xm) và y = (y1, y2,…,ym)

Chọn điểm tƣơng giao k (cú thể ngẫu nhiờn) ta sẽ sinh đƣợc hai nhiễm sắc thể mới:

Vớ dụ: với hai nhiễm sắc thể cha và mẹ

Parent1 0 0 1 0 1 0 0 1 1 Parent2 1 1 1 0 0 1 0 0 1

Chọn điểm tƣơng giao k = 3, thỡ sau khi thực hiện trao đổi tƣơng giao chộo cỏc nhiễm sắc thể của bố, mẹ ta đƣợc hai nhiễm sắc thể mới:

Child1 0 0 1 0 0 1 0 0 1 Child2 1 1 1 0 1 0 0 1 1

Toỏn tử biến dị (hay cũn gọi là đột biến) là sự sửa đổi một vài gene của một nhiễm sắc thể đƣợc chọn (adsbygoogle = window.adsbygoogle || []).push({});

Nếu gene xk của nhiễm sắc thể x=(x1,…, xm) biến dị thỡ ta đƣợc nhiễm sắc thể mới x’:

x’ = (x1,…, xk-1, 1-xk, xk+1,…,xm)  Thủ tục tỏi tạo

Cho trƣớc cỏc xỏc suất tƣơng giao chộo pc và xỏc suất biến dị pm.

Đối với mỗi nhiễm sắc thể vi (i chạy từ 1 đến N) thuộc Q(t), ta tạo ra một số ngẫu nhiờn r[0,1]. Nếu r < pc thỡ vi đƣợc đƣa vào tập tƣơng giao chộo. Tập này đƣợc chia thành cặp, nếu lẻ thỡ cú thể thờm hoặc bớt ngẫu nhiờn một nhiễm sắc thể khỏc và ỏp dụng toỏn tử tƣơng giao chộo để tạo nờn hậu duệ mới thay thế cho nú.

Sau khi tƣơng giao chộo, đối với mỗi gene của mỗi nhiễm sắc thể tạo ra một số ngẫu nhiờn r[0,1]. Nếu r<pm thỡ gene này đƣợc biến dị.

Quỏ trỡnh trờn cho ta quần thể P(t) của thế hệ t và đƣợc đỏnh giỏ để chọn phần tử cú độ thớch nghi tốt nhất.

2.1.1.3 Cơ sở toỏn học của GA

Cỏc đỏnh giỏ về sự hội tụ của GA cũn rất nghốo (xem [10,23]). Cỏc kết quả đạt đƣợc chủ yếu dựa trờn định lý về lƣợc đồ chứng minh sự hội tụ theo xỏc suất tới lời giải tối ƣu của bài toỏn. Tuy nhiờn, về mặt thực hành, giải thuật di truyền vẫn là

một giải thuật đƣợc ƣa thớch để giải cỏc bài toỏn khú trong thực tế và cho lời giải đủ tốt. Đối với cỏc bài toỏn đó cú phƣơng phỏp giải tốt bằng phƣơng phỏp truyền thống thỡ GA kộm hiệu quả hơn.

2.2 Tớnh toỏn tiến húa

Khi bài toỏn cú miền chấp nhận đƣợc lớn trong khụng gian nhiều chiều thỡ độ rộng của mỗi nhiễm sắc thể lớn nờn việc ỏp dụng GA cổ điển rất khú khăn, đăc biệt khi cú cỏc ràng buộc phức tạp thỡ cỏc toỏn tử di truyền theo kiểu đó nờu tỏ ra kộm hiệu quả sử dụng. Hàng loạt cỏc phỏt triển phong phỳ của GA cổ điển về kiểu gene, cấu trỳc nhiễm sắc thể và cỏc toỏn tử di truyền đó đƣợc đề xuất và ứng dụng cú hiệu quả để giải cỏc bài toỏn khỏc nhau trong vận trự học. Mặt khỏc để tỡm lời giải cho cỏc bài toỏn khú trong thực tiễn, ngƣời ta đƣa ra cỏc hàm “đớch” đo độ “thớch nghi”

Một phần của tài liệu Lai ghép mạng nơron Hopfield và giải thuật di truyền giải bài toán tối ưu ràng buộc (Trang 25)