• Hàm singmoid e x Hình 1.3: Một số hàm chuyển b Các mô hình mạng nơron nhân tạo Trong mô hình mạng mạng nơron nhân tạo, các nơron được nối với nhau bởi các liên kết nơron, mỗi liên kế
Trang 1MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC TỪ VIẾT TẮT iii
DANH MỤC CÁC BẢNG iv
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ v
MỞ ĐẦU 1
CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN 4
1.1 Các khái niệm cơ bản về mạng nơron nhân tạo 4
1.1.1 Lịch sử phát triển của mạng nơron nhân tạo 4
1.1.2 Mạng nơron sinh học và mạng nơron nhân tạo 5
1.1.3 Các luật học 11
1.2.Các khái niệm cơ bản về thuật toán di truyền 12
1.2.1 Ý tưởng chính của giải thuật di truyền 13
1.2.2 Một số cách biểu diễn lời giải của giải thuật di truyền 15
1.2.3 Cấu trúc của giải thuật di truyền 17
CHƯƠNG II: MẠNG NƠ RON TRUYỀN THẲNG HUẤN LUYỆN BẰNG THUẬT TOÁN LAI GA-BP 22
2.1 Mạng nơron truyền thẳng nhiều lớp 22
2.1.1 Kiến trúc mạng nơron truyền thẳng nhiều lớp 22
2.1.2 Khả năng thể hiện 23
2.1.3 Vấn đề thiết kế cấu trúc mạng 24
2.2 Thuật toán lan truyền ngược (Back-Propagation) 27
2.2.1 Mô tả thuật toán 27
2.2.2 Sử dụng thuật toán lan truyền ngược 32
2.2.3 Một số biến thể của thuật toán lan truyền ngược 34
2.2.4 Vấn đề tìm kiếm điểm cực tiểu 35
Trang 22.3 Huấn luyện mạng nơ ron truyền thẳng nhiều lớp bằng thuật toán lai
GA-BP 37
2.3.1.Giải thuật di truyền trong việc huấn luyện mạng nơ ron truyền thẳng nhiều lớp 37
2.3.2 Ghép nối với giải thật lan truyền ngược sai số 39
CHƯƠNG III : ỨNG DỤNG MẠNG NƠ RON TRUYỀN THẲNG TRONG BÀI TOÁN DỰ BÁO KHÍ GA 41
3.1 Sơ lược về lĩnh vực dự báo dữ liệu 41
3.2 Mạng nơ ron truyền thẳng trong dự báo dữ liệu 42
3.3 Các bước chính trong việc thiết kế mô hình mạng nơ ron dự báo 46
3.4 Ứng dụng mô hình trong bài toán dự báo khí ga 50
3.4.1 Phát biểu bài toán 50
3.4.2 Mô hình dự báo 52
3.4.3 Chương trình dự báo 56
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
Trang 3DANH MỤC CÁC TỪ VIẾT TẮT
STT TỪ VIẾT
Network
3 MLFF Mạng truyền thẳng nhiều lớp Multi-layer Feed
Forward
4 LMS Bình phương lỗi nhỏ nhất Least Means Square
5 BP Thuật toán lan truyền ngược Back-Propagation
6 MAPE giá trị trung bình tuyệt đối
phần trăm lỗi
Mean absolute percentage error
Trang 4DANH MỤC CÁC BẢNG
Bảng 1.1: Ví dụ dùng phép tái tạo 18
Bảng 1.2: Ví dụ dùng phép đột biến 20
Bảng 3.1: Dữ liệu đầu vào 52
Bảng 3.2: Dữ liệu theo khuôn dạng được mã hóa 54
Trang 5DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1: Cấu trúc của một nơron sinh học điển hình 6
Hình 1.2: Mô hình của một nơron nhân tạo 7
Hình 1.3: Một số hàm chuyển 9
Hình 1.4: Mạng nơron truyền thẳng nhiều lớp 10
Hình 1.5: Mô hình mạng hồi quy 10
Hình 1.6: Sơ đồ học có giám sát 11
Hình 1.7: Sơ đồ học tăng cường 12
Hình 1.8: Sơ đồ học không giám sát 12
Hình 1.9: Sự sinh sản đơn giản phân bố các chuỗi con cháu nhờ sử dụng bánh xe Roulette với các khe hở tỷ lệ với độ thích nghi 19
Hình 1.10: Sơ đồ giải thuật di truyền 21
Hình 2.1: Mạng nơron truyền thẳng nhiều lớp 22
Hình 2.2: Xác định tần số 36
Hình 2.3: Giảm kích thước của tần số của sự không chắc chắn 36
Hình 2.4 : Sơ đồ khối tổng thể của thuật toán lai GA-BP 40
Hình 3.1: Xử lý dữ liệu 44
Hình 3.2: Kiến trúc mạng nơ ron trong bài toán ứng dụng 45
Hình 3.3: Màn hình ban đầu của chương trình 60
Hình 3.4: Tệp dữ liệu đã mã hóa 60
Hình 3.5: Nhập các tham số cấu trúc mạng 61
Hình 3.6: Nhập các tham số của giải thuật di truyền 62
Hình 3.7: Tìm kiếm bằng giải thuật di truyền 62
Hình 3.8a: Huấn luyện bằng giải thuật BP 63
Hình 3.78: Huấn luyện bằng giải thuật BP 64
Hình 3.9 Dự báo dữ liệu 64
Trang 6MỞ ĐẦU
Dự báo dữ liệu là một trong những bài toán quan trọng trong khai phá
dữ liệu và học các máy nhằm tìm ra quy luật của dữ liệu Dự báo dữ liệu mang lại nhiều lợi ích thiết thực phụ vụ con người, nó giúp con người nắm bắt được các quy luật vận động trong tự nhiên và trong đời sống kinh tế xã hội Nguyên lý của dự báo dữ liệu là dựa vào dữ liệu lịch sử để xây dựng
mô hình nhằm dự báo các dữ liệu trong tương lai Ngày nay, các kho dữ liệu ngày càng lớn, ngày càng phức tạp và đa dạng Để xây dựng các mô hình dự báo hiệu quả trên những dữ liệu khổng lồ và phức tạp này, các nhà khoa học đã và đang nỗ lực nghiên cứu các phương pháp mô phỏng tư duy của bộ óc của con người nhằm xây dựng các mô hình dự báo hiệu quả
nhất, đặc biệt là các phương pháp “học có thầy”, trong đó mạng nơron
nhân tạo là công cụ điển hình
Mạng nơ ron nhân tạo là một lớp các mô hình tính toán mô phỏng hoạt động bộ não con người Các mô hình đó đều sử dụng một cấu trúc mạng trong
đó các đỉnh được gọi là các nơ ron Các nơ ron này xử lý tín hiệu số từ môi trường bên ngoài hoặc các nơ ron khác trong mạng gửi tới qua các kết nối và sau đó gửi tín hiệu đến các nơ ron khác hoặc ra môi trường [7, 8] Mạng nơron truyền thẳng là một lớp các mạng nơron nhân tạo được thực tiễn chứng minh là khá mạnh và hiệu quả trong các bài toán dự báo, phân tích dữ liệu [12, 13, 16] Các mạng nơ ron truyền thằng phải được huấn luyện trước khi sử dụng để thực thi một bài toán dự báo trong thực tế Với một cấu trúc mạng được chọn, quá trình huấn luyện mạng là quá trình hiệu chỉnh các trọng số của mạng và thường được phát biểu dưới dạng một bài toán tối thiểu hoá hàm sai số huấn luyện Thủ tục huấn luyện cần một thuật toán tìm kiếm có khả năng tìm lời giải toàn cục, không phụ thuộc vào quá trình khởi động các trong
số ban đầu Ngoài ra, các thuật toán này phải có khả năng tìm kiếm hiệu quả
Trang 7trong không gian nhiều chiều do số lượng trọng số trong các mạng nơ ron là khá lớn
Thuật toán di truyền (Genetic Algorithm), viết tắt là thuật toán GA, là thuật toán tìm kiếm dựa trên quá trình chọn lọc tự nhiên, di truyền và tiến hóa Nền tảng toán học của thuật toán GA được tác giả J.H.Holland 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” [8] Thuật toán 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á Với những đặc thù riêng của mình, thuật toán GA được sử dụng khá hiệu quả trong thủ tục huấn luyện mạng nơ ron [4, 14, 15, 17] Tuy nhiên, thuật toán GA gặp khó khăn về
sự hội tụ Thuật toán GA đơn giản do Holland đề xuất đã được chứng minh là không bảo đảm sự hội tụ hoặc không hội tụ tới lời giải toàn cục [3] Ngoài ra, các giải pháp cải tiến chiến lược thay thế hoặc toán tử đột biến tuy giúp cho thuật toán GA hội tụ, nhưng sự hội tụ này dễ dẫn đến hiện tượng hội tụ sớm, nghĩa là thuật toán kết thúc tại một cực trị địa phương mà không có khả năng tìm thấy cực trị toàn cục [3]
Thuật toán huấn luyện kinh điển lan truyền ngược của sai số Back Propagation, gọi tắt là thuật toán BP, được sử dụng rộng rãi nhất trong việc huấn luyện mạng nơ ron truyền thẳng Thuật toán này đảm bảo sự hội tụ nhưng dễ hội tụ tại một cực trị địa phương mà không có khả năng tìm kiếm cực trị toàn cục Mặt khác, kết quả huấn luyện của thuật toán này phụ thuộc vào nhiều yếu tố, đặc biệt là quá trình khởi động các trọng số ban đầu [9, 10,14, 15]
Do nhu cầu phải xây dựng một thuật toán vừa có khả năng tìm kiếm lời giải toàn cục, vừa phải đảm bảo sự hội tụ để huấn luyện cho mạng nơ ron truyền thẳng thực thi một bài toán dự báo trong thực tế, luận văn tập trung nghiên cứu giải pháp tích hợp thuật toán GA với thuật toán BP, gọi tắt là thuật toán lai GA-BP, trong việc huấn luyện mạng nơ ron truyền thẳng [11] Trên
Trang 8cơ sở đó, luận văn trình bày các bước chính để xây dựng mô hình mạng nơ ron dự báo dữ liệu và ứng dụng mô hình đó trong bài toán dự báo sử dụng khí ga
Nội dung chính của luận văn được tổ chức thành 3 chương có nội dung được mô tả như dưới đây
Chương I Các khái niệm cơ bản
Chương này trình bày những lý thuyết cơ bản về mạng nơ-ron nhân tạo, các khái niệm cơ bản và các cải tiến của thuật toán di truyền
Chương II Mạng nơ ron truyền thằng huấn luyện bằng thuật toán lai GA-BP
Chương II nghiên cứu mạng nơ ron truyền thẳng và thuật toán lan truyền ngược của sai số (thuật toán BP), một số vấn đề về sự hội tụ của thuật toán BP Đồng thời nghiên cứu giải pháp tích hợp thuật toán GA với thuật toán BP thành thuật toán lai GA-BP và sử dụng thuật toán lai GA-BP để huấn luyện mạng nơ ron truyền thẳng
dự báo sử dụng khí ga
Cài đặt thuật toán lai GA-BP và thử nghiệm thuật toán để huấn luyện mạng nơ ron truyền thẳng Xây dựng mô hình mạng nơ ron dự báo và thử nghiệm mô hình với bài toán dự báo sử dụng khí ga
Phần kết luận:
Tổng kết những kết quả đã đạt được của luận văn và hướng phát triển nghiên cứu tiếp theo
Trang 9CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN 1.1 Các khái niệm cơ bản về mạng nơron nhân tạo
1.1.1 Lịch sử phát triển của mạng nơron nhân tạo
Mạng nơron nhân tạo (Artificial Neural Network-ANN) là một hệ thống xử lý thông tin phỏng theo cách thức 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 đó Các phần tử này được liên kết với nhau và cùng hoạt động song song Bởi vậy mạng nơron nhân tạo có hành vi như bộ não người với các khả năng học (learning) và tái tạo (recall) lại những gì đã được dạy; tổng hợp thông tin từ
sự luyện tập các mẫu dữ liệu Đây chính là lý do khiến mạng nơron nhân tạo phát triển rất mạnh mẽ và được ứng dụng nhiều trong thực tế, đặc biệt trong lĩnh vực dự báo, nhận dạng, điều khiển
Năm 1943, Warrem McCulloch và nhà toán học Walter Pitts đã chỉ ra rằng: về nguyên tắc mạng nơron nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào Cuối thập kỷ này, Donald Hebb cũng đưa ra các luật thích nghi trong mạng nơron
Đầu thập kỷ những năm 1950, Friedrick Hayek là người đầu tiên khẳng định về ý tưởng trật tự tự phát trong não xuất phát từ các mạng phân tán gồm các nơron Đến năm 1958, Rosenblatt đưa ra cấu trúc Percepton và đã có ứng dụng thực nghiệm đầu tiên Nhưng đến năm 1969, Minsky và Papert mới phân tích được sự đúng đắn của cấu trúc này, chứng minh các tính chất đó rồi chỉ rõ các giới hạn của một số mô hình
Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan truyền ngược BP ( back-propagation) Tuy nhiên phải mất một vài năm thì phương pháp này mới trở lên phổ biến Các mạng lan truyền ngược được biết đến nhiều nhất và được áp dụng rộng dãi nhất nhất cho đến ngày nay
Trang 10Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfield bằng sự phân tích toán học rõ ràng, mạch lạc, ông đã chỉ ra cách thức các mạng nơron làm việc và những công việc chúng có thể thực hiện được Cống hiến của Hopfield không chỉ ở giá trị của những nghiên cứu khoa học mà còn
ở sự thúc đẩy trở lại các nghiên cứu về mạng neuron
Cũng trong thời gian này, một hội nghị với sự tham gia của Hoa Kỳ và Nhật Bản bàn về việc hợp tác/cạnh tranh trong lĩnh vực mạng nơron đã được
tổ chức tại Kyoto, Nhật Bản Sau hội nghị, Nhật Bản đã công bố những nỗ lực của họ trong việc tạo ra máy tính thế hệ thứ 5 Tiếp nhận điều đó, các tạp chí định kỳ của Hoa Kỳ bày tỏ sự lo lắng rằng nước nhà có thể bị tụt hậu trong lĩnh vực này Vì thế, ngay sau đó, Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho các nghiên cứu và ứng dụng mạng neuron
Năm 1985, viện vật lý Hoa Kỳ bắt đầu tổ chức các cuộc họp hàng năm
về mạng neuron ứng dụng trong tin học (Neural Networks for Computing) Năm 1987, hội thảo quốc tế đầu tiên về mạng neuron của Viện các kỹ
sư điện và điện tử IEEE (Institute of Electrical and Electronic Engineer) đã thu hút hơn 1800 người tham gia
Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên cứu ứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở khắp mọi nơi Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng hoàn thiện hơn Điển hình là các ứng dụng: xử lý ngôn ngữ (Language Processing), nhận dạng kí tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc dữ liệu (Data Filtering),…
1.1.2 Mạng nơron sinh học và mạng nơron nhân tạo
1.1.2.1 Mạng nơron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 1011 nơron tham gia vào khoảng 1015 kết nối trên
Trang 11các đường truyền Mỗi đường truyền này dài khoảng hơn một mét Các nơron
có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn
có những khả năng mà các tế bào khác không có được, đó là khả năng nhận,
xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não
Hình 1.1: Cấu trúc của một nơron sinh học điển hình
Mỗi nơron sinh học có 3 thành phần cơ bản:
• Các nhánh vào hình cây ( dendrites)
• Thân tế bào (cell body)
• Sợi trục ra (axon)
Các nhánh hình cây truyền tín hiệu vào đến thân tế bào Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là synapse 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 Một số cấu trúc của nơron được xác định trước lúc sinh ra Một số cấu trúc được phát triển thông qua quá trình học Trong cuộc đời cá thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ
Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các tín hiệu này và cho ra một tín hiệu output Tín hiệu output này sau đó được truyền đi làm tín hiệu đầu vào cho các nơron khác [8]
Trang 12Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não
1.1.2.2 Mạng nơron nhân tạo
Mạng nơron nhân tạo (Artificial Neural Network) là một lớp các mô hình tính toán mô phỏng theo các chức năng của một mạng nơron sinh học nói chung Các mô hình đó đều sử dụng một cấu trúc mạng trong đó các đỉnh được gọi là các nơron Các nơron này xử lý tín hiệu số từ môi trường bên ngoài hoặc các nơron khác trong mạng gửi tới qua các kết nối và sau đó gửi tín hiệu đến các nơron khác hoặc ra môi trường [6, 7]
a) Các phần tử xử lý
Cũng như nơron sinh học, mỗi nơron nhân tạo được nối với các nơron khác và nhận tính hiệu từ chúng với các trọng số liên kết Một nơron nhân tạo phản ánh các tính chất cơ bản của nơron sinh học:
Hình 1.2: Mô hình của một nơron nhân tạo
Đầu ra Hàm truyền
Hàm tổng
Trang 13một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng n: số đầu vào của nơron
• : tổng các tích đầu vào với trọng số liên kết của mỗi nơron
• 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
• bk: Ngưỡng (còn gọi là một độ lệch: bias) này thường được đưa vào như một thành phần của hàm truyền
• yk: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra
Như vậy, mô hình toán học của nơron nhân tạo như sau:
i
f
1 1
Việc xử lý thông tin tại mỗi nơron gồm 2 phần: xử lý tín hiệu vào (input) và đưa tín hiệu ra (output) Thao tác tính giá trị đầu ra tương ứng với giá trị đầu vào thông qua hàm kích hoạt hay còn gọi là hàm chuyển f x Một
Trang 14• Hàm singmoid
e x
Hình 1.3: Một số hàm chuyển
b) Các mô hình mạng nơron nhân tạo
Trong mô hình mạng mạng nơron nhân tạo, các nơron được nối với nhau bởi các liên kết nơron, mỗi liên kết có nột trọng số đặc trưng cho đặc tính kích hoạt hay ức chế giữa các nơron Đồng thời, các nơron được nhóm lại với nhau theo cấu trúc phân lớp, bao gồm: lớp vào (input layer), lớp ra (output layer), lớp ẩn (hidden layer)
y
Trang 15• Mô hình mạng nơron truyền thẳng (feed – forward Neural Network)
Hình 1.4: Mạng nơron truyền thẳng nhiều lớp
Trong mạng nơron nhân tạo các lớp được phân chia như sau:
- Lớp vào (input layer): Là lớp đầu tiện nhận các tín hiệu vào x i của véc tơ tín hiệu vào X Mỗi tín hiệu x i của tín hiệu vào sẽ được đưa đến tất cả các nơron của lớp nơron đầu tiên, chúng được phân phối trên các trọng số có số lượng đúng bằng số nơron của lớp này Thông thường , các nơron đầu vào không làm biến đổi cac tín hiệu vào x i, tức là chúng không có các trọng số hoặc không có các loại hàm chuyển đổi nào, chúng chỉ đóng vai trò sửa đổi chúng
• Mạng hồi quy (Recurrent networks)
Là mạng có chứa các liên kết ngược nên cho phép các thông tin của các nơron được truyền lại cho các nơron đã góp phần kích hoạt chúng Bởi vậy, mạng quy hồi có khả năng lưu trữ trạng thái trong của nó dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơron
Hình 1.5: Mô hình mạng hồi quy
bias
h 2
h m
h 1
Trang 16
1.1.3 Các luật học
Một trong những chức năng quan trọng nhất của mạng nơron là học Học chính là quá trình giải bài toán tối ưu tham số Quá trình này chỉ dừng lại khi mạng thỏa mãn một tiêu chuẩn dừng nào đó [7] Có hai kiểu học:
- Học tham số (Paramater Learning): Là việc thay đổi trọng số các liên kết giữa các nơron trong một mạng
- Học cấu trúc (Structure Learning): Trọng tâm là việc biến đổi cấu trúc của mạng nơron gồm số lượng nut (node) và các mẫu liên kết
Về phương pháp học, có thể chia ra làm 03 loại:
- Học có giám sát (Supervised Learning): Mạng cung cấp một tập mẫu học X , s Y s với tín hiệu đầu vào là X s và đầu ra mong muốn là Y s Ở mỗi lần học, véc tơ tín hiệu vào X s được đưa vào mạng, sau đó so sánh sự khác lệch giữa các kết quả ra đúng Y s với kết quả tính toán qua mạng out Sai số này dùng để hiệu chỉnh lại các trọng số liên kết trong mạng Quá trính như vậy cứ tiếp tục cho đến khi thỏa mãn một tiêu chuẩn nào đó
Hình 1.6: Sơ đồ học có giám sát
- Học tăng cường (Reinforcement Learning): Trong kỹ thuật học có giám sát, các véc tơ đầu ra được biết một cách chính xác, nhưng trong một số trường hợp có ít thông tin, ví dụ chỉ có thể nói là mạng sinh Output quá lớn hoặc chỉ đúng khoảng 40% Khi đó chỉ có một tín hiệu đánh giá là “True” hoặc “False” quay lại mạng, các thủ tục học đó gọi là thủ tục học tăng cường
Tính sai số
Đầu ra mong muốn của Y s Sai số
Trang 17Hình 1.7: Sơ đồ học tăng cường
- Học không có giám sát (Unsupervised Learning): Trong trường hợp này, hoàn toàn không có tín hiệu ở bên ngoài Giá trị mục tiêu điều khiển không được cung cấp và không được tăng cường Mạng phải khám phá các mẫu, các nét đặc trưng, tính cân đố, tính tương quan Trong khi khám phá các đặc trưng khác, mạng nơron đã trải qua việc tự thay đổi thông số, vấn đề này được gọi là tự tổ chức
Hình 1.8: Sơ đồ học không giám sát
1.2.Các khái niệm cơ bản về thuật toán di truyền
Giải thuật di truyền (Genetic Algorithsm - GA) là thuật toán tìm kiếm dựa trên quá trình chọn lọc tự nhiên, di truyền và tiến hóa Các nguyên lý cơ bản của thuật toán được tác giả J.H.Holland đề xuất vào giữa
thập niên 70, thế kỷ XX trong luận án tiến sĩ “ Adaptation in natural and
Artificial Systems” [8] Sau J.H.Holland còn có rất nhiều người nghiên cứu
về lý thuyết cũng như những ứng dụng của GA cổ điển trong các lĩnh vực khác nhau của khoa học, công nghệ như: lập trình tự động, học máy, kinh
tế, sinh thái học, y học,
X s Đầu vào
ANN
w
Đầu ra thực tế
Tạo tín hiệu đánh giá
Tín hiệu tăng cường Tín hiệu
đánh giá
Trang 18Giải thuật di truyền về bản chất là thuật toán tìm kiếm dựa theo các quy luật của quá trình tiến hóa tự nhiên Giải thuật kết hợp sự sống sót của cấu trúc khỏe nhất trong số các cấu trúc biểu diễn các nhiễm sắc thể với một sự trao đổi thông tin lựa chọn nhẫu nhiên để tạo thành một thuật toán tìm kiếm Giải thuật di truyền nằm trong lĩnh vực tính toán tiến hóa, sử dụng các biểu diễn nhị phân và các sơ đồ để mô hình hóa sự chọn lọc, lai ghép và đột biến [1, 2]
1.2.1 Ý tưởng chính của giải thuật di truyền
Ý tưởng của giải thuật di truyền là mô phỏng theo cơ chế của quá trình chọn lọc và di truyền trong tự nhiên Từ tập các lời giải có thể ban đầu, thông qua nhiều bước tiến hóa để hình thành các tập mới với những lời giải tốt hơn, cuối cùng tìm được lời giải tối ưu nhất Khi tìm kiếm lời giải tối ưu, GA cũng thực hiện các bước tương ứng như quá trình đấu tranh sinh tồn của các loài vật [4] Bởi vậy, GA sử dụng các thuật ngữ lấy từ di truyền học:
- Một tập hợp các lời giải được gọi là một Lớp hay Quần thể (population)
- Mỗi lời giải được biểu diến bởi một Nhiễm sắc thể hay Cá thể (chromosome)
- Các nhiễm sắc thể được tạo thành từ các đơn vị - các gen – biểu diễn trong một chuỗi tuyến tính
Như vậy, tập lời giải phải trải qua nhiều bước tiến hóa, tại mỗi thế hệ, một tập mới các cá thể được tạo ra có chứa các phần của những cá thể thích nghi nhất trong thế hệ cũ Đồng thời giải thuật di truyền khai thác một cách hiệu quả thông tin trước đí để suy xét trên điểm tìm kiếm với mong muốn có được sự cải thiện qua từng thế hệ Qua qua trình này, các đặc trưng được đánh giá tốt sẽ có cơ hội phát triển và các tính chất không thích nghi với môi trường sẽ có xu hướng biến mất
Giải thuật di truyền tổng quát được mô tả như sau:
Trang 19P Mỗi nhiễm sắc thể x it được đánh giá để độ thích nghị của nó và một
số thành viên của P t lại được tái xuất nhờ các toán tử
Khi áp dụng GA để giải quyết một bài toán cụ thể, phải làm rõ các vấn
đề sau:
1 Chọn cách biểu diễn di truyền nào đối với những lời giải có thể của bài toán?
2 Tạo tập lời giải ban đầu như thế nào?
3 Xác định các hàm đánh giá để đánh giá mức độ thích nghi của các cá thể
4 Xác định các toán tử di truyền để sản sinh con cháu
Trang 205 Xác định các giá trị các tham số mà GA sử dụng như kích thước tập lời giải, xác suất áp dụng các toán tử di truyền,
Như vậy GA là một giải thuật nhằm giải quyết các bài toán tìm kiếm Bằng lý thuyết và thực nghiệm, nó đã chứng minh là giải thuật tìm kiếm toàn cụa mạnh trong các không gian lời giải phức tạp
1.2.2 Một số cách biểu diễn lời giải của giải thuật di truyền
Biểu diễn lời giải là vấn đề đầu tiên được quan tâm tới khi bắt tay vào giải quyết một bài toán bằng GA Việc lựa chọn các biểu diễn lời giải như thế nào phụ thuộc vào từng lớp bài toán thậm chí vào từng bài toán cụ thể [5]
GA kinh điển dùng chuỗi nhị phân có chiều dài xác định để biểu diễn lời giải Tuy nhiên, thực tế cho thấy cách biểu diễn này khó áp dụng trực tiếp cho các bài toán tối ưu cỡ lớn có nhiều ràng buộc Vì lý do đó, GA cải tiến hay còn gọi là Chương trình tiến hóa đã tìm kiếm các cách biểu diễn thích nghi và tự nhiên hơn các bài toán thực tế như: Biểu diễn theo trật tự, biểu diễn theo giá trị thực, biểu diễn bằng cách cấu trúc cây, ma trận, Phần này sẽ trình bày tổng quan về các cách biểu diễn đó
1.2.2.1 Biểu diễn nhị phân (Binary encoding)
Trong biểu diễn nhị phân, mỗi nhiễm sắc thể là một chuỗi các bit 0 hoặc 1 Chẳng hạn:
Trang 211.2.2.2 Biểu diễn hoán vị (Permutation encoding)
Sử dụng trong bài toán mà thứ tự các thành phần của lời giải quyết định mức độ phù hợp của lời giải, điển hình như bài toán “Người du lịch”
Với cách biểu diễn thứ tự, sắp xếp của các gen khác nhau cho ta các nhiễm sắc thể khác nhau, mỗi nhiễm sắc thể là một chuỗi các số nguyên tố diễn tả quan hệ nối tiếp Lời giải được biểu diễn bằng một véc tơ số nguyên
1.2.2.3 Biểu diễn giá trị (Value encoding)
Thường dùng trong các bài toán mà cách biểu diễn chuỗi nhị phân là khó thực hiện như miền các định của các thành phần lời giải khá lớn với độ chính xác yêu cầu cao, miền xác định không rõ ràng, hay các bài toán mà việc biểu diễn nhị phân là “không tự nhiên.”
Trong biểu diễn giá trị, mỗi cá thể là một chuỗi các giá trị liên quan đến bài toán, các giá trị có thể là số thực, số nguyên, ký tự hay các đối tượng phức tạp khác
Ví dụ:
NST A: (0.1229, 2.9234, 3.0012, 0.3567, 4.3828 )
NST B: (AJUHNEOLDOGSGLLIKUFSEJHJH)
1.2.2.4 Biểu diễn dạng cây (Tree encoding)
Cách biểu diễn lời giải dùng cấu trúc cây được dùng chủ yếu trong các chương trình tiến hóa, trong biểu diễn tri thức, hay lập các chương trình truyền học Với cách biểu diễn này, mỗi cá thể là một cây đối tượng
Trang 221.2.3 Cấu trúc của giải thuật di truyền
Các cá thể trong giải thuật di truyền đơn giản là một chuỗi các bit được tạo bởi việc cắt dán các chuỗi bit con Mỗi chuỗi bit đại diện cho một tập thông số trong không gian tìm kiếm, nên được coi là lời giải tiềm năng của bài toán tối ưu Từ mỗi chuỗi bit ta giải mã để tính lại tập thông số, sau đó tính được giá trị hàm mục tiêu Từ đó, giá trị hàm mục tiêu được biến đổi thành giá trị đo phù hợp của từng chuỗi
Quần thể chuỗi ban đầu được khởi tạo ngẫu nhiên, sau đó tiến hóa từ thế hệ này sang thế hệ khác bằng các toán tử di truyền (tổng số chuỗi trong mỗi quần thể là không thay đổi) Có 3 toán tử di truyền đơn giản là:
- Tái tạo (Reproduction)
Thao tác sinh sản hay còn gọi la thao tác chọn cha mẹ được điều khiển bằng cách quay bánh xe Roulette Trong vòng tròn Roulette mỗi chuỗi trong quần thể chiếm một khe có kích thước tỉ lệ với độ thích nghi (fitness) của chúng Diện tích của cả vòng tròn tương ứng với 100% tổng mức thích nghi của toàn quần thể
Hàm thích nghi được xây dựng như sau:
Trang 23Xét lời giải P có n cac thể, với mỗi cá thể h iP, tính độ thích nghi Fitness(h i)
Xác suất chọn cá thể h i để tái sản xuất được xác định bởi công thức:
h Fitness
h Fitness h
1
Pr
Việc thực hiện lựa chọn chuỗi con trong tái tạo được thực hiện như sau:
- Đánh số các cá thể trong quần thể, tính tổng hộ thích nghi sumfitness của toàn quần thể đồng thời ứng với mỗi cá thể, tính một tổng chạy bằng tổng
độ thích nghi của cá thể đó và các cá thể đứng trước đó
- Sinh một số ngẫu nhiên n trong khoảng 0 đến tổng mức thích nghi sumfitness
Cá thể đầu tiên trong quần thể có tổng chạy lớn hơn hoặc bằng n sẽ được chọn
Trang 2416,6 50,3
8,6
1 2 3 4
Hình 1.9: Sự sinh sản đơn giản phân bố các chuỗi con cháu nhờ sử dụng bánh xe Roulette với các khe hở tỷ lệ với độ thích nghi
1.2.3.2 Lai ghép
Các cá thể trong quần thể sau khi đã tái tạo được chọn lai ghép với nhau Toán tử lai ghép được coi là toán tử di truyền quan trọng nhất, nó kết hợp với đặc trưng của các cá thể bố mẹ để tạo ra hai cá thể con bằng cách tráo đổi các đoạn gien tương ứng trên hai cá thể cha mẹ
Phép lai ghép chọn nhẫu nhiên hai chuỗi bất kỳ trong quần thể sau khi
đã thực hiện tái tạo, đồng thời sinh một số ngẫu nhiên, nếu nhỏ hơn xác suất lai ghép pc thì thực hiện lai ghép, ngược lại chỉ thực hiện sao chép đơn giản 2 chuỗi vào quần thể mới Phép lai ghép 2 chuỗi thực hiện trao đổi 2 đoạn mã cho nhau, rồi đưa hai chuỗi kết quả vào một quần thể mới Vì lực lượng của quẩn thể là không thay đổi, do đó ở mỗi thế hệ tiến hóa, chỉ tiến hành lai ghép cho tới khi nào quần thể mới đủ số số chuỗi thì dừng Vị trí trao đổi khi lai ghép được chọn ngẫu nhiên trong khoảng [1, L-1], với L là độ dài của chuỗi
Ví dụ: Giả sử chúng ta có hai chuỗi bố và mẹ
Trang 25Các toán tử đột biến nhằm tạo ra những thông tin mới trong quần thể đem lai tạo tại các vị trí bit (gen) nào đó (quần thể mà ta xem xét ở đây có popsize cac thể, mỗi cá thể được biểu thị qua L bit/gen) Đột biến được áp dụng với xác suất pmn Số lượng bit đột biến là pmn * L* popsize bit Mỗi bit
có cơ hội đột biến như nhau Toán tử này có thể được xử lý như sau:
Với mỗi nhiễm sắc thể trong quần thể và mỗi bít trong nhiễm sắc thế:
- Phát sinh một số ngẫu nhiên r trong miền [0;1]
- Nếu r<pmn, tiến hành đột biến tại bit đó
Các thao tác xử lý này được áp dụng lặp lại cho tời khi các cá thể con, cháu của chúng tăng trưởng tới kích cỡ mong muốn của quần thể
Ví dụ: Hai bít thứ 1 va thứ 6 được đột biến
Bảng 1.2: Ví dụ dùng phép đột biến
1.2.3.4 Sơ đồ giải thuật di truyền
Giải thuật di truyền bao gồm những bước sau:
1 Khởi tạo quần thể ban đầu của các chuỗi nhiễm sắc thể
2 Xác định giá trị hàm mục tiêu cho mỗi một chuỗi nhiễm sắc thể
3 Tạo các chuỗi nhiễm sắc thể mới bằng sinh sản từ các chuỗi nhiễm sắc thể
Trang 264 Xác định hàm mục tiêu cho các chuỗi nhiễm sắc thể mới và đưa nó vào trong một quần thể mới
5 Nếu điều kiện dùng đã thỏa mãn thì dừng lại và trả về chuỗi nhiễm sắc thể tốt nhất cùng với giá trị hàm mục tiêu của nó, nếu không thì quay về bước
Lưu đồ thuật toán:
Hình 1.10: Sơ đồ giải thuật di truyền
Kết luận: Chương I đã đưa ra các khái niệm cơ bản về giải thuật di
truyền và mạng nơ ron nhân tạo Chi tiết hơn là cách biểu diễn lời giải, các toán tử di truyền cơ bản, những cải tiến về kỹ thuật di truyền Đồng thời là những vấn đề về cấu trúc mạng, các tham số, xây dựng giải thuật học và lan truyền trong mạng nơ ron
Tạo quần thể ban đầu của các chuỗi nhiễm sắc thể
Xác định giá trị hàm mục tiêu của các chuỗi nhiễm sắc thể
Tạo các chuỗi nhiễm sắc thể bằng sách sinh sản từ các chuỗi nhiễm sắc thể hiện
Trang 27CHƯƠNG II: MẠNG NƠ RON TRUYỀN THẲNG HUẤN LUYỆN BẰNG THUẬT TOÁN LAI GA-BP
2.1 Mạng nơron truyền thẳng nhiều lớp
2.1.1 Kiến trúc mạng nơron truyền thẳng nhiều lớp
Để đơn giản và tránh hiểu nhầm, mạng truyền thẳng xét trong chương này là các mạng truyền thẳng có nhiều lớp Kiến trúc mạng truyền thẳng nhiều lớp (Multi-layer Feed Forward (MLFF)) là kiến trúc chủ đạo của các mạng nơron hiện tại Mặc dù có khá nhiều biến thể nhưng đặc trưng của kiến trúc này đó là cấu trúc và thuật toán học là đơn giản và nhanh(Masters 1993) Một mạng truyền thẳng nhiều lớp bao gồm một số lớp: một lớp vào, một lớp ra và một hoặc nhiều các lớp ẩn Các nơron đầu vào thực chất không phải các nơron theo đúng nghĩa, bởi lẽ chúng không thực hiện bất kỳ một tính toán nào trên dữ liệu vào! Các nơron ở lớp ẩn và lớp ra mới thực sự thực hiện các tính toán, kết quả được định dạng bởi hàm đầu ra (hàm chuyển) Cụm từ
“truyền thẳng” (feed forward) (không phải là trái nghĩa của lan truyền ngược) liên quan đến một thực tế là tất cả các nơron chỉ có thể được kết nối với nhau theo một hướng tới một hay nhiều các nơron khác trong lớp kế tiếp (loại trừ các nơron ở lớp ra)
Hình 2.1: Mạng nơron truyền thẳng nhiều lớp
Trang 28Trong đó:
P: Vector đầu vào (Vector cột)
Wi: Ma trận trọng số của các nơron lớp thứ i (SxR - S hàng (nơron) - R cột)
bi: Vector độ lệch (bias) của lớp thứ i (Sx1 – Cho S nơron)
ni: net input (Sx1)
fi: Hàm chuyển (hàm kích hoạt) – Transfer function (Activation function)
ai: net output (Sx1)
: Hàm tổng thông thường (SUM)
Mỗi liên kết gắn với một trọng số, trọng số này được thêm vào trong quá trình tín hiệu đi qua liên kết đó Các trọng số có thể dương, kích thích, hay âm, kiềm chế Mỗi nơron tính toán mức kích hoạt của chúng bằng cách cộng tổng các đầu vào và đưa ra hàm chuyển (hàm kích hoạt) Một khi đầu ra của tất cả các nơron trong một lớp mạng cụ thể đã thực hiện tính toán thì lớp
kế tiếp có thể bắt đầu thực hiện tính toán của mình bởi vì đầu ra của lớp hiện tại tạo ra đầu vào của lớp kế tiếp Khi tất cả các nơron đã thực hiện xử lý thì các nơron đầu ra thể hiện kết quả của chúng Tuy nhiên, có thể là chưa đúng yêu cầu, khi đó một thuật toán học cần được áp dụng để điều chỉnh các tham
số của mạng
2.1.2 Khả năng thể hiện
Các mạng truyền thẳng cho ta một kiến trúc tổng quát thể hiện khả năng ánh xạ hàm phi tuyến tính giữa một tập các biến đầu vào và tập các đầu
ra Khả năng thể hiện của một mạng có thể được định nghĩa là khoảng mà nó
có thể thực hiện ánh xạ khi mà các trọng số biến thiên Theo Neural Networks
for Pattern Recognition:
1) Các mạng một lớp chỉ có khả năng thể hiện các hàm khả phân tuyến tính hay các miền phân chia được
Trang 292) Các mạng có 2 lớp ẩn có khả năng thể hiện một đường biên phân chia tùy ý với một độ chính xác bất kỳ với các hàm chuyển phân ngưỡng và
có thể xấp xỉ bất kỳ ánh xạ mịn nào với độ chính xác bất kỳ với các hàm chuyển có dạng sigmoid
3) Một mạng có một lớp ẩn có thể xấp xỉ tốt bất kỳ một ánh xạ hàm liên tục nào từ một không gian hữu hạn sang một không gian hữu hạn khác, chỉ cần cung cấp số nơron đủ lớn cho lớp ẩn Chính xác hơn, các mạng truyền thẳng với một lớp ẩn được luyện bởi các phương pháp bình phương tối thiểu (least-squares) là các bộ xấp xỉ chính xác cho các hàm hồi quy nếu như các giả thiết về các mẫu, độ nhiễu, số đơn vị trong lớp ẩn và các nhân tố khác thỏa mãn Các mạng nơron truyền thẳng với một lớp ẩn sử dụng các hàm chuyển hay hàm phân ngưỡng là các bộ xấp xỉ đa năng cho bài toán phân lớp nhị phân với các giả thiết tương tự
2.1.3 Vấn đề thiết kế cấu trúc mạng
Mặc dù, về mặt lý thuyết thì hoàn toàn có thể tồn tại một mạng có thể
mô phỏng một bài toán với độ chính xác bất kỳ, tuy nhiên, để có thể tìm ra mạng này không phải là điều đơn giản [7] Để định nghĩa chính xác một kiến trúc mạng như là: cần sử dụng bao nhiêu lớp ẩn, mỗi lớp ẩn cần có bao nhiêu đơn vị xử lý cho một bài toán cụ thể là một công việc hết sức khó khăn
Sau đây là một số vấn đề cần quan tâm khi ta thiết kế một mạng
2.1.3.1 Số lớp ẩn
Bởi vì các mạng có hai lớp ẩn có thể thể hiện các hàm với dáng điệu bất kỳ, do vậy, về lý thuyết, không có lý do nào sử dụng các mạng có nhiều hơn 2 lớp ẩn Người ta đã xác định rằng đối với phần lớn các bài toán cụ thể, chỉ cần sử dụng một lớp ẩn cho mạng Các bài toán sử dụng 2 lớp ẩn hiếm khi xảy ra trong thực tế Thậm chí đối với các bài toán cần sử dụng nhiều hơn một lớp ẩn theo lý thuyết thì trong phần lớn các trường hợp, sử dụng chỉ một lớp
ẩn cho ta hiệu năng tốt hơn là sử dụng nhiều hơn một lớp trong thực tế Việc
Trang 30luyện mạng thường rất chậm khi mà số lớp ẩn sử dụng càng nhiều Lý do để
sử dụng càng ít các lớp ẩn càng tốt trong thực tế:
1) Phần lớn các thuật toán luyện mạng cho các mạng nơron truyền thẳng là dựa trên phương pháp gradient Các lớp thêm vào sẽ thêm việc phải lan truyền các lỗi làm cho vector gradient rất không ổn định Sự thành công của bất kỳ một thuật toán tối ưu theo gradient phụ thuộc vào độ không thay đổi của hướng khi mà các tham số thay đổi
2) Số các cực trị địa phương tăng lên rất lớn khi có nhiều lớp ẩn Phần lớn các thuật toán tối ưu dựa trên gradient chỉ có thể tìm ra các cực trị địa phương, do vậy chúng không thể tìm ra cực trị toàn cục Mặc dù thuật toán luyện mạng có thể tìm ra cực trị toàn cục, nhưng xác suất khá cao là chúng ta
sẽ bị tắc trong một cực trị địa phương sau rất nhiều thời gian lặp và khi đó, ta phải bắt đầu lại
3) Dĩ nhiên, có thể đối với một bài toán cụ thể, sử dụng nhiều hơn một lớp ẩn với chỉ một vài đơn vị thì tốt hơn là sử dụng ít lớp ẩn với số đơn vị là lớn, đặc bíêt đối với các mạng cần phải học các hàm không liên tục Về tổng thể, người ta khuyên rằng nên xem xét khả năng sử dụng mạng có một lớp ẩn đầu tiên trong khi thiết kế các mạng truyền thẳng trong thực tế Nếu dùng một lớp ẩn với một số lượng lớn các đơn vị mà không có hiệu quả thì nên sử dụng thêm một lớp ẩn với một số ít các đơn vị
2.1.3.2 Số đơn vị trong lớp ẩn
Một vấn đề quan trọng trong việc thiết kế một mạng là cần có bao nhiêu đơn vị trong mỗi một lớp Sử dụng quá ít đơn vị có thể dẫn đến không thể nhận dạng được các tín hiệu đầy đủ trong một tập dữ liệu phức
tạp, hay thiếu ăn khớp (underfitting) Sử dụng quá nhiều đơn vị sẽ tăng thời
gian luyện mạng, có lẽ là quá nhiều để luyện khi mà không thể luyện mạng trong một khoảng thời gian hợp lý Số lượng lớn các đơn vị có thể dẫn đến
tình trạng thừa ăn khớp(overfitting), trong trường hợp này mạng có quá
Trang 31nhiều thông tin, lượng thông tin trong tập dữ liệu mẫu (training set) là không đủ để luyện mạng
Số lượng tốt nhất của các đơn vị ẩn phụ thuộc vào rất nhiều yếu tố - số đầu vào, đầu ra của mạng, Số trường hợp trong tập mẫu, độ nhiễu của dữ liệu đích, độ phức tạp của hàm lỗi, kiến trúc mạng, và thuật toán luyện mạng
Có rất nhiều “luật” để lựa chọn số đơn vị trong các lớp ẩn[1] [5]:
m [ n l, ] - nằm giữa khoảng kích thước lớp vào, lớp ra
3
) (
2 l n
m - 2/3 tổng kích thước lớp vào và lớp ra
m 2l- nhỏ hơn 2 lần kích thước lớp vào
m ln- căn bậc hai của tích kich thước lớp vào, lớp ra
Các luật này chỉ có thể được xem xét như là các lựa chọn thô khi chọn lựa kích thước của các lớp Chúng không phản ánh được thực tế bởi lẽ chúng chỉ xem xét đến nhân tố kích thước đầu vào, đầu ra mà bỏ qua các nhân
tố quan trọng khác như: số trường hợp đưa vào huấn luyện, độ nhiễu ở các đầu ra mong muốn, độ phức tạp của hàm lỗi, kiến trúc của mạng (truyền thẳng hay hồi quy), và thuật toán học [5]
Trong phần lớn các trường hợp, không có một cách để có thể dễ dàng xác định được số tối ưu của các đơn vị trong lớp ẩn mà không phải luyện mạng sử dụng số các đơn vị trong lớp ẩn khác nhau và dự đoán lỗi tổng quát
hóa của từng lựa chọn Cách tốt nhất là sử dụng phương pháp thử-sai and-error) Trong thực tế, chúng ta có thể sử dụng phương pháp Lựa chọn tiến (forward selection) hay Lựa chọn lùi (backward selection) để xác định số đơn
(trial-vị trong lớp ẩn
Lựa chọn tiến bắt đầu với việc chọn một luật hợp lý cho việc đánh giá hiệu năng của mạng Sau đó, ta chọn một số nhỏ của các đơn vị ẩn, luyện và thử mạng; ghi lại hiệu năng của mạng Sau đó, tăng một chút số đơn vị ẩn;
Trang 32luyện và thử lại cho đến khi lỗi là chấp nhận được, hoặc không có tiến triển đáng kể so với trước
Lựa chọn lùi, ngược với lựa chọn tiến, bắt đầu với một số lớn các đơn
vị trong lớp ẩn, sau đó giảm dần đi Quá trình này rất tốn thời gian nhưng sẽ giúp ta tìm được số lượng đơn vị phù hợp cho lớp ẩn
2.2 Thuật toán lan truyền ngược (Back-Propagation)
Thuật toán lan truyền ngược là dạng tổng quát của thuật toán Bình phương lỗi nhỏ nhất (Least Means Square -LMS) [10] Thuật toán LMS thuộc dạng thuật toán xấp xỉ để tìm các điểm mà tại đó, hiệu năng của mạng là tối
ưu Chỉ số tối ưu (performance index) thường được xác định bởi một hàm số của ma trận trọng số và các đầu vào nào đó mà trong quá trình tìm hiểu bài toán đặt ra
2.2.1 Mô tả thuật toán
Giải thuật sử dụng dạng tổng quát của mạng nơron truyền thẳng nhiều lớp như trong hình vẽ của phần trước Khi đó, đầu ra của một lớp trở thành đầu vào của lớp kế tiếp Phương trình thể hiện hoạt động này như sau:
am+1 = fm+1 (Wm+1am + bm+1 ) với m = 0, 1, , M – 1,
trong đó:
M là số lớp trong mạng
Các nơron trong lớp thứ nhất nhận các tín hiệu từ bên ngoài: a0 = p,
chính là điểm bắt đầu của phương trình phía trên Đầu ra của lớp cuối cùng được xem là đầu ra của mạng: a = aM
2.2.1.1 Chỉ số hiệu năng (performance index)
Thuật toán lan truyền ngược sử dụng chỉ số hiệu năng là trung bình bình phương lỗi Đầu vào của thuật toán chính là tập các bộ đôi mô tả hoạt động đúng của mạng:
{(p1, t1), (p2, t2), , (pQ, tQ)},
Trang 33trong đó pi là một đầu vào và ti là đầu ra mong muốn tương ứng Mỗi đầu vào đưa vào mạng, đầu ra của mạng đối với nó được đem so sánh với đầu
ra mong muốn Thuật toán sẽ điều chỉnh các tham số của mạng để tối thiểu hóa trung bình bình phương lỗi:
F(x) = E[e 2 ] = E[(t - a)2] , trong đó x là vector tạo thành bởi các trọng số và độ lệch Nếu như mạng có nhiều đầu ra, ta có thể viết lại phương trình trên ở dạng ma trận:
F(x) = E[e T e] = E[(t - a) T(t - a)]
Tương tự như thuật toán LMS, xấp xỉ của trung bình bình phương lỗi như sau:
(k) (k) (k) (k) (k) (k),
F x t a T t a eT e
trong đó kỳ vọng toán học của bình phương lỗi được thay bởi bình
phương lỗi tại bước k
Thuật toán giảm nhanh nhất cho trung bình bình phương lỗi xấp xỉ là:
) ( , 1
, ,
m i m
i
m j
m j m
j
b
F k
b k
b
w
F k
w k
w
trong đó là hệ số học
Vậy ta thấy rằng mọi chuyện đều giống như thuật toán LMS, sau đây ta
sẽ đi vào phần khó nhất của thuật toán: tính các đạo hàm từng phần
2.2.1.2 Luật xích (Chain Rule)
Với mạng nơron truyền thẳng nhiều lớp, lỗi không phải là một hàm của chỉ các trọng số trong các lớp ẩn, nên việc tính các đạo hàm từng phần này là không phải là đơn giản Chính vì lý do đó, ta phải sử dụng luật xích để tính
Luật này được mô tả như sau: giả sử ta có một hàm f là một hàm của biến n,
Trang 34ta muốn tính đạo hàm của f có liên quan đến một biến w khác Luật xích này
n df dw
w n df
m i
m i m i m i
m j
m i m i m j
b
n x n
F b
F
w
n x n
F w
trong đó hạng thức thứ 2 của các phương trình trên có thể dễ dàng tính
toán bởi vì đầu vào của mạng tới lớp m là một hàm của trọng số và độ lệch:
m i m j m j m
n
trong đó S m-1 là số đầu ra của lớp (m – 1) Do vậy ta có:
1 ,
1 ,
m i m j m j
m i
b
n a w n
Ký hiệu:
m i
m i
n
F s
,
m i m i
m i m i m i
m j m i m j
m i m i m j
s b
n x n
F b
F
a s w
n x n
F w
i
m j m i m
j m
j
s k b k
b
a s k w k
Trang 35k k
k k
s b
b
a s W
m 2
m 1
m m i
m F F
F
F
n n
n
n s
2.2.1.3 Lan truyền ngược độ nhạy cảm
Bây giờ ta cần tính ma trận độ nhậy cảm sm Để thực hiện điều này cần
sử dụng một áp dụng khác của luật xích [9] Quá trình này cho ta khái niệm
về sự “lan truyền ngược” bởi vì nó mô tả mối quan hệ hồi quy trong đó độ
nhậy cảm sm được tính qua độ nhậy cảm sm+1 của lớp m + 1
Để dẫn đến quan hệ đó, ta sử dụng ma trận Jacobian sau:
m S m
m S m
m S
m S
m m
m m
m
m S
m m
m m
m
m m
m
m m
m
m m
n
n n
n n
n
n
n n
n n
n
n
n n
n n
n
n n
1 2
1 1
1
1 2 2
1 2 1
1 2
1 1 2
1 1 1
1 1 1
1 1
j
m j m m j
m j
m i m j m
j
S l
m i m i m l m
j
m i
n f w n
n f w
n
a w n
b a w n
,
1 , 1
1 1
, 1
trong đó:
Trang 36 m
j
m j m m
j m
n
n f n f
m
n F W n
m m m m
m m
m n f
n f
n f
0 0
0 0
2 1
n F
Viết lại quan hệ hồi quy cho độ nhậy cảm dưới dạng ma trận:
1 1
1 1
m T m m m m
T m m m
s W n F
n W
n F n
n
n n
s
Đến đây ta có thể thấy độ nhậy cảm được lan truyền ngược qua mạng
từ lớp cuối cùng trở về lớp đầu tiên:
sMsM - 1 s1 Cần nhấn mạnh rằng ở đây thuật toán lan truyền ngược lỗi sử dụng cùng một kỹ thuật giảm nhanh nhất xấp xỉ như thuật toán LMS Sự phức tạp duy nhất đó là để tính gradient ta cần phải lan truyền ngược độ nhậy cảm từ các lớp sau về các lớp trước như đã nêu trên
Bây giờ ta cần biết điểm bắt đầu lan truyền ngược, xét độ nhậy cảm sM
tại lớp cuối cùng:
M i
i i i M
i
S l
l l M
i
T M
i
M i
n
a a t n
a t n
a t a t n
F s