Kiến trúc mạng

Một phần của tài liệu Đồ án tốt nghiệp ngành hệ thống điện nguyễn quốc thắng (Trang 85)

1)Kiến trúc mạng perceptron một lớp

Một mạng Nơ ron dù dùng vào bất kỳ mục đích gì, bao giờ cũng có các Nơ ron đầu vào (lớp vào) và các Nơ ron đầu ra (lớp ra). Các Nơ ron đầu vào sẽ nhận các thông tin cần quan tâm từ môi trƣờng bên ngoài, biến đổi chúng thành tín hiệu xử lý phù hợp với xử lý các Nơ ron trong mạng. Có thể so sánh các Nơ ron đầu vào với các tế bào thần kinh giác quan sinh học. Các Nơ ron đầu ra có thể so với các tế bào thần kinh vận động khi xét đến vai trò của chúng là tạo ra các thông tin phán đoán hoặc điều khiển. Tuy nhiên còn có các Nơ ron đặt giữa các Nơ ron đầu vào và đầu ra . Những các Nơ ron này tạo thành lớp ẩn, chúng đảm nhiệm vai trò bên trong của mạng.

Mạng chỉ có 1 lớp gọi là mạng một lớp .

Hình 1.3. Kiến trúc mạng Nơ ron một lớp

Các thông tin từ bên ngoài X=[x1 , x2 ... xn ] đƣợc đƣa tƣơng ứng tới các Nơ ron của lớp vào (Input layer). Các Nơ ron là loại Nơ ron một đầu vào. Tập hợp tín hiệu đầu ra của Nơ ron này tạo thành ma trận P=[ p1 , p2 ... pn]. Ta cũng có thể coi ma trận này là véctơ tín hiệu vào của mạng Nơ ron khi không xét đến vai trò chuyển đổi thông tin của các Nơ ron lớp vào. Ở đây ta coi P chính là vectơ tín hiệu vào. Khái niệm kiến trúc một lớp có thể xuất phát từ cách khai thác trên, và lớp của mạng đáng quan tâm là lớp ra (Output layer)của mạng . Vectơ tín hiệu vào đƣợc biểu diễn dƣới dạng ma trận sau :

P= 1 2 . . R P P P                  

Thƣờng thì các Nơ ron lớp vào sẽ liên kết với tất cả các Nơ ron lớp ra (fully connected). Các tín hiệu pi sẽ đƣợc đƣa đến từng Nơ ron của lớp ra (có S Nơ ron).

Các ma trận trọng số (ma trận hàng )của tƣờng lớp ra sẽ hợp thành ma trận trọng số W có S hàng và R cột của lớp ra. Trong kiến trúc một lớp thì ma trận này cũng chính là trọng số của mạng Nơ ron.

Chú ý cách biểu diễn Wi, jcho biết trọng số đầu vào của Nơron i liên kết với các Nơ ron j. Mỗi lớp ra có một hệ số bias riêng bj và cũng có thể liên kết với các hàm hoạt háo khác nhau. Kết quả đầu ra của mạng chính là tổ hợp các đầu ra của S Nơ ron, và nó đƣợc giọi là vector đầu ra A= [ a1, a2 ,...as ] vectơ tín hiệu ra :

Việc xác định số noron lớp vào R và số lƣợng Nơ ron lớp ra S sẽ căn cứ vào dạng thông tin mà mạng xử lý và dạng thông tin đƣa ra kết quả. Hơn nữa, đặc tính thông tin đầu ra của mạng cũng cho phép xác định hàm hoạt hóa của các Nơ ron lớp ra. Nhƣ vậy mạng có thể xác định hoàn toàn từ đặc tính của bài toán.

2) Kiến trúc mạng perceptron đa lớp

Lớp vào Lớp ra Lớp ẩn

Hình 1.4. Kiến trúc mạng Nơ ron đa lớp 3) Kiến trúc mạng truyền thẳng

Kiến trúc mạng truyền thẳng là kiến trúc mà liên kết giữa các Nơ ron không tạo thành chu trình. Tín hiệu đi từ các Nơ ron vào lần lƣợt qua các lớp ẩn và cuối cùng đi ra ở Nơ ron lớp ra.

