Mạng nơ ron sinh học Mạng nơ ron bao gồm vô số các nơ ron được liên kết truyền thông với nhau trong mạng, hình 1.1 là một phần của mạng nơ ron bao gồm hai nơ ron.. Khi học tập và làm vi
Trang 1Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thái Nguyên 2015
PHAN ANH TÚ
PHƯƠNG PHÁP HUẤN LUYỆN MẠNG NƠ RON SỬ
DỤNG GIẢI THUẬT DI TRUYỀN
Chuyên ngành: Khoa học máy tính
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
Trang 2Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi dưới sự định hướng của thầy hướng dẫn, các kiến thức trong luận văn được hệ thống từ các tài liệu đã được công bố và được trích dẫn đầy đủ
Các kết của nghiên cứu và chạy thử nghiệm đều là trung thực dựa trên chương trình cài đặt kèm theo nghiên cứu này
Thái Nguyên, ngày 20 tháng 7 năm 2015
Học viên
Trang 3Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
LỜI CẢM ƠN
Luận văn được thực hiện tại trường Đại học Công nghệ thông tin & Truyền thông – Đại học Thái Nguyên, dưới sự hướng dẫn của thầy TS Phạm Thanh Hà
Tôi xin bày tỏ lòng biết ơn sâu sắc tới thầy TS Phạm Thanh Hà; người
đã có những định hướng giúp tôi lựa chọn đề tài và hoàn thành đề tài nghiên cứu của mình Thầy đã ân cần chỉ bảo, giảng giải cho tôi và động viên tôi rất nhiều trong quá trình thực hiện đề tài
Tôi cũng xin gửi lời chân thành cảm ơn tới quý thầy cô thuộc phòng Đào tạo, khoa công nghệ thông tin trường Đại học Công nghệ thông tin và truyền thông đã giúp đỡ tôi, tạo mọi điều kiện thuận lợi để tôi hoàn thành luận văn này
Cuối cùng, tôi xin gửi lời cảm ơn tới gia đình đã cho tôi những chỗ dựa vững chắc để tôi hoàn thành tốt quá trình học tập của mình trong thời gian qua
Trang 4Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT vi
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH VẼ viii
MỞ ĐẦU 1
CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO 3
1.1 Các khái niệm về mạng nơ ron 3
1.1.1 Mạng nơ ron sinh học 3
1.1.2 Khái niệm mạng nơ ron nhân tạo 4
1.2 Mạng nơ ron truyền thẳng nhiều lớp MLP 11
1.3 Các luật học của mạng nơ ron 12
1.4 Thuật toán huấn luyện lan truyền ngược sai số - Back Propagation 18
Kết luận chương 1 26
CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN 27
2.1 Các khái niệm cơ bản về giải thuật di truyền 27
2.2 Giải thuật di truyền mã hóa nhị phân 29
2.3 Cơ chế hoạt động của giải thuật di truyền 33
2.4 Giải thuật di truyền mã hóa số thực 37
2.4.1 Nhóm toán tử đột biến 39
2.4.2 Nhóm toán tử lai tạo 41
Kết luận chương 2 44
CHƯƠNG 3: ỨNG DỤNG GIẢI THUẬT DI TRUYỀN TRONG HUẤN LUYỆN MẠNG NƠ RON 45
3.1 Xây dựng giải thuật di truyền huấn luyện mạng 45
Trang 5Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
3.2 Một số kết quả huấn luyện mạng xấp xỉ hàm XOR 49
3.2.1 Sử dụng phương pháp lan truyền ngược sai số truyền thống 50
3.2.2 Sử dụng phương pháp huấn luyện nhờ giải thuật di truyền 51
3.3 Một số kết quả huấn luyện mạng xấp xỉ hàm hình chuông 53
3.3.1 Huấn luyện bằng lan truyền ngược sai số 55
3.3.2 Huấn luyện bằng giải thuật di truyền 56
3.4 Xấp xỉ XOR – XOR 66
3.4.1 Huấn luyện bằng mạng nơ ron 67
3.4.2 Huấn luyện bằng giải thuật di truyền 70
Kết luận chương 3 73
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 75
Trang 6Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT
Trang 7Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt 32
Bảng 2.2: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt 33
Bảng 3.1 Kết quả xấp xỉ hàm XOR sử dụng phương pháp lan truyền ngược sai số 51
Bảng 3.2 Kết quả xấp xỉ hàm XOR sử dụng giải thuật di truyền lần 1 52
Bảng 3.3 Kết quả xấp xỉ hàm XOR sử dụng giải thuật di truyền lần 2 53
Bảng 3.4 Một số mẫu( theo dòng) sinh ra bởi chương trình 54
Bảng 3.5 Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền lần 1 57
Bảng 3.6 Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền lần 2 60
Bảng 3.7 Kết quả xấp xỉ hàm hình chuông sử dụng giải thuật di truyền lần 3 64
Bảng 3.8 Kết quả xấp xỉ hàm XOR-XOR sử dụng phương pháp lan truyền ngược sai số lần 1 68
Bảng 3.9 Kết quả xấp xỉ hàm XOR-XOR sử dụng phương pháp lan truyền ngược sai số lần 2 69
Bảng 3.10 Kết quả xấp xỉ hàm XOR-XOR sử dụng giải thuật di truyền lần 1 71
Bảng 3.11 Kết quả xấp xỉ hàm XOR-XOR sử dụng giải thuật di truyền lần 2 72
Trang 8Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Cấu tạo của một nơ ron 3
Hình 1.2: Mô hình của một nơ ron 5
Hình 1.3: Cấu trúc của một nơ ron 6
Hình 1.4: Hàm kích hoạt bước nhảy 8
Hình 1.5: Hàm kích hoạt hàm dấu 9
Hình 1.6: Hàm kích hoạt hàm dốc 9
Hình 1.7: Hàm kích hoạt sigmoid đơn cực 10
Hình 1.8: Hàm kích hoạt sigmoid đa cực 10
Hình 1.9: Mạng nơ ron truyền thẳng MLP 11
Hình 1.10: Học có giám sát 13
Hình 1.11: Học không có giám sát 15
Hình 1.12: Mạng MLP lan truyền ngược sai số 19
Hình 1.13: Thuật toán lan truyền ngược sai số 23
Hình 2.1: Bánh xe rulet lựa chọn nhiễm sắc thể 36
Hình 2.2: Biểu diễn giá trị của 40
Hình 3.1: Mã hóa trọng số biểu diễn thập phân trong mạng nơ ron 47
Hình 3.2: Sơ đồ giải thuật di truyền 48
Trang 9Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
MỞ ĐẦU
1 Đặt vấn đề
Như chúng ta đã biết mạng nơ ron nhân tạo là sự tái tạo bằng kỹ thuật những chức năng của hệ thần kinh con người Trong quá trình tái tạo không phải tất cả các chức năng của bộ não con người đều được tái tạo, mà chỉ có những chức năng cần thiết Bên cạnh đó còn có những chức năng mới được tạo ra nhằm giải quyết một bài toán định trước
Mạng nơ ron bao gồm các nơ ron được liên kết với nhau bằng các trọng
số theo một cấu trúc xác định Mạng nơ ron có thể được huấn luyện để thực hiện các nhiệm vụ khác nhau Quá trình huấn luyện sẽ thiết lập bộ trọng số cho các liên kết giữa các nơ ron trong mạng
Thuật toán huấn luyện lan truyền ngược là một thuật toán trong lịch sử phát triển mạng nơ ron nhân tạo, thuật toán được ứng dụng cho mạng truyền thẳng nhiều lớp Thuật toán sử dụng phương pháp giảm gradient (giảm dốc
nhất) để tối thiểu hàm sai số Giá trị hàm sai số E k đối với một mẫu được tính toán dựa trên giá trị các trọng số hiện tại Các giá trị trọng số này sau đó được hiệu chỉnh và trở thành các giá trị trọng số hiện tại để tính giá trị hàm sai số
tiếp theo E k+1
Hạn chế của giải thuật huấn luyện lan truyền ngược sai số là tốc độ chậm
và nhiều khi gặp phải vấn đề như:
Mạng liệt: xảy ra khi những trọng số được điều chỉnh tới những giá trị rất lớn Tổng đầu vào của một đơn vị ẩn hoặc đơn vị đầu ra có thể bởi vậy mà đạt giá trị rất cao (hoặc dương hoặc âm), và qua hàm kích hoạt sigmoid, đơn
vị sẽ có một giá trị kích hoạt rất gần 0 hoặc rất gần 1 Giá trị hiệu chỉnh trọng
số gần 0, và quá trình huấn luyện có thể đi đến một trạng thái dừng ảo
Trang 10Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Cực tiểu địa phương: bề mặt sai số của mạng rất phức tạp đầy những ngọn đồi và những thung lũng Bởi vì sự hạ độ dốc, mạng có thể bị mắc bẫy tại một cực tiểu địa phương khi có nhiều cực tiểu thấp hơn gần bên cạnh Giải thuật di truyền là một trong những kỹ thuật tìm kiếm tối ưu giúp ta giải quyết được những vấn đề đã đặt ra ở trên, nó cho phép ta tìm kiếm lời giải tối ưu trên các không gian lớn, nguyên tắc cơ bản của giải thuật di truyền
là mô phỏng quá trình chọn lọc của tự nhiên Cho đến nay lĩnh vực nghiên cứu về giải thuật di truyền đã thu được nhiều thành tựu, giải thuật di truyền được ứng dụng trong nhiều lĩnh vực phức tạp, các vấn đề khó có thể giải quyết được bằng phương pháp thông thường [1-3]
Như đã đề cập ở trên quá trình huấn luyện mạng nơ ron chính là quá trình cực tiểu hàm sai số để xác định các trọng số của mạng và luận văn sẽ sử dụng giải thuật di truyền để xác định các trọng số của mạng thay vì sử dụng giải thuật huấn luyện
2 Đối tượng và phạm vi nghiên cứu
- Mạng nơ ron nhân tạo trong đó đi sâu vào mạng truyền thẳng và kỹ thuật huấn luyện lan truyền ngược sai số
- Nghiên cứu ứng dụng giải thuật di truyền trong huấn luyện mạng nơ ron truyền thẳng, thay thế kỹ thuật huấn luyện lan truyền ngược sai số
3 Phương pháp nghiên cứu
Nghiên cứu lý thuyết kết hợp với cài đặt thực nghiệm
4 Ý nghĩa khoa học của đề tài
Nghiên cứu về mạng nơ ron, giải thuật di truyền và sử dụng giải thuật di truyền trong huấn luyện mạng nơ ron
Trang 11Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1 CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO
1.1 Các khái niệm về mạng nơ ron
1.1.1 Mạng nơ ron sinh học
Mạng nơ ron bao gồm vô số các nơ ron được liên kết truyền thông với nhau trong mạng, hình 1.1 là một phần của mạng nơ ron bao gồm hai nơ ron
Hình 1.1:Cấu tạo của một nơ ron
Nơ ron được cấu tạo gồm các phần chính sau:
Thân nơ ron: thường gọi là soma có nhiệm vụ chính là tổng hợp và xử
lý cho tín hiệu điện nhận được từ các rễ đầu vào Bản chất của quá trình này chính là việc lấy tổng cộng tất cả các tín hiệu mà nơ ron nhận được
Các xúc tu: đó là các tua dài gắn liền với soma có chức năng truyền tín
hiệu điện nhận từ môi trường hoặc từ các nơ ron khác để soma xử lý
Trục cảm ứng: là thành phần kết nối các nơ ron lại với nhau Nó có chức
năng phát các tín hiệu điện, truyền tín hiệu từ nơ ron này đi nơi khác Thông thường axon ở trạng thái nghỉ, khi điện thế trong soma vượt quá ngưỡng cho phép thì axon sẽ phát ra một xung điện thế
Trang 12Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Khớp nối: Điểm liên kết giữa sợi trục cảm ứng-axon của nơron này với
các xúc tu-dendrites nhánh hình cây của nơron khác thông qua các mối nối rất đặc biệt gọi là synapses Liên kết giữa các nơron và độ nhạy của mỗi synapse đƣợc xác định bởi quá trình hóa học phức tạp Khi điện thế của synapses tăng lên do các xung điện phát ra từ axon thì synapses sẽ tiết ra một loại hóa chất
để xúc tu mở ra cho các ion đi qua nó Các ion này làm thay đổi tín hiệu điện thế trên các xúc tu tạo ra các xung dữ liệu lan truyền đến các nơ ron khác Các synapses đóng vai trò hết sức quan trọng trong quá trình học tập Khi học tập
và làm việc nhiều thì các hoạt động của synapses đƣợc tăng lên nhiều tạo ra nhiều liên kết mạnh mẽ giữa các nơ ron [5]
Một cách tổng quát hóa qua các thành phần cấu tạo và chứng năng của chúng trong mạng nơ ron chúng ta thấy rằng các hoạt động chính của nơ ron đƣợc thể hiện nhƣ sau: nơ ron lấy tổng tất cả các tín hiệu vào mà nó nhận đƣợc sau đó phát ra một tín hiệu điện; nếu tổng tất cả các tín hiệu điện lớn hơn một ngƣỡng cho phép nào đó rồi xử lý và cho ra một tín hiệu điện đầu ra Tín hiệu điện đầu ra này truyền qua axon và chính là tín hiệu điện đầu vào của một nơ ron khác
1.1.2 Khái niệm mạng nơ ron nhân tạo
Mạng nơron nhân tạo- Artificial Neural Network (ANN), gọi tắt là mạng
nơ ron hay Neural Network là một mô hình xử lí thông tin mô phỏng theo cách xử lí thông tin của các hệ nơ ron sinh học Nó đƣợc tạo lên từ một số lƣợng lớn các phần tử (gọi là phần tử xử lý hay nơron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) làm việc nhƣ một thể thống nhất để giải quyết một vấn đề cụ thể nào đó
Một mạng nơron nhân tạo đƣợc cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu
Trang 13Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
huấn luyện Về bản chất học chính là quá trình hiệu chỉnh trọng số liên kết giữa các nơron
Mạng nơ ron bao gồm vô số các nơ ron liên kết truyền thông với nhau trong mạng Nơ ron có thể liên kết với các nơ ron khác thông qua rễ Chính vì các liên kết đa dạng như vậy mà mạng nơ ron có độ liên kết rất cao.[1]
Một tính chất rất cơ bản của mạng nơ ron sinh học là các đáp ứng theo kích thích có khả năng thay đổi theo thời gian Các đáp ứng có thể tăng lên, giảm đi hoặc hoàn toàn biến mất Qua các nhánh axon liên kết tế bào nơ ron này với các nơ ron khác, sự thay đổi trạng thái của một nơ ron cũng kéo theo
sự thay đổi trạng thái của những nơ ron khác và do đó làm thay đổi toàn bộ mạng nơ ron Việc thay đổi trạng thái của mạng nơ ron có thể thực hiện qua một quá trình “dạy” hoặc do khả năng “học” tự nhiên
Sự thay thế những tính chất này bằng một mô hình toán học tương đương được gọi là mạng nơ ron nhân tạo Mạng nơ ron nhân tạo có thể được chế tạo bằng nhiều cách khác nhau vì vậy trong thực tế tồn tại rất nhiều kiểu mạng nơ ron nhân tạo
Mô hình nơ ron có m đầu vào x1, x2, xm và một đầu ra y (hình 1.2), mô
x n
1 Nơ ron
Hình 1.2:Mô hình của một nơ ron
Trang 14Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnụedụvn/
tương ứng với cường độ kích thích của từng đầu vàọ Các kích thích đầu vào được thực hiện qua một bộ tổng, đó là giá trị đo kích thích đầu vào tác động vào tế bào nơ ron
+Đầu ra của bộ tổng được đưa đến bộ đáp ứng ặ), bộ này không chỉ có
chức năng tạo ra đáp ứng tức thời mà còn có khả năng lưu giữ các đáp ứng theo thời gian Thành phần này hoạt động theo nguyên lý “nhớ” động
+Nơ ron bị kích thích trong thời gian thế năng của màng membran vượt
quá ngưỡng Quan hệ này được thực hiện nhờ hàm ặ), nó có chức năng của
bộ tạo tín hiệu ngưỡng, xác định phụ thuộc của tín hiệu ra y vào các kích thích đầu vàọ
Cách thành lập nơ ron nhân tạo như vậy tạo ra một độ tự do trong thiết
kế Việc lựa chọn phép cộng tín hiệu đầu vào và đáp ứng ặ) sẽ cho ra các
kiểu mạng nơ ron nhân tạo khác nhau và tương ứng là các mô hình mạng khác nhaụ[1]
Hình 1.3: Cấu trúc của một nơ ron
là các tín hiệu đầu vào
là các trọng số tương ứng (trọng số thứ j của nơ ron thứ i)
là ngưỡng đặt vào phần tử nơ rơn thứ i
Trang 15Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
(1.1)
là giá trị đầu ra
là hàm kích hoạt
là hàm truyền
Theo hình 1.3 thì tín hiệu đầu ra là:
Trong đó hàm kích hoạt a(f) ở dạng hàm bước nhảy
Như vậy chỉ có thể nhận 2 giá trị một là 0 hoặc là 1
Hàm truyền f(.) : Hàm này được dùng để giới hạn phạm vi đầu ra của
mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng Một số hàm truyền thường sử dụng trong các mô hình mạng nơron:
Hàm bình phương (quadratic funtion)
Hàm hình cầu (spherical funtion)
(1.2)
(1.4)
(1.5) (1.3)
Trang 16Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trong đó và là bán kính và tâm của hình cầu
Hàm đa thức (Polynomial function):
Trong đó là trọng số kết nối của phần tử j và k đến phần tử i; và
là các hệ số thực không đổi là ngưỡng đặt vào phần tử nơ rơn thứ i
Các hàm kích hoạt thường sử dụng:
Hàm bước nhảy (Step function):
Đồ thị của hàm được thể hiện như hình 1.4 sau:
Hình 1.4: Hàm kích hoạt bước nhảy
Hàm dấu (Hard limiter – threshold function):
(1.6)
(1.7)
(1.8)
Trang 17Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Đồ thị của hàm đƣợc thể hiện nhƣ hình 1.5 sau:
Trang 18Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Đồ thị của hàm thể hiện nhƣ hình 1.7 sau:
Hình 1.7: Hàm kích hoạt sigmoid đơn cực
Hàm sigmoid lƣỡng cực (Bipolar sigmoid function):
với >0
Đồ thị của hàm đƣợc thể hiện nhƣ hình 1.8 sau:
Hình 1.8: Hàm kích hoạt sigmoid đa cực
(1.11)
Trang 19Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
1.2 Mạng nơ ron truyền thẳng nhiều lớp MLP
Có rất nhiều kiểu kiến trúc về mạng nơ ron nhân tạo Các kiểu kiến trúc mạng nơ ron nhân tạo này được tạo ra tùy thuộc vào yêu cầu của bài toán cần giải quyết Các tính năng của mạng nơ ron tùy thuộc vào cấu trúc, kiểu liên kết, các trọng số liên kết và quá trình tính toán của các nơ ron đơn lẻ Trong phạm vi nghiên cứu của luận văn này chúng ta đi thẳng vào nghiên cứu mạng
nơ ron truyền thẳng nhiều lớp MLP (Multi-Layer Perceptrons) bởi tính phổ biến của nó
Cấu tạo của mạng MLP gồm có 3 lớp: lớp đầu vào, lớp ẩn và lớp đầu ra Hình 1.9 cho chúng ta một cái nhìn tổng quát về mạng MLP
Hình 1.9: Mạng nơ ron truyền thẳng MLP
Lớp đầu vào (Input layer): là các véc tơ x1, x2, ,xm trong không gian
m chiều Tất cả các nơ ron của lớp đầu vào có nhiệm vụ nhận tín hiệu đầu vào Thông thường các nơ ron đầu vào không làm biến đổi tín hiệu đầu vào
mà chỉ có chức năng nhận và phân phối tín hiệu đầu vào Mỗi nơ ron của lớp đầu vào liên kết với tất cả các nơ ron của tầng liền kế trước nó (thường là lớp ẩn) Đầu ra của nơ ron lớp đầu vào chính là đầu vào của nơ ron liền sau nó
Lớp ẩn (Hidden Layer): là lớp nơ ron dưới lớp vào, chúng không liên
hệ trực tiếp với thế giới bên ngoài như các lớp nơ ron vào và ra
Lớp ra (Output Layer): là lớp tạo tín hiệu ra sau cùng
Trang 20Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hoạt động của mạng MLP có thể mô tả một cách cụ thể như sau: tại tầng đầu vào các nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra kết quả (là kết quả của hàm truyền) Kết quả này sẽ được truyền tới các nơron thuộc tầng ẩn thứ nhất; các nơron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ 2;…; quá trình tiếp tục cho đến khi các nơron thuộc tầng ra cho kết quả
Hàm tính tổng trong mạng MLP thường có dạng tổng quát như sau:
, các hàm chuyểnf(.) thường có nhiều dạng khác nhau tùy vào
mục đính của mạng
1.3 Các luật học của mạng nơ ron
Học tham số (Parameter Learning): là các tham số về trọng số cập nhật kết nối giữa các nơ ron
Giả sử ta có một ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạng nơ ron Nhiệm vụ của việc học thông số là bằng cách nào đó tìm được ma trận chính xác mong muốn từ ma trận giả thiết ban đầu với cấu trúc của mạng nơ ron đã xây dựng
Để thực hiện việc này, mạng nơ ron sử dụng các trọng số điều chỉnh với nhiều phương pháp học khác nhau để có thể tính toán gần đúng ma trận W cần tìm đặc trưng cho mạng
Một cách chi tiết hóa quá trình học của mạng nơ ron là huyấn luyện sao cho với một tập các véctơ đầu vào X, mạng có khả năng tạo ra tập các véctơ đầu ra mong muốn Y của nó Tập X được sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set) Các phần tử x thuộc X được gọi là các mẫu huấn luyện (training example) Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị sao cho với mỗi véctơ đầu vào x từ tập huấn luyện, mạng sẽ cho ra véctơ đầu ra y như mong muốn
Trang 21Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Có ba phương pháp học:
Học có giám sát (Supervised Learning): là quá trình học có tín hiệu
chỉ đạo bên ngoài Hình 1.10 minh họa quá trình học có giám sát
1, t
2, , t
K) là véctơ mục tiêu K chiều tương ứng, nhiệm vụ của thuật toán là phải thiết lập được một cách tính toán trên mạng như thế nào đó để sao cho với mỗi véctơ đặc trưng đầu vào thì sai số giữa giá trị đầu ra thực sự của mạng và giá trị mục tiêu tương ứng là nhỏ nhất Chẳng
hạn mạng có thể học để xấp xỉ một hàm t = f(x) biểu diễn mối quan hệ trên tập
các mẫu huấn luyện (x, t)
Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi véctơ đầu vào sẽ được phân loại chính xác vào lớp của nó
Dựa vào các điều kiện nêu trên chúng ta có thể xây dựng một thuật toán thể hiện quá trình học có giám sát như sau:
Giả sử ta cần xấp xỉ một ánh xạ: X→ Y, trong đó X là tập các vấn đề và
Y là tập các lời giải tương ứng cho vấn đề đó Các mẫu (x, y) với x = (x1, x2, , xn) X, y = (yl, y2, , ym) Y được cho trước
Trang 22Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
+ Bước 1: Xây dựng cấu trúc cho mạng nơron theo yêu cầu tính toán,
chẳng hạn mạng cần xây dựng có (n + 1) nơron đầu vào (trong đó có n nơron cho biến vào và 1 nơron cho ngưỡng x0), mạng có m nơron đầu ra, và khởi tạo các trọng số liên kết của mạng
+ Bước 2:Đưa một véctơ x trong tập mẫu huấn luyện X vào mạng
+ Bước 3: Tính véctơ đầu ra v của mạng
+ Bước4: So sánh véctơ đầu ra mong muốn y được cho trong tập huấn
luyện với véctơ đầu ra v do mạng tạo ra; nếu có thể thì đánh giá lỗi
+ Bước 5: Hiệu chỉnh các trọng số liên kết theo một cách nào đó sao cho
ở lần tiếp theo khi đưa véctơ x vào mạng, véctơ đầu ra v sẽ giống với y hơn
+ Bước 6: Nếu kết quả chưa tốt, lặp lại các bước từ bước 2 đến bước 5
cho tới khi mạng đạt tới trạng thái hội tụ Việc đánh giá lỗi có thể thực hiện
theo nhiều cách là sử dụng lỗi tức thời: Err = (v- y), hoặc Err = |v- y| hoặc lỗi
trung bình bình phương:
Có hai loại lỗi trong đánh giá một mạng nơron:
Trường hợp lỗi thứ nhất gọi là lỗi rõ ràng (apparent error): đánh giá
khả năng xấp xỉ các mẫu huấn luyện của một mạng đã được huấn luyện
Trường hợp lỗi thứ hai gọi là lỗi kiểm tra (test error): đánh giá khả
năng tổng quá hóa của một mạng đã được huấn luyện, tức khả năng phản ứng với các véctơ đầu vào mới Để đánh giá lỗi kiểm tra chúng ta phải biết đầu ra mong muốn cho các mẫu kiểm tra
Thuật toán tổng quát ở trên cho học có giám sát trong các mạng nơron có nhiều cài đặt khác nhau, sự khác nhau chủ yếu là cách các trọng số liên kết được thay đổi trong suốt thời gian học Trong đó tiêu biểu nhất là thuật toán lan truyền ngược
Trang 23Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Học không có giám sát (Unsupervised Learning): là quá trình học
không có tín hiệu chỉ đạo bên ngoài Hình 1.11 minh họa quá trình học không
có giám sát
Hình 1.11: Học không có giám sát
Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x1, x2, ., xN)}, với (x1, x2, ., xN) là véctơ đặc trưng của mẫu huấn luyện Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các véctơ đầu vào có đặc trưng giống nhau
Như vậy với học không giám sát, số lớp phân loại chưa được biết trước,
và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau
Học tăng cường: là quá trình học kết hợp cả học có giám sát và học
không giám sát
Nguyên lý chính của học tăng cường là : với véctơ đầu vào, quan sát véctơ đầu ra do mạng tính được Nếu kết quả được xem là tốt thì mạng sẽ được thưởng theo nghĩa tăng các trọng số kết nối lên.Ngược lại các trọng số kết nối không thích hợp sẽ được giảm xuống Xu hướng này chính là quá trình điều chỉnh để chất lượng của mạng ngày càng tốt dần lên Tuy nhiên kiểu học này không cho chúng ta biết trước giá trị đích của mỗi mẫu tương ứng
Trang 24Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnụedụvn/
Dạng tổng quát của luật học trọng số của mạng nơ ron cho biết về gia số của véctơ là tỉ lệ với tín hiệu học và tín hiệu đầu vào :
Với la một số dương còn gọi là hằng số học dùng để xác định tốc độ học, r là tín hiệu học, r phụ thuộc vào hàm
Từ công thức ta thấy rằng véctơ trọng số
có số gia tỉ lệ với tín hiệu vào x và tín hiệu học r véctơ
trọng số tại thời điểm (t+1) được tính như sau:
Phương trình liên quan đến sự biến đổi trọng số trong mạng nơ ron rời rạc và tương ứng với sự thay đổi trọng số trong mạng nơ ron liên tục theo biểu thức:
Một số thuật toán học có giám sát và không giám sát được phát triển dựa vào luật cập nhật trọng số :
Sự khác biệt chính giữa các thuật toán học có giám sát và không giám sát này là tín hiệu học r sẽ được phát ra để cập nhật trọng số như thế nàọ Luật Hebb là một ví dụ điển hình, với tiếp cận trọng số được điều chỉnh phù hợp với quan hệ trước –saụ Cụ thể luật học Hebb định nghĩa:
Với ặ) là hàm kích hoạt
Định luật Hebb: Khi một tế bào A ở gần tế bào B, kích hoạt thường
xuyên hoặc lặp lại việc làm cháy nó thì phát triển một quá trình sinh hoá ở các
tế bào làm tăng tác động nàỵ
Trang 25Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trong luật Hebb tín hiệu lỗi đơn giản là đầu ra của nơ ron hiện thời
thành phần của véctơ trọng số được cập nhật lại như sau :
Luật Hebb là luật học không giám sát cho mạng truyền thẳng, nó chỉ sử dụng các đầu vào và các đầu ra hiện thời để cập nhật trọng số Trong luật học này các trọng số cần được khởi tạo ngẫu nhiên với giá trị xấp xỉ bằng không trước khi học
Ví dụ: Xét mạng chỉ có một đơn vị xử lý như hình 1.3 với hàm kích hoạt là hàm dấu
Sign(), Sign(x)=1 nếu x >=0 và Sign(x)=-1 nếu x <0
Có 4 đầu vào x1, x2, x3, x4 Véc tơ trọng số w = (w1, w2, w3, w4) Giả sử
ta huấn luyện cho mạng với 3 véc tơ mẫu sau:
Trang 26Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Bước2:Đƣavéctơmẫux (2)vàođểcậpnhậtvéctơtrọngsố
Bước3:Đƣavéctơmẫux(3)vàođểcậpnhậtvéctơtrọngsố
Ta dễ dàng nhận thấy rằng:
1.4 Thuật toán huấn luyện lan truyền ngƣợc sai số- Back Propagation
Thuật toán lan truyền ngƣợc sai số là thuật toán rất phổ biến đƣợc sử dụng trong quá trình huấn luyện mạng nơ ron
Mạng nơ ron MLP sử dụng thuật toán lan truyền ngƣợc sai số đƣợc gọi
là mạng BP (Back Propagation Network) Hình 1.12 minh họa cấu trúc mạng với thuật toán lan truyền ngƣợc sai số
Trang 27Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 1.12: Mạng MLP lan truyền ngược sai số
Giả sử tập mẫu dùng để huấn luyện mạng gồm mẫu , k=1,2, , thủ tục BP xây dựng một chuỗi các hàm sai số
Trong đó:
m : là số nơ ron đầu ra
là thành phần thứ j của vectơ ra mong muốn
là thành phần thứ j của vectơ ra mong muốn do lan truyền đầu vào
Các hàm sai số này lần lượt được tối thiểu trong không gian các trọng số Giá trị hàm sai số đối với một mẫu được tính toán dựa trên giá trị các trọng
số hiện tại
Các giá trị trọng số này sau đó được hiệu chỉnh và trở thành các giá trị trọng số hiện tại để tính giá trị hàm sai số tiếp theo Cách làm này có khả năng tạo ra sự dao động trong quá trình hiệu chỉnh các trọng số Kết quả hiệu chỉnh hiện tại có thể làm hỏng kết quả hiệu chỉnh ở các lần trước đó
Trang 28Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Giải pháp thay thế là xây dựng một hàm sai số duy nhất bằng cách tích luỹ các sai số
Các trọng số của mạng nơ ron chỉ được hiệu chỉnh sau khi tất cả các véc
tơ tín hiệu vào có trong tập mẫu được lan truyền qua mạng nơ ron
Quá trình huấn luyện tiến hành như sau:
+ Trước tiên ta xét lan truyền tín hiệu qua từng lớp mạng: lớp nhập, lớp
ẩn và lớp xuất
Giả sử tín hiệu đưa vào mạng nơ ron x = (x1, x2, , xm) với m là số nơ
ron trong lớp nhập, l là số nơ ron trong lớp ẩn và n là số nơ ron trong lớp xuất
Các nơ ron trong lớp nhập nhận và truyền tín hiệu sang lớp ẩn Đầu vào các
nơ ron (nút) trong lớp ẩn thứ nhất có dạng:
Trong đó wqj là trọng số liên kết từ nút j của lớp nhập đến nút q của lớp
ẩn Đầu ra zq của lớp ẩn nhận được:
Với a(net q ) là hàm kích hoạt của các nơ ron trong lớp ẩn Đầu vào của
nút ở lớp xuất sẽ nhận được:
(1.13) (1.12)
(1.14)
Trang 29Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Đầu ra của nút i ở lớp xuất nhận được
Sau khi lan truyền tín hiệu thẳng qua mạng, sai số của tín hiệu ra sẽ được lan truyền ngược để điều chỉnh các trọng số, mục tiêu ở đây là cực tiểu sai số giữa tín hiệu ra y = (y1, y2, , yn) của mạng nơ ron và tín hiệu mong muốn d=(d1, d2, , dn), hàm mục tiêu có dạng:
= Theo phương pháp giảm gradient, trọng số liên kết giữa lớp ẩn và lớp xuất được điều chỉnh như sau:
Ở đây là hệ số học của mạng nơ ron
Sử dụng (1.14) và (1.15) ta có:
=Trong đó là tín hiệu sai số, i là số thứ tự của nút i của lớp xuất; tín hiệu sai số được định nghĩa như sau:
Với net i là tổng đầu vào của nơ ron thứ i của lớp xuất và
(1.18)
(1.15)
(1.16)
(1.17)
Trang 30Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Trọng số liên kết giữa lớp ẩn và lớp nhập cũng được điều chỉnh theo
phương pháp giảm gradient như sau:
Trang 31Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thuật toán có thể khái quát qua sơ đồ nhƣ hình 1.13sau:
Lan truyền ngƣợc sai số, hiệu chỉnh trọng số
wiq=wiq+ wiq; vqj=vqj+ vqj với w iq , vqj theo công
thức (1.18) và (1.21) k=k+1
l=l+1
Kết thúc
Hình 1.13: Thuật toán lan truyền ngược sai số
Trang 32Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thuật toán được trình bày cho mạng nơ ron truyền thẳng nhiều lớp tổng quát như sau:
Xét mạng nơ ron với lớp lan truyền thẳng, và và
là đầu vào và đầu ra của nơ ron thứ trong lớp tương ứng Mạng có nút nhập, nút xuất Gọi là trọng số liên kết từ nơ ron lớp đến
nơ ron lớp
Input: Tập mẫu huấn luyện {(x(k), d(k))},
Bước 0 (khởi tạo): chọn và (sai số lớn nhất), khởi tạo trọng số với giá trị ngẫu nhiên nhỏ Đặt và
Bước 1 (vòng luyện): sử dụng mẫu đầu vào thứ k cho lớp nhập (q = 1)
Bước 2 (Lan truyền thẳng tín hiệu): lan truyền thẳng tín hiệu qua mạng
theo công thức:
Bước 3 (Tính sai số đầu ra): tính sai số và tín hiệu sai số cho lớp xuất:
Bước 4 (Lan truyền ngược sai số): lan truyền ngược sai số để điều chỉnh
trọng số và tính tín hiệu sai số cho lớp trước
Trang 33Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Bước 5 (Lặp một chu kỳ): kiểm tra tập dữ liệu huấn luyện đã quay hết
một vòng Nếu thì và quay lại bước 1; trường hợp khác
về bước 6
Bước 6 (Kiểm tra tín hiệu sai số): kiểm tra tín hiệu sai số, nếu
thì kết thúc vòng luyện và đưa ra bộ trọng số cuối cùng; trường hợp khác cho và quay lại bước 1 tiến hành chu kỳ luyện mới
Kết thúc BP
Thuật toán trên là phương pháp huấn luyện gia tăng khi điều chỉnh trọng số, nghĩa là các trọng số được điều chỉnh ngay sau khi có một mẫu luyện Một phương pháp khác là luyện dạng gói (batch training), ở đó các trọng số chỉ thay đổi sau khi đã có tất cả các mẫu luyện
Mạng nơ ron truyền thẳng có từ một lớp ẩn trở lên có thể xấp xỉ một hàm, trong [Hornik et al., 1989] đã phát biểu và chứng minh định lý dưới đây:
Định lý: Mạng nơ ron truyền thẳng với các lớp ẩn sử dụng hàm kích hoạt nén, tuyến tính hoặc hàm đa thức mở rộng có thể xấp xỉ gần đúng một hàm bất kỳ với độ chính xác tuỳ ý miễn là có đủ số nơ ron ẩn Hàm
(hoặc [-1, 1]) là hàm nén nếu nó đồng biến và
Hàm kích hoạt sử dụng trong mạng Perceptron nhiều lớp là hàm sigmoid lưỡng cực:
hoặc hàm sigmoid đơn cực
đạo hàm của cả hai hàm này đều là
Trang 34Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Kết luận chương 1
Trong chương này luận đã giới thiệu và khái quá hóa các kiến thức về mạng nơ ron Trong đó đặc biệt chú trọng nhấn mạnh đến cấu trúc của mạng
nơ ron truyền thẳng nhiều lớp MLP và thuật toán lan truyền ngược sai số
Một trong những khả năng quan trọng của mạng nơ ron là khả năng học, nhờ khả năng này mà mạng nơ ron có thể học và nhận dạng các tập mẫu cho trước, ngoài ra mạng còn có khả năng dự đoán
Kỹ thuật mạng nơ ron đã được ứng dụng để giải quyết nhiều bài toán thực tiễn như nhận dạng, dự báo, xấp xỉ hàm Do đó nghiên cứu sâu về mạng
nơ ron là điều rất quan trọng và cần thiết
Trang 35Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
2 CHƯƠNG 2: GIẢI THUẬT DI TRUYỀN 2.1 Các khái niệm cơ bản về giải thuật di truyền
Giải thuật di truyền-Gennetic Algorithm, viết tắt là GA là giải thuật tìm kiếm, chọn lựa các giải pháp tối ưu để giải quyết các bài toán khác nhau dựa trên cơ chế chọn lọc tự nhiên của ngành di truyền học
Trong cơ thể sinh vật, các gen liên kết với nhau theo cấu trúc dạng chuỗi gọi là nhiễm sắc thể, nó đặc trưng cho mỗi loài và quyết định sự sống còn của
cơ thể đó
Một loài muốn tồn tại phải thích nghi với môi trường, cơ thể sống nào thích nghi với môi trường hơn thì sẽ tồn tại và sinh sản với số lượng ngày càng nhiều hơn, trái lại những loài không thích nghi với môi trường sẽ dần dần bị diệt chủng
Môi trường tự nhiên luôn biến đổi, nên cấu trúc nhiễm sắc thể cũng thay đổi để thích nghi với môi trường, và ở thế hệ sau luôn có độ thích nghi cao hơn ở thế hệ trước Cấu trúc này có được nhờ vào sự trao đổi thông tin ngẫu nhiên với môi trường bên ngoài hay giữa chúng với nhau
Dựa vào đó các nhà khoa học máy tính xây dựng nên một giải thuật tìm kiếm tinh tế dựa trên cơ sở chọn lọc tự nhiên và quy luật tiến hóa, gọi là giải thuật di truyền
Các nguyên lý cơ bản của giải thuật được tác giả Holland đề xuất lần đầu vào năm 1962 Nền tảng toán học của giải thuật GA được tác giả công bố trong cuốn sách “Sự thích nghi trong các hệ thống tự nhiên và nhân tạo” xuất bản năm 1975
Giải thuật GA được xem như một phương pháp tìm kiếm có bước chuyển ngẫu nhiên mang tính tổng quát để giải các bài toán tối ưu hoá.[2]
Trang 36Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Giải thuật GA thuộc lớp các giải thuật tìm kiếm tiến hoá Khác với phần lớn các giải thuật khác tìm kiếm theo điểm, giải thuật GA thực hiện tìm kiếm song song trên một tập được gọi là quần thể các lời giải có thể
Thông qua việc áp dụng các toán tử di truyền, giải thuật GA tráo đổi thông tin giữa các cực trị và do đó làm giảm thiểu khả năng kết thúc giải thuật tại một cực trị địa phương Trong thực tế, giải thuật GA đã được áp dụng thành công trong nhiều lĩnh vực
Giải thuật GA lần đầu được tác giả Holland giới thiệu vào năm 1962 Giải thuật GA mô phỏng quá trình tồn tại của các cá thể có độ phù hợp tốt nhất thông qua quá trình chọn lọc tự nhiên, sao cho khi giải thuật được thực thi, quần thể các lời giải tiến hoá tiến dần tới lời giải mong muốn
Giải thuật GA duy trì một quần thể các lời giải có thể của bài toán tối ưu hoá Thông thường, các lời giải này được mã hoá dưới dạng một chuỗi các gien Giá trị của các gien có trong chuỗi được lấy từ một bảng các ký tự được định nghĩa trước Mỗi chuỗi gien được liên kết với một giá trị được gọi là độ phù hợp Độ phù hợp được dùng trong quá trình chọn lọc.[2]
Cơ chế chọn lọc đảm bảo các cá thể có độ phù hợp tốt hơn có xác suất được lựa chọn cao hơn Quá trình chọn lọc sao chép các bản sao của các cá thể có độ phù hợp tốt vào một quần thể tạm thời được gọi là quần thể bố mẹ Các cá thể trong quần thể bố mẹ được ghép đôi một cách ngẫu nhiên và tiến hành lai ghép tạo ra các cá thể con
Sau khi tiến hành quá trình lai ghép, giải thuật GA mô phỏng một quá trình khác trong tự nhiên là quá trình đột biến, trong đó các gien của các cá thể con tự thay đổi giá trị với một xác suất nhỏ
Tóm lại, có 6 khía cạnh cần được xem xét, trước khi áp dụng giải thuật
GA để giải một bài toán, cụ thể là:
Mã hoá lời giải thành cá thể dạng chuỗi
Trang 37Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Chiến lƣợc thay thế hay còn gọi là toán tử tái tạo
Có nhiều lựa chọn khác nhau cho từng vấn đề trên Phần tiếp theo sẽ đƣa
ra cách lựa chọn theo J.H Holland khi thiết kế phiên bản giải thuật GA đầu tiên Giải thuật này đƣợc gọi là giải thuật di truyền đơn giản (SGA)
2.2 Giải thuật di truyền mã hóa nhị phân
Trong giải thuật di truyền của mình J H Holland sử dụng mã hoá nhị phân để biểu diễn các cá thể, lý do là phần lớn các bài toán tối ƣu hoá đều có thể đƣợc mã hoá thành chuỗi nhị phân khá đơn giản
Hàm mục tiêu, hàm cần tối ƣu, đƣợc chọn làm cơ sở để tính độ phù hợp của từng chuỗi cá thể Giá trị độ phù hợp của từng cá thể sau đó đƣợc dùng để tính toán xác suất chọn lọc
Sơ đồ chọn lọc trong giải thuật SGA là sơ đồ chọn lọc tỷ lệ Trong sơ đồ chọnlọc này, cá thể có độ phù hợp có xác suất chọn lựa
Với là số cá thể có trong quần thể
Toán tử lai ghép trong giải thuật SGA là toán tử lai ghép một điểm cắt Giả sử chuỗi cá thể có độ dài L (có L bít), toán tử lai ghép đƣợc tiến hành qua hai giai đoạn là:
Hai cá thể trong quần thể bố mẹ đƣợc chọn một cách ngẫu nhiên với phân bố xác suất đều
Trang 38Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Sinh một số ngẫu nhiên j trong khoảng [1, L - 1] Hai cá thể con được tạo ra bằng việc sao chép các ký tự từ 1 đến j và tráo đổi các
ký tự từ j + 1 đến L
Vị trí lai ghép
Hai cá thể bố mẹ Hai cá thể con
Lưu ý giải thuật GA không yêu cầu toán tử lai ghép luôn xảy ra đối với hai cá thể bố mẹ được chọn Sự lai ghép chỉ xảy ra khi số ngẫu nhiên tương ứng với cặp cá thể bố mẹ được sinh ra trong khoảng [0, 1) không lớn hơn một tham số (gọi là xác suất lai ghép) Nếu số ngẫu nhiên này lớn hơn , toán
tử lai ghép không xảy ra Khi đó hai cá thể con là bản sao trực tiếp của hai cá thể bố mẹ
Tiếp theo, J H Holland xây dựng toán tử đột biến cho giải thuật SGA Toán tử này được gọi là toán tử đột biến chuẩn Toán tử đột biến duyệt từng gien của từng cá thể con được sinh ra sau khi tiến hành toán tử lai ghép và tiến hành biến đổi giá trị từ 0 sang 1 hoặc ngược lại với một xác suất được gọi là xác suất đột biến
Cuối cùng là chiến lược thay thế hay còn gọi là toán tử tái tạo Trong giải thuật SGA, quần thể con được sinh ra từ quần thể hiện tại thông qua 3 toán tử
là chọn lọc, lai ghép và đột biến thay thế hoàn toàn quần thể hiện tại và trở thành quần thể hiện tại của thế hệ tiếp theo
Sơ đồ tổng thể của giải thuật SGA được thể hiện qua thủ tục SGA() trình bày dưới đây
Trang 39Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Thủ tục SGA () /* Giải bài toán tối ƣu */
do { // Chuyển đổi giá trị hàm mục tiêu thành giá trị độ phù hợp và
Pparent = chọn_lọc (Pk );
Pchild = đột_biến (lai_ghép (Pparent));
// Thay thế quần thể hiện tại bằng quần thể cá thể con
k = k + 1;
Pk = Pchild; tính_hàm_mục_tiêu (Pk);
// Nếu giá trị hàm mục tiêu obj của cá thể tốt nhất X trong quần
Trang 40Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Đó chính là các tham số điều khiển của giải thuật SGA Cá thể có giá trị hàm mục tiêu tốt nhất của mọi thế hệ là lời giải cuối cùng của giải thuật SGA Quần thể đầu tiên được khởi tạo một cách ngẫu nhiên
Ví dụ: xét bài toán tìm max của hàm f(x) = x 2
với x là số nguyên trên
đoạn [0,31]
Để sử dụng giải thuật di truyền ta mã hóa mỗi số nguyên x trong đoạn
[0,31] bởi một số nhị phân có độ dài 5, chẳng hạn chuỗi 11000 là mã của số
nguyên 24 Hàm thích nghi được xác định chính là hàm f(x)=x 2
Quần thể ban đầu gồm 4 cá thể (kích thước quần thể N=4)
Thực hiện quá trình chọn lọc ta có bảng 2.1 sau, trong bảng này ta thấy
cá thể 2 có độ thích nghi cao nhất nên nó được chọn 2 lần, cá thể 3 có độ thích nghị thấp nhất không được chọn lần nào, mỗi cá thể 1 và 4 được chọn 1 lần
Bảng 2.1: Bảng quá trình chọn lọc các cá thể có độ thích nghi tốt
Sốhiệu
cáthể
Quần thể ban đầu x
Độ thích nghi f(x)=x 2
Số lần đượcchọn