Chương 1: Tổng quan ✓ Chương 2: Cơ sở lý thuyết ✓ Chương 3: Phương pháp sa thải phụ tải đề xuất ✓ Chương 4: Thực nghiệm trên sơ đồ hệ thống điện chuẩn IEEE 39-Bus ✓ Chương 5: Kết luận và hướng nghiên cứu phát triển. Tài liệu tham khảo Phụ lục HVTH: Nguyễn Công Anh Vũ 8 LUẬN VĂN THẠC SĨ GVHD: PGS.Quyền Huy Ánh Chương 2 CƠ SỞ LÝ THUYẾT 2. Giới thiệu Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN) đầu tiên được giới thiệu vào năm 1943 bởi nhà thần kinh học Warren McCulloch và nhà logic học Walter Pits với ý tưởng từ mạng thần kinh của sinh vật sống. Não người được hình thành từ các nơ-ron thần kinh liên kết với nhau tạo thành một hệ thống.
Mỗi tế bào nơ-ron bao gồm thân chưa nhân tế bào. Từ thân phát ra nhiều tua ngắn, phân nhánh gọi là sợi nhánh và một tua dài, có bao mi-ê-lin, gọi là sợi trục. Đầu mỗi sợi là các xi-náp dùng để liên kết các nơ-ron lại với nhau theo kiểu sợi trục của tế bào này sẽ nối vào sợi nhánh của tế bào khác và hình thành mạng nơ- ron thần kinh. Xung thần kinh được truyền từ một tế bào ra sợi trục của nó, đến sợi nhánh của tế bào thần kinh khác và cứ thế lan truyền.
Lấy ý tưởng từ mô hình trên, mạng nơ-ron nhân tạo ra đời với cấu trúc tương tự trong đó một nơ-ron là một khối tính toán gồm nhiều đầu vào (các sợi nhánh), một đầu ra (sợi trục) và một giá trị ngưỡng để cho phép tín hiệu có truyền qua nơ-ron này hay không. Các giá trị đầu vào sẽ được nhân với một bộ trọng số w và tính tổng các kết quả cùng với một hằng số phụ b (bias). Nếu tổng vượt giá trị ngưỡng thì đầu ra sẽ có giá trị thể hiện nơ-ron này đã được kích hoạt (thường là +1), ngược lại sẽ là giá trị chưa được kích hoạt (thường là -1). Các giá trị trọng số đầu vào của mỗi nơ-ron sẽ được điều chỉnh thông qua quá trình học để xây dựng được mạng nơ-ron phù hợp cho bài toán đang cần giải quyết.Cấu trúc một tế bào nơ-ron nhân tạo.
HVTH: Nguyễn Công Anh Vũ 9 LUẬN VĂN THẠC SĨ GVHD: PGS.Quyền Huy Ánh ANN là mô hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm một số lượng lớn các nơ-ron được gắn kết với nhau để xử lý thông tin. ANN giống như bộ não của con người, được học hỏi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó cho việc dự đoán các dữ liệu chưa biết (unseen data). Mạng nơ-ron lan truyền thẳng Mạng truyền thẳng trình bày trong phần này là mạng truyền thẳng có nhiều lớp (MLP - MultiLayer Perceptron). Đây là một trong những mạng truyền thẳng điển hình, thường được sử dụng trong các hệ thống nhận dạng.
Mạng truyền thẳng MLP Một mạng truyền thẳng nhiều lớp bao gồm một lớp vào, một lớp ra và một hoặc nhiều 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, đơn giản nó chỉ tiếp nhận các dữ liệu vào và chuyển cho các lớp kế tiếp. 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).
Cấu trúc mạng nơ-ron truyền thẳng nhiều lớp Trong đó: P là vector đầu vào (vector cột); Wi là ma trận trọng số của các nơ- ron lớp thứ i; S i xRi : S hàng (nơ-ron) - R cột (số đầu vào); b i là vector độ lệch (bias) HVTH: Nguyễn Công Anh Vũ 10 LUẬN VĂN THẠC SĨ GVHD: PGS.Quyền Huy Ánh của lớp thứ i (Si x1: cho S nơ-ron); n i là net input (Si x1); f i là hàm chuyển (hàm kích hoạt); a i làm net output (Si x1); ⊕ là hàm tổng thông thường. 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, thể hiện trạng thái kích thích, hay âm, thể hiện trạng thái 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.
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 xong 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 tính toán thì kết quả được trả lại bởi các nơ-ron đầu ra. Tuy nhiên, có thể là chưa đúng yêu cầu, khi đó một thuật toán huấn luyện cần được áp dụng để điều chỉnh các tham số của mạng. Xét trường hợp mạng có hai lớp như Hình 2.2, công thức tính toán cho đầu ra như sau: 𝑎2 = 𝑓 2 (𝑊 2 (𝑓 1 (𝑊 1 𝑃 + 𝑏1 )) + 𝑏2 ) (2.1) Mạng có nhiều lớp có khả năng tốt hơn là các mạng chỉ có một lớp, chẳng hạn như mạng hai lớp với lớp thứ nhất sử dụng hàm sigmoid và lớp thứ hai dùng hàm đồng nhất có thể áp dụng để xấp xỉ các hàm toán học khá tốt, trong khi các mạng chỉ có một lớp thì không có khả năng này.
Thiết kế cấu trúc mạng Mặc dù, về mặt lý thuyết, có 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. Để định nghĩa chính xác một kiến trúc mạng như: 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. Số lớp ẩn 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ỳ, nên, về lý thuyết, không có lý do nào sử dụng các mạng có nhiều hơn hai 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 là đủ. Các bài toán sử dụng hai 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 thì trong phần lớn các trường HVTH: Nguyễn Công Anh Vũ 11 LUẬN VĂN THẠC SĨ GVHD: PGS.Quyền Huy Ánh hợp trong thực tế, 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. Việc huấn luyện mạng thường rất chậm khi mà số lớp ẩn sử dụng càng nhiều.
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 lớp. Sử dụng quá ít đơn vị có thể dẫn đến việc 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á nhiều thông tin, hoặc lượng thông tin trong tập dữ liệu mẫu (training set) không đủ các dữ liệu đặc trưng để huấn 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. 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á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ự báo 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 (trial-and-error). Trong thực tế, 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 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á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; 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. HVTH: Nguyễn Công Anh Vũ 12 LUẬN VĂN THẠC SĨ GVHD: PGS.Quyền Huy Ánh 2. Mạng nơ-ron và thuật toán lan truyền ngược Cần có một sự phân biệt giữa kiến trúc của một mạng và thuật toán học của nó, các mô tả trong các mục trên mục đích là nhằm làm rõ các yếu tố về kiến trúc của mạng và cách mà mạng tính toán các đầu ra từ tập các đầu vào. Sau đây là mô tả của thuật toán học sử dụng để điều chỉnh hiệu năng của mạng sao cho mạng có khả năng sinh ra được các kết quả mong muốn.
Về cơ bản có hai dạng thuật toán để luyện mạng: học có giám sát và học không có giám sát. Các mạng nơ-ron truyền thẳng nhiều lớp được luyện bằng phương pháp học có giám sát. Phương pháp này căn bản dựa trên việc yêu cầu mạng thực hiện chức năng của nó và sau đó trả lại kết quả, kết hợp kết quả này với các đầu ra mong muốn để điều chỉnh các tham số của mạng, nghĩa là mạng sẽ học thông qua những sai sót của nó. Thuật toán lan truyền ngược là dạng tổng quát của thuật toán trung bình bình phương tối thiểu (Least Means Square-LMS).
Thuật toán này 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.