Hình 1.5. Kiến trúc truyền thẳng kinh điển 4) Kiến trúc mạng hồi quy

Trong mạng hồi quy có tồn tại những liên kết từ các Nơ ron lớp sau quay trở lại các Nơron lớp trƣớc, chúng sẽ tạo thành các chu trình mà trong chu trình này các tín hiệu ra của Nơron lại truyền ngƣợc trở lại cho các Nơ ron đã kích hoạt chúng

Hình 1.6. Kiến trúc mạng hồi quy

1.2.5. Huấn luyện mạn Nơ ron

Các thông số cấu trúc của mạng Nơ ron bao gồm: Số tín hiệu vào, số tín hiệu ra, số lớp Nơ ron , số Nơ ron trên mỗi lớp, số lƣợng liên kết của mỗi Nơron.

Luyện mạng là quá trình hiệu chỉnh thông số cấu trúc của từng Nơ ron trong mạng để mạng thực hiện đƣơc những tính toán của ngƣời thiết kế ra chúng. Huấn luyện mạng là một quá trình gồm nhiều bƣớc, thƣờng đƣợc gọi là các khóa học. Tại mỗi khóa học, tất cả các Nơ ron trong mạng thực hiện các tính toán trên cơ sở thông số cấu trúc của mình, kết quả tính toán của mạng ở đầu ra đƣợc so sánh với "đáp án" (có thể là mẫu luyện - nếu là học có giám sát). Sai số tính toán đƣợc gọi là lỗi, căn cứ vào giá trị của lỗi, chƣơng trình luyện mạng có thuật toán xác định những lƣợng hiệu chỉnh cho từng thông số của các Nơron để qua từng khóa học sai số lỗi đƣợc giảm đi. Quá trình này tiếp tục cho tới khi sai số tiến tới 0 hoặc đạt một giá trị định trƣớc.

Quá trình huấn luyện cho mạng cũng đƣợc gọi là quá trình học. Khái niệm học trong mạng Nơ ron còn đƣợc hiểu theo hai nghĩa: học về cấu trúc và học về tham số. Thứ tự của việc học tham số là thay đổi cập nhật các tham số, bao gồm trọng số liên kết và lƣợng bù. Hầu hết các luật học tồn tại thuộc kiểu học tham số. Luật học tham số đƣợc chia làm 3 dạng chính: Học có giám sát, học không giám sát và học củng cố.

Học có giám sát: Trong học có giám sát, mạng đƣợc cung cấp một tập mẫu (x1,y1) …(xk,yk), là cặp giá trị vào - ra mong muốn. Khi có xk ở đầu vào, mong muốn nhận đƣợc từ đầu ra của mạng là yk, nhƣng thực tế lại nhận đƣợc ak. Sai khác giữa giá trị đầu ra thực tế ak và đầu ra mong muốn yk là cơ sở tạo tín hiệu về lỗi để mạng sửa đổi các thông số cấu trúc sao cho đầu ra thực sự tiếp theo ak+1 sẽ gần với đầu ra mong muốn yk+1 hơn.

Học không giám sát: Trong học không giám sát thì không có bất kỳ một thông tin phản hồi từ môi trƣờng. Mạng phải tự tìm ra các đặc tính, quy luật, tƣơng quan trong dữ liệu đầu vào và tập hợp lại để tạo đầu ra. Khi tự tìm ra các đặc điểm này, mạng đã trải qua các thay đổi về tham số của nó. Quá trình này đƣợc gọi là tự tổ chức.

Học củng cố: Trong thuật học có giám sát, các giá trị đầu ra (còn đƣợc gọi là đích) đƣợc biết chính xác đối với mỗi đầu vào. Tuy nhiên, trong thực tế có một số trƣờng hợp chỉ biết đƣợc ít thông tin chi tiết. Thuật học dựa trên thông tin đánh giá này đƣợc gọi là thuật học củng cố, thông tin phản hồi đƣợc gọi là thông tin củng cố.

Mạng nơtron

Đầu vào Đầu ra

Học không giám sát

Mạng nơtron

Đầu vào Đầu ra

Đầu ra mong muốn Học có giám sát

