Quá trình học

Một phần của tài liệu Ứng dụng mạng nơron nhân tạo dự báo đồ thị phụ tải ngắn hạn hệ thống (Trang 33)

Khái niệm học là rõ ràng và trực quan đối với con người hoặc các động vật: học là một quy trình nhận thức mà phải đảm bảo rằng các nhận thức một cách riêng rẽ, tự chủ, một nhiệm vụ cụ thể. Đối với một ANN, quá trình học có thể được coi là vấn đề cập nhật trọng số của các kết nối trong mạng, để thực hiện thành công nhiệm vụ được yêu cầu. Học là đặc trưng chính của ANN và nó có thể được thực hiện bằng nhiều cách khác nhau và tùy theo các quy trình khác nhau, học có thể được chia thành 2 loại:

a. Học có giám sát

Trong loại hình học này, mạng nơron được làm thích nghi bằng cách so sánh giữa kết quả tính toán dựa trên các đầu vào đã cho, và đáp số dự kiến ở đầu ra. Vì thế mạng sẽ thay đổi cho đến khi nó tìm được đầu ra đúng, tức là có thể nói đầu ra dự kiến tương ứng với một đầu vào đã cho.

- 34 -

Trong loại này, quá trình học được dựa trên các xác suất. Mạng sẽ được thay đổi trạng thái thống kê đều đặn và thiết lập các mục loại, bằng cách quy định và làm tối ưu hóa giá trị chất lượng, các mục loại được chấp nhận. Các phương pháp học có giám sát được sử dụng rộng rãi. Tuy nhiên, các loại khác của các mạng nơron có thể có được bằng các kỹ thuật học không có giám sát. Đôi khi, để nhận dạng các đặc tính nào đó trong một nhóm dữ liệu, một trong số các mạng không giám sát có thể được dùng. Có nhiều cấu trúc khác nhau của mạng nơron mà hiệu quả của mạng nhiều hay ít tùy thuộc vào ứng dụng được dự định. Hầu hết các phân loại đã được công nhận phân biệt giữa các mạng truyền thẳng (feed- forward) và các mạng phản hồi (feed- back) cũng còn được gọi là các “mạng hồi quy”. Trong mô hình này, trong một lớp, mỗi nơron được nối vào tất cả các nơron của lớp trước và lớp sau (trừ các lớp vào và ra) và không có kết nối giữa các nơron trong cùng một lớp. Các hàm kích hoạt dùng trong loại mạng này chủ yếu là các hàm ngưỡng hoặc hàm 2 chấm (colon).

1.2.2.3 Mạng lan truyền ngược

Mạng lan truyền ngược được thiết kế như thế nào để nó làm việc như một mạng nhiều lớp, lan truyền về phía trước, bằng cách sử dụng chức năng học có giám sát. Phương pháp này được đặc trưng bởi quá trình học. Quá trình này được thực hiện bởi việc huấn luyện được điều khiển bằng một tác nhân ngoài mà sẽ xác định đầu ra của mạng trước khi xác định đầu vào. Các mạng lan truyền ngược có khả năng tự làm thích ứng với các trọng số của nơron trong các lớp trung gian để nắm bắt các mối quan hệ giữa tập hợp các thông tin quen thuộc của đầu vào (patrons of entry) và sự truyền đi tương ứng của nó. Khi hoạt động, chúng có khả năng khái quát hóa (cung cấp các outing thỏa mãn các đầu vào mà hệ thống đã từng nhận thấy trong giai đoạn huấn luyện). Một cấu trúc đơn giản của kết cấu mạng nhiều lớp lan truyền ngược được trình bày trong Hình 1.13 dưới đây.

- 35 -

Hình 1.13: Cấu trúc của mạng lan truyền ngược

Kết luận chƣơng 1: Qua những phân tích trong chương 1 ta có thể thấy được tầm

