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 , x
2... x
n] đƣợ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=[ p
1, p
2... p
n]. 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 p
isẽ đƣợ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 W
i, 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 b
jvà 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=
[ a
1, a
2,...a
s] 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 (x
1,y
1) …(x
k,y
k), là
cặp giá trị vào - ra mong muốn. Khi có x
kở đầ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
y
klà 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 a
k+1sẽ gần với đầu ra mong muốn y
k+1hơ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.
Σ
Σ
Σ
p
1p
2p
3p
nt
1t
3t
mt
2y
1y
2y
nw
ijw
jkLớ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 P
ivới i=1† n
- Lớp ẩn (hidden layer): là các Nơ ron ở giữa y
j, 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 W
ij.
- Lớp ra (output layer): là các Nơ ron đƣa những giá trị ra T
k, 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 W
kj.
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 -85 )