Mạng nơtron

Đầu vào Đầu ra

Tạo tín hiệu lỗi

Tín hiệu củng cố

Học củng cố Tín hiệu

củng cố

Hình 1.7. Ba dạng chính của luật học tham số

1.2.6. Ứn dụn của mạn nơ ron nhân tạo

Hơn 20 năm qua, mạng Nơ ron nhân tạo đã từng bƣớc đƣợc đƣa vào ứng dụng trong nhiều lĩnh vực của cuộc sống. Đặc biệt, gần đây, với sự ra đời của các chíp Nơ ron thì ứng dụng của mạng Nơ ron lại càng trở nên rộng rãi .

1) Lĩnh vực dân dụng:

- Điều khiển: Các thiết bị gia đình nhƣ máy giặt, điều hòa …

- Nhận dạng: Các thiết bị cảnh báo, chống trộm, báo động, báo cháy..

- Trí tuệ nhân tạo: Chế tạo các thiết bị thông minh nhƣ ngƣời máy, trò chơi...

2) Lĩnh vực công nghiệp:

- Điều khiển: Cảnh báo và phát hiện các sự cố, xây dựng các bộ điều khiển thích nghi, các bộ điều khiển tự chỉnh, thông minh hóa các cảm biến trong đo lƣờng, phân tích an toàn trong hệ thống điện, xây dựng các hệ thống chuẩn đoán kỹ thuật…

- Nhận dạng: Nhận dạng tín hiệu, xử lý tín hiệu. Nhận dạng sai số, xấp xỉ hóa các đƣờng đặc tính trong đo lƣờng, phân loại mẫu, nhận dạng tiếng nói…

- Trí tuệ nhân tạo: Rôbốt công nghiệp.

- Dự báo. Sử dụng cho các bài toán dự báo ngắn hạn phụ tải điện, trung hạn và dài hạn, phục vụ quy hoạch và vận hành hệ thống điện.

3) Lĩnh vực y tế:

Nhận dạng sóng điện tim, điện não đồ, các tế bào ung thƣ. Trong điện não đồ thì sóng điện não EEG bao gồm bốn sóng là Delta, Theta, Alpha và Beta. Sử dụng mạng Nơ ron để nhận dạng ra bốn loại sóng đó rồi tiến hành so sánh điện não đồ của ngƣời mắc bệnh và ngƣời không mắc bệnh giúp cho quá trình chuẩn đoán bệnh đƣợc dễ dàng.

4)Lĩnh vực quân sự:

- Điều khiển:theo dõi đích, những phần tử cảm biến.Chế tạo vũ khí thông minh. - Nhận dạng: nhận dạng vân tay, hình ảnh, tiếng nói…

- Dự báo: Dự báo tình hình kinh tế, dự đoán tiền tệ, phân tích mức độ rủi ro, phân tích sử dụng hàng, phân tích thị trƣờng, dự báo mức tăng trƣởng GDP.

1.3. GIỚI THIỆU VỀ MATLAB VÀ GUIDE 1.3.1. Giới thiệu về Matlab 1.3.1. Giới thiệu về Matlab

Matlab là một chƣơng trình viết cho máy tính PC nhằm hỗ trợ cho các tính toán khoa học và kỹ thuật với các phần tử cơ bản là ma trận trên máy tính cá nhân do công ty "The MATHWORKS" viết ra. Thuật ngữ Matlab có đƣợc là do hai từ MATRIX và LABORATORY ghép lại.Matlab ngày càng trở thành công cụ rất đắc lực trong việc mô phỏng, tính toán, thiết kế, xây dựng các ứng dụng trong nhiều lĩnh vực khác nhau nhƣ điện, điện tử, xử lý tín hiệu, trí tuệ nhân tạo, tài chính…