quan trọng của việc dự báo phụ tải, các loại dự báo phụ tải và các yếu tố ảnh hưởng đến đồ thị phụ tải ngày. Có nhiều phương pháp dự báo phụ tải và phương pháp sử dụng mạng nơron nhân tạo để dự báo là một phương pháp mới đang được nghiên cứu phát triển. Mạng nơron nhân tạo được ứng dụng ở nhiều lĩnh vực khác nhau đặc biệt trong các bài toán dự báo nhờ tính linh hoạt và khả năng tự học của mạng. Việc áp dụng cụ thể mạng nơ ron nhân tạo cho việc dự báo phụ tải ngắn hạn sẽ được trình bày trong chương 2.

Lớp đầu vào

Lớp ẩn

- 36 -

CHƢƠNG 2 : ỨNG DỤNG MẠNG NƠRON NHIỀU LỚP LAN TRUYỀN NGƢỢC SAI SỐ TRONG DỰ BÁO ĐỒ THỊ PHỤ TẢI NGÀY Nội dung chƣơng 2:

- Các khái niệm cơ bản về mạng nơron nhiều lớp lan truyền sai số ngƣợc. - Xây dựng mô hình mạng cho bài toán dự báo đồ thị phụ tải ngày.

- Sử dụng các công cụ trong phần mềm Matlab mô phỏng mạng nơron nhiều lớp lan truyền sai số ngƣợc.

2.1 CÁC KHÁI NIỆM CƠ BẢN VỀ MẠNG NƠRON NHIỀU LỚP LAN

TRUYỀN NGƢỢC SAI SỐ (BACK PROPAGATION NEURAL NETWORK).

Rosenblatt và các tác giả khác cũng đã miêu tả các mạng truyền thẳng nhiều lớp từ cuối những năm 50, nhưng họ chủ yếu nghiên cứu sâu về mạng Perceptron m lớp. Sở dĩ như vậy là do không tìm được cách thay đổi trọng số liên lạc tại các lớp ẩn. Quả thật, ngay cả khi đã biết được sai số tại đầu ra, người ta vẫn chưa hình dung được các sai số đó được phân bố như thế nào tại các nơron ẩn. Trong cuốn sách về mạng Perceptron xuất bản năm 1969, Minsky và Paprt đã chỉ ra rằng khó có thể tổng quát hoá luật học đối với mạng m lớp sang mạng nhiều lớp. Có 2 lý giải chính cho vấn đề này, thứ nhất, thuật giải học của mạng nhiều lớp có thể không hiệu quả, hoặc không hội tụ về điểm cực trị tổng thể trong không gian véctơ trọng số. Mặt khác, các nghiên cứu trong lý thuyết tính toán đã chỉ ra rằng trong trường hợp tồi nhất quá trình học các hàm tổng quát từ mẫu học không phải lúc nào cũng giải quyết được. Các nguyên tắc cơ bản trong luật học đối với mạng nhiều lớp đã được Bryson và Ho đề xuất từ năm 1969, nhưng phải tới giữa năm 1980 vấn đề này mới được quan tâm trở lại bởi công trình nghiên cứu của Rumelhart năm 1986. Một thống kê cho thấy 90% ứng dụng mạng nơron trong công nghệ hoá học sử dụng mô hình này.

2.1.1 Cấu trúc mạng truyền thẳng.

Mạng truyền thẳng nhiều lớp bao gổm một lớp vào, một hoặc nhiều lớp ẩn và một lớp ra. Trong đó các nơron lớp thứ i được nối đầy đủ với các nơron lớp thứ i+1, các nơron trong cùng một lớp không liên kết với nhau. Các nơron đầu vào có nhiệm vụ tiếp nhận các dữ liệu đầu vào và chuyển cho lớp ẩn kế tiếp. Trong nhiều ứng dụng

- 37 -

thực tế, để đơn giản, người ta thường sử dụng mạng có một lớp ẩn, số nơron trong lớp ẩn được xác định dựa trên kinh nghiệm, hoặc dựa trên kỹ thuật tìm kiếm khác nhau.

