1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga

72 640 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 0,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

• 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 1

MỤ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 2

2.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 3

DANH 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 4

DANH 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 5

DANH 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 6

MỞ ĐẦ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 7

trong 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 8

cơ 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 9

CHƯƠ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 10

Nă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 11

cá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 12

Dự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 13

mộ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 17

Hì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 18

Giả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 19

P 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 20

5 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 21

1.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 22

1.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 23

Xé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 24

16,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 25

Cá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 26

4 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 27

CHƯƠ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 28

Trong đó:

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 29

2) 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 30

luyệ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 31

nhiề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

mln- 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 32

luyệ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 33

trong đó 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 xta T taeT 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 34

ta 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 35

k 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:

sMsM - 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

Ngày đăng: 13/12/2016, 09:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đ. M. Tường, Trí tuệ nhân tạo, NXB Khoa học và Kỹ thuật, 2002 Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo
Nhà XB: NXB Khoa học và Kỹ thuật
[2] TS Nguyễn Tân Ân (2011), Bài giảng mạng noron nhân tạo, Trường Đại học Sư phạm Hà Nội, Hà NộiTài liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Bài giảng mạng noron nhân tạo", Trường Đại học Sư phạm Hà Nội, Hà Nội
Tác giả: TS Nguyễn Tân Ân
Năm: 2011
[4] Goldberg D. E., (1989), Genetic algorithm in search, optimization and machine learning, Addison-Wesley, Reading, Massachusets Sách, tạp chí
Tiêu đề: Genetic algorithm in search, optimization and machine learning
Tác giả: Goldberg D. E
Năm: 1989
[5] Gero J. S., Kazakov V. a., and Schinier T., (1997), “Genetic engineering and design problems”, In Evolutionary Algorithms in Engineering Applications, pages 47-68. Springer-Verlag Sách, tạp chí
Tiêu đề: Genetic engineering and design problems”, "In Evolutionary Algorithms in Engineering Applications
Tác giả: Gero J. S., Kazakov V. a., and Schinier T
Năm: 1997
[6] Haykin, S., Neural networks, a comprehensive foundation, Macmillan New York, Ny 1994 Sách, tạp chí
Tiêu đề: Neural networks, a comprehensive foundation
[7] Hagan M. T., Demuth H. B., Beale M., Neural networks design, PWS Publishing Company, Boston, Ma, 1996 Sách, tạp chí
Tiêu đề: Neural networks design
[8] Holland, J.H. (1975), Adaptation in natural and artificial systems. The University of Michigan Press Sách, tạp chí
Tiêu đề: Adaptation in natural and artificial systems
Tác giả: Holland, J.H
Năm: 1975
[9] Kolen J. F., Pollack J. B., Back Propagation is Sensitive to Initial Condition, Technical Report, Laboratory for artificial intelligence Research- The ohio State university Sách, tạp chí
Tiêu đề: Technical Report
[10] Lawrence S., C. L. Giles, a. C. Tsoj, What size Neural Netwwork Gives optimal Generalization? Convergence Properties of Backpropagation, Technical Report, Institute for Advanced Computer Studies - University of Maryland College Park, June 1996 Sách, tạp chí
Tiêu đề: Technical Report
[11]. Ooyen A. V., Nienhuis B., Improving the Convergence of the Back-Propagation Algorithm, Neural Networks, Vol. 5, pp. 465-471, 1992 Sách, tạp chí
Tiêu đề: Neural Networks
[13]. Takashi O., Next day’s peak load forecasting using an artificial neural network, IEEE 0-7803-1217-1/93, pp 284-289, 1993 Sách, tạp chí
Tiêu đề: IEEE 0-7803-1217-1/93
[14]. UdoSeiffert, Michaelis B., On the gradient descent in back- propagation and its substitution by a genetic algorithm, Proceedings of the IASTED International Conference Applied informatics 14-17/02/2000, InnsBruck, Austria Sách, tạp chí
Tiêu đề: Proceedings of the IASTED International Conference Applied informatics 14-17/02/2000
[15]. Vogl. P. T., Mangis J. K., Zigler A. K., Zink W. T. and Alkon D. L., “Accelerating the convergence of the back-propagation method”, Biological Cybernetics, vol.59, pp 256-264, 09/1988 Sách, tạp chí
Tiêu đề: Accelerating the convergence of the back-propagation method”, "Biological Cybernetics
[3] Adam Marczyk, (2004) Genetic Algorithms and Evolutionary Computation Khác
[12]. Poh, H. L., Yao, J. T., &amp; Jašic T., Neural Networks for the Analysis and Forecasting of Advertising and Promotion impact - International Journal of intelligent Systems in accounting, Finance &amp Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Mô hình của một nơron nhân tạo - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 1.2 Mô hình của một nơron nhân tạo (Trang 12)
Hình 1.7: Sơ đồ học tăng cường - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 1.7 Sơ đồ học tăng cường (Trang 17)
Hình 1.10: Sơ đồ giải thuật di truyền - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 1.10 Sơ đồ giải thuật di truyền (Trang 26)
Hình 2.1: Mạng nơron truyền thẳng nhiều lớp - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 2.1 Mạng nơron truyền thẳng nhiều lớp (Trang 27)
Hình 2.3: Giảm kích thước của tần số của sự không chắc chắn. - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 2.3 Giảm kích thước của tần số của sự không chắc chắn (Trang 41)
Bảng 3.1: Dữ liệu đầu vào - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Bảng 3.1 Dữ liệu đầu vào (Trang 57)
Bảng 3.2: Dữ liệu theo khuôn dạng được mã hóa - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Bảng 3.2 Dữ liệu theo khuôn dạng được mã hóa (Trang 59)
Hình 3.2. Kiến trúc mạng nơ ron trong bài toán ứng dụng - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.2. Kiến trúc mạng nơ ron trong bài toán ứng dụng (Trang 60)
Hình 3.4: Tệp dữ liệu đã mã hóa - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.4 Tệp dữ liệu đã mã hóa (Trang 65)
Hình 3.5: Nhập tham số cấu trúc mạng - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.5 Nhập tham số cấu trúc mạng (Trang 66)
Hình 3.6: Nhập các tham số của giải thuật di truyền  Tìm kiếm bằng giải thuật di truyền - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.6 Nhập các tham số của giải thuật di truyền Tìm kiếm bằng giải thuật di truyền (Trang 67)
Hình 3.7: Tìm kiếm bằng giải thuật di truyền - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.7 Tìm kiếm bằng giải thuật di truyền (Trang 67)
Đồ thị dưới đây mô tả một chu kỳ luyện đối với một cá thể. - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
th ị dưới đây mô tả một chu kỳ luyện đối với một cá thể (Trang 68)
Hình 3.8b: Huấn luyện bằng giải thuật BP - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.8b Huấn luyện bằng giải thuật BP (Trang 69)
Hình 3.9. Dự báo dữ liệu  Kết  luận:  Chương  III  giới  thiệu  bài  toán dự  báo  khí  ga  thực  hiện  các - Mạng nơ ron truyền thẳng huấn luyện bằng thuật toán lai GA BP và ứng dụng trong bài toán dự báo khí ga
Hình 3.9. Dự báo dữ liệu Kết luận: Chương III giới thiệu bài toán dự báo khí ga thực hiện các (Trang 69)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w