Matlab đƣợc điều khiển bởi các tập lệnh, tác động qua bàn phím. Nó cũng cho phép một khả năng lập trình với cú pháp thông dịch lệnh - còn gọi là Script file các hàm. Các lệnh hay bộ lệnh của MATLAB lên đến số hàng ngàn và ngày càng đƣợc mở rộng bởi các phần Toolbox hay thông qua các hàm ứng dụng đƣợc xây dựng từ ngƣời sử dụng. Các lệnh của Matlab rất mạnh và hiệu quả, nó cho phép giải các loại hình toán khác nhau và đặc biệt hữu dụng cho các hệ phƣơng trình tuyến tính hay các bài toán ma trận. Ở Matlab 7.0 đã có hơn 20 Toolbox các loại. Hiện tại và trong tƣơng lai Matlab sẽ cho ta một sự lựa chọn hoàn chỉnh và phong phú các công cụ trợ giúp đắc lực cho những lĩnh vực nghiên cứu chuyên môn khác nhau. Trong luận văn này, tôi đã sử dụng các Toolbox chính sau của Matlab: Neural Network, GUIDE, các lệnh tạo đồ thị và một số hàm có sẵn trong Matlab.

1.3.2. Giới thiệu về Neural Network Toolbox

Neural Network Toolbox là một thƣ viện chứa các hàm mô phỏng về mạng Nơtron rất mạnh. Do sự ứng dụng mạnh mẽ của mạng Nơtron trong xử lý dữ liệu ở các lĩnh vực nghiên cứu khoa học và đời sống thì sự phát triển này là tất yếu. Mạng Nơtron đã đƣợc ứng dụng rộng rãi trong nhiều lĩnh vực và nó đã cho thấy sức mạnh của mình.Matlab đã tạo ra giao diện đồ họa cho phép ngƣời sử dụng tạo mạng, nhập dữ liệu, khởi động mạng, luyện mạng và mô phỏng mạng

1.3.3. Giới thiệu về GUIDE

GUIDE (the MATLAB Graphical User Interface Development Environment), cung cấp một tập công cụ để xây dựng giao diện đồ họa giữa ngƣời sử dụng và Matlab (GUIs –graphical user interfaces). Những công cụ này rất tiện dụng và hữu ích để đơn giản hóa quá trình thiết kế và xây dựng GUIs. Ta có thể sử dụng các công cụ của GUIDE để thiết kế các giao diện trong các chƣơng trình Matlab. GUIDE có trình soạn thảo (the GUIDE Layout Editor) để định dạng GUI một cách dễ dàng bằng cách kích và kéo các bảng (panels), nút (buttons), vùng văn bản (text fields), thanh trƣợt (sliders), menu, … tới vùng trình bày.

Ta cũng có thể lập trình GUI để đáp ứng các yêu cầu thao tác của ngƣời sử dụng thông qua các giao diện chuẩn nhƣ chuột, bàn phím. Các thao tác này thƣờng đƣợc lƣu giữ dƣới dạng các „Callback funtions‟ của GUI. Để lƣu giữ các thông tin về một GUI, thƣ viện GUIDE của Matlab sẽ tự động tạo một M-file chung cho tất cả các phần tử của một giao diện. Việc chạy M-file sẽ tƣơng đƣơng với việc khởi động GUI và hiển thị ra một khung làm việc (famework) cho các hàm (Callback) của GUI - những lệnh thực thi khi ngƣời sử dụng tác động vào một bộ phận của GUI.

Muốn thêm các chức năng khác, ta thêm mã vào sau các gọi hàm (callback) bằng cách sử dụng trình soạn thảo M-file.

Các phần tử thường dùng trong giao diện GUI

Nút nhấn (Push botton)

Nút nhấn tạo ra các hoạt động sau khi bị kích chuột vào. Khi ta kích chuột, nút sẽ chìm lún xuống và khi thả ra nút sẽ nổi lên và hàm callback đã đƣợc lập trình trƣớc tƣơng ứng với nút sẽ đƣợc thực thi.

Edit Text

Edit Text điều khiển các trƣờng cho phép ngƣời sử dụng nhập hoặc sửa đổi các câu ký tự dạng văn bản. Chuỗi văn bản sẽ đƣợc đọc vào với lệnh “get (hObject,'string')”

Axes

Axes cho phép GUI hiển thị đồ họa (ví dụ: Đồ họa và hình ảnh), nó cho phép chúng ta điều khiển sự hiển thị của đồ họa.

Panels