• Lớp vào: Là các nơron nhận các biến đầu vào xi với i=1,2...n, n là số biến đầu

vào. Các nơron lớp vào nhận giá trị các biến đầu vào, dữ liệu của tất cả các nơron ở lớp đầu vào được tính toán rổi chuyển kết quả cho các nơron lớp ẩn

• Lớp ẩn: Bao gổm các nơron yj với j=1,2..m. Các nơron lớp ẩn nhận tín hiệu từ

nơron lớp vào qua bộ trọng số W1

• Lớp ra: Bao gổm các nơron đưa ra giá trị zk với k=1,2..l. Các nơron lớp ra

nhận tín hiệu từ nơron lớp ẩn qua bộ trọng số W2. Mỗi nơron đầu ra tương ứng với 1 biến đầu ra.

Trong mạng lan truyền ngược tín hiệu được lan truyền từ lớp vào đến lớp ra và mạng thực hiện ánh xạ để tính giá trị cho các biến đầu ra dựa vào các giá trị biến đầu vào. Ban đầu giá trị các biến vào được chuyển cho các nơron lớp vào của mạng, dữ liệu của tất cả các nơron ở lớp đầu vào được tính toán rổi chuyển kết quả cho các nơron lớp ẩn. Cuối cùng mỗi nút ẩn gửi kết quả đến tất cả các nơron ra. Giá trị của các nút đầu ra chính là giá trị của các biến đầu ra cần xác định.

2.1.2 Huấn luyện mạng

Khi trọng số và ngưỡng của mạng đã được khởi tạo, mạng đã sẵn sàng huấn luyện. Cách thức huấn luyện yêu cầu một tập các mẫu chỉ cách thức hoạt động của mạng gồm các cặp ngõ vào và ngõ ra. Hàm hiệu suất mặc định của mạng feedforward là trung bình bình phương sai số.

2.1.2.1 Thuật toán lan truyền ngược (Backpropagation)

Có nhiều thuật toán lan truyền ngược khác nhau. Cách thực hiện đơn giản nhất là cập nhật trọng số và ngưỡng trực tiếp sao cho hàm hiệu suất giảm nhanh nhất _ gradient có giá trị âm. Mỗi vòng lặp thuật toán được viết lại như sau:

xk+1 = xk - kgk

- 38 - gk: gradient hiện tại.

k : tốc độ học.

Có hai cách thực hiện gradient descent là chế độ incremental và chế độ batch. Trong chế độ incremental, gradient được tính và cập nhật trọng số sau mỗi ngõ vào đưa vào mạng. Trong chế độ batch, tất cả các ngõ vào đưa vào mạng trước khi cập nhật trọng số.

a. Huấn luyện incremental (ADAPT)

Trong chế độ incremental, việc huấn luyện mạng sử dụng hàm adapt. Có

nhiều thông số phải được thiết lập để hướng dẫn huấn luyện ở chế độ incremental. Đầu tiên, hàm net.adaptFcn xác định sử dụng loại hàm huấn luyện. Giá trị mặc

định là hàm adaptwb. Thông số xác định hàm học là net.biases{i,j}.learnFcn,

net.inputWeight{I,j}.learnFcn và net.layerweights{i,j}.learnFcn. Cuối cùng là

thông số xác định số lần huấn luyện net.adaptParam.passes.

b. Hàm gradient descent (LEARNGD)

Đối với thuật toán giảm gradient nhanh nhất, trọng số và ngưỡng di chuyển theo hướng gradient âm của hàm hiệu suất. Với thuật toán này, hàm học là

learngd. Hàm learngd có một thông số học là tốc độ học lr. Tốc độ học càng lớn,

thì bước nhảy càng lớn. Nếu tốc độ học quá lớn, thuật toán sẽ không ổn định. Nếu tốc độ học quá nhỏ, thuật toán sẽ hội tụ lâu.

c. Hàm gradient descent có quán tính (LEARNGD)

Bổ sung cho hàm learngd hội tụ nhanh hơn, mạng feedforward có thể sử

dụng thuật toán learndm _ giảm dốc nhất có quán tính. Quán tính cho phép mạng đáp ứng không chỉ với gradient cục bộ, mà còn theo hướng mới của mặt phẳng sai số. Hoạt động giống bộ lọc thông thấp, moment cho phép mạng bỏ qua các biểu hiện nhỏ trên mặt phẳng sai số.

Moment thay đổi trọng số bằng tổng một phần sự thay đổi trọng số cuối cùng và sự thay đổi mới nhất theo quy luật học backpropagation. Biên độ ảnh hưởng của độ thay đổi trọng số cuối cùng cho phép có là trung bình bằng một hằng số moment,

- 39 -

là số giữa (0,1). Khi moment bằng 0, trọng số thay đổi theo gradient. Khi moment bằng 1, trọng số thay đổi dựa trên sự thay đổi trọng số cũ và bỏ qua giá trị gradient.

d. Huấn luyện batch (TRAIN)

Ở chế độ này sử dụng hàm train, các trọng số và ngưỡng được cập nhật chỉ sau khi toàn bộ tập huấn luyện đã đi qua mạng. Gradient của mỗi mẫu huấn luyện được cộng dồn để xác định độ thay đổi của trọng số và ngưỡng.

e. Chế độ huấn luyện Batch gradient descent (TRAINGD)

Tương đương với hàm learngd trong chế độ này là traingd, thực hiện hàm

huấn luyện giảm dốc nhất chuẩn. Trọng số và ngưỡng được cập nhật theo chiều hướng gradient âm của hàm hiệu suất.

Có bảy thông số huấn luyện đối với hàm traingd là epochs, show, goal,

time, min_grad, max_fail và lr.

f. Chế độ huấn luyện Batch gradient descent với momentum

(TRAINGDM)

Thuật toán này tương đương với learngdm nhưng có hai điểm khác biệt.

Thứ nhất, gradient được tính bằng cách lấy tổng các gradient trong mỗi mẫu huấn luyện, trọng số và ngưỡng chỉ được cập nhật sau khi tất cả các mẫu huấn luyện đi qua mạng.

Thứ hai, nếu hàm hiệu suất mới với số vòng lặp cho trước vượt quá hàm hiệu suất của vòng lặp trước đó hơn max-perf-inc thì trọng số và ngưỡng mới sẽ bị hủy bỏ, hệ số moment cho bằng 0.

2.1.2.2 Huấn luyện nhanh

Phần trên chúng ta đã trình bày hai thuật toán huấn luyện backpropagation: gradient descent và gradient descent có quán tính. Hai phương pháp này ứng dụng trong thực tế khá chậm. Chúng ta sẽ khảo sát nhiều thuật toán có hiệu suất cao hội tụ nhanh từ 10 đến 100 lần so với các thuật toán đã khảo sát ở trên.

Các giải thuật nhanh chia làm 2 loại chính:

 Loại thứ nhất sử dụng kỹ thuật thử là kỹ thuật được mở rộng từ việc phân

- 40 -

thuật backpropagation tốc độ học thay đổi có hàm huấn luyện traingda; và giải thuật phục hồi mạng backpropagation với hàm huấn luyện trainrp.

 Loại thứ hai sử dụng kỹ thuật tối ưu hóa số chuẩn. Loại này có ba kỹ thuật tối

ưu hóa số dùng để huấn luyện mạng Neural Networks: conjugate gradient (traincgf, traincgb, traincgp, trainscg), quasi _ Newton (trainbfg, trainoss) và Levenberg _ Marquardt (trainlm).

a. Giải thuật tốc độ học thay đổi (TRAINDA,TRAINDX)