Panels dùng để nhóm các thành phần của GUI, tạo ra một giao diện sử dụng điều khiển dễ hiểu, những thành phần liên quan với nhau đƣợc cho vào một nhóm.

Table

Table cho phép tạo ra các bảng số liệu trong giao diện của GUI.

Kết luận:

Từ khi xuất hiện, mạng Nơ ron nhân tạo là một công cụ rất mạnh cho 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 mạng Nơ ron nhân tạo trong dự báo ngắn hạn phụ tải điện sẽ mang lại nhiều thành công.

CHƢƠNG 2

MẠNG NƠRON MPL TRONG DỰ BÁO NGẮN HẠN PHỤ TẢI ĐIỆN 2.1. MÔ HÌNH MẠNG NƠ RON MLP

2.1.1. Phƣơn pháp luận lựa chọn mạn Nơ ron

Căn cứ vào đặc thù của luận văn, em đã chọn mạng nơ ron MLP có một lớp ẩn, bởi vì mạng MLP có một số ƣu điểm trong yêu cầu của bài toán dự báo phụ tải giờ của biểu đồ phụ tải sau đây:

 Mô hình này đã đƣợc sử dụng rộng rãi, chất lƣợng đã đƣợc khẳng định.

 Do tính kinh điển của mình mà mạng MLP có rất nhiều chƣơng trình mô phỏng khác nhau.Việc sử dụng thƣ viện của Matlab cho phép viết chƣơng trình mô phỏng một cách dễ dàng, thuận tiện,việc hiển thị kết quả tính toán cũng nhanh và chính xác.

 Các thuật toán tƣơng đối phức tạp nếu muốn độ chính xác và hội tụ cao.

 Khó xây dựng đƣợc bộ mẫu học để có thể loại bỏ đƣợc dƣ thừa mẫu học.

2.1.2. Cấu trúc mạn MLP

Theo lý thuyết về mạng Nơ ron, ngƣời ta chỉ cần tối đa 2 lớp ẩn cho một bài toán xác định.Tuy nhiên trong nhiều ứng dụng thực tế, để đơn giản ngƣời ta thƣờng sử dụng mạng có một lớp ẩn. Σ Σ Σ p1 p2 p3 pn t1 t3 tm t2 y1 y2 yn wij wjk Lớp vào Lớp ra Lớp ẩn Hình 2.1. Mạng Nơ ron một lớp ẩn

Mạng Nơ ron trong hình 2.1 gồm:

- Lớp vào (input): là các Nơ ron nhận các biến vào Pi với i=1† n

- Lớp ẩn (hidden layer): là các Nơ ron ở giữa yj , j=1† n. Các Nơ ron lớp ẩn nhận tín hiệu từ các Nơ ron lớp vào qua hệ số trọng lƣợng Wij.

- Lớp ra (output layer): là các Nơ ron đƣa những giá trị ra Tk, k = 1† m.Các Nơ ron lớp ra nhận tín hiệu từ các Nơ ron lớp ẩn qua hệ số trọng lƣợng Wkj.

Phƣơng pháp làm việc của mạng Nơ ron nhân tạo có thể phân chia làm hai giai đoạn: giai đoạn huấn luyện và giai đoạn tự tái diễn lại. Khi xuất hiện các kích thích đầu vào của mạng nhƣ nhau ở các thời điểm khác nhau thì đáp ứng đầu ra của mạng ở các thời điểm tƣơng ứng cũng hoàn toàn giống nhau. Quá trình làm việc nhƣ vậy của mạng Nơ ron là quá trình tự tái diễn lại. Khi có thông tin vào mạng Nơ ron sẽ có đáp ứng đầu ra tƣơng ứng với đầu vào theo sự nhận biết của mạng đƣợc hình thành trong quá trình huấn luyện.

Cũng nhƣ con ngƣời, khi mới hình thành mạng Nơ ron chƣa có tri thức, tri thức của mạng Nơ ron hình thành dần sau một quá trình học. Mạng Nơ ron đƣợc dạy bằng cách đƣa vào những

Một phần của tài liệu Đồ án tốt nghiệp ngành hệ thống điện nguyễn quốc thắng (Trang 85)

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

(130 trang)