Trong giải thuật giảm dốc nhất chuẩn, tốc độ học được giữ cố định trong suốt thời gian huấn luyện. Hiệu suất giải thuật này rất nhạy với sự thay đổi của tốc độ học. Nếu tốc độ học quá lớn giải thuật sẽ bị dao động và không ổn định. Nếu tốc độ học quá nhỏ giải thuật sẽ tốn nhiều thời gian để hội tụ. Trong thực tế khó xác định tốc độ học tối ưu và tốc độ học tối ưu thay đổi trong suốt quá trình xử lý huấn luyện, khi giải thuật di chuyển trên mặt phẳng hiệu suất.

Hiệu suất của giải thuật giảm dốc nhất sẽ tăng nếu chúng ta cho phép tốc độ học thay đổi trong suốt quá trình xử lý huấn luyện. Tốc độ học thích ứng sẽ cố gắng giữ bước nhảy càng lớn càng tốt mà vẫn giữ việc học ổn định. Tốc độ học sẽ tương ứng với độ phức tạp của mặt phẳng sai số cục bộ. Tốc độ học thích ứng yêu cầu có một vài thay đổi trong xử lý huấn luyện khi gọi hàm traingd. Đầu tiên ngõ ra của mạng và sai số sẽ được tính. Ở mỗi epoch trọng số và ngưỡng mới được tính dựa trên tốc độ học hiện tại. Ngõ ra và sai số mới sau đó mới được tính.

Khi có quán tính, nếu tỉ số sai số mới và sai số cũ lớn hơn max-perf-inc (thường bàng 1,04) thì trọng số và ngưỡng mới sẽ bị hủy. Lúc này tốc độ học sẽ giảm (thường nhân với tỉ lệ lr_dec = 0,7 ). Ngược lại trọng số, ngưỡng mới v.v.. sẽ được giữ. Nếu sai số mới nhỏ hơn sai số cũ thì tốc độ học tăng (thường nhân với tỉ lệ lr_inc = 1,05).

Thủ tục này làm tăng tốc độ học, nhưng chỉ mở rộng đối với mạng học không làm tăng sai số lớn. Vì thế, tốc độ học gần tối ưu sẽ đạt được trong một vùng cục bộ. Khi tốc độ học lớn hơn có thể làm cho việc học ổn định thì tốc độ học sẽ tăng.

- 41 -

b. Giải thuật phục hồi mạng backpropagation (TRAINRP)

Mạng đa lớp thường sử dụng hàm truyền sigmoid trong các lớp ẩn. Những hàm này gọi là hàm nén, vì chúng nén vùng ngõ vào vô hạn thành vùng ngõ ra hữu hạn. Hàm sigmoid có đặc tính là độ dốc của hàm đạt zero khi ngõ vào có giá trị lớn. Đây chính là vấn đề được đề cập khi sử dụng giải thuật độ dốc lớn nhất để huấn luyện mạng đa lớp dùng hàm sigmoid, vì gradient có thể có biên độ rất nhỏ, và do đó trọng số và ngưỡng chỉ thay đổi nhỏ, cho dù trọng số và ngưỡng ở rất xa giá trị tối ưu.

Mục đích của thuật toán huấn luyện phục hồi mạng backpropagation là loại bỏ các hậu quả này về biên độ của các đạo hàm riêng phần. Chỉ sử dụng dấu của đạo hàm để xác định hướng cập nhật trọng số; biên độ của đạo hàm không ảnh hưởng đến việc cập nhật trọng số. Độ thay đổi trọng số dựa trên giá trị cập nhật riêng lẻ. Giá trị cập nhật của mỗi trọng số và ngưỡng tăng bởi hệ del-inc khi đạo hàm của hàm hiệu suất tại những trong số tức thời cùng dấu với 2 lần lặp tiếp theo. Giá trị cập nhật sẽ giảm bởi hệ số del-dec khi đạo hàm ứng với trọng số hiện tại đổi dấu so với lần lặp trước đó. Nếu đạo hàm bằng không thì giá trị cập nhật giữ

Một phần của tài liệu Ứng dụng mạng nơron nhân tạo dự báo đồ thị phụ tải ngắn hạn hệ thống (Trang 33)

Tải bản đầy đủ (PDF)

(135 trang)