bài báo cáo mô hình mô phỏng mạng neural bài báo cáo mô hình mô phỏng mạng neural bài báo cáo mô hình mô phỏng mạng neural bài báo cáo mô hình mô phỏng mạng neural bài báo cáo mô hình mô phỏng mạng neural bài báo cáo mô hình mô phỏng mạng neural bài báo cáo mô hình mô phỏng mạng neural
Trang 1BÀI BÁO CÁO MÔN MÔ HÌNH MÔ PHỎNG
Nguyễn Xuân Vũ 06118032 Nguyễn Hồng Hải Uy 06118031 27.Mạng Neural
Mạng thần kinh nhân tạo (Articial Neural Network) đã trải qua một quá trình phát triển nhanh chóng và đã vượt qua giai đoạn thử nghiệm để đi vào thự tiễn trong một loạt các ứng dụng kỹ thuật, chẳng hạn như đối với sự đánh giá tính chất, sự nhận dạng, xử lý tín hiệu, mô hình hóa quy trình, quy trình kiểm soát chất lượng và đối chiếu dữ liệu
Mạng neural có khả năng mô hình hóa các hệ thống phi tuyến tính Trên cơ sở của dữ liệu đào tạo được cung cấp, mạng thần kinh học các mối quan hệ giữa các quá trình đầu vào và đầu ra Các dữ liệu phải được kiểm tra cẩn thận trước khi chúng có thể được sử dụng như sự huấn luyện thiết lập cho mạng neural Tiến trình học bao gồm một hoặc nhiều dữ liệu đầu vào
và một hoặc nhiều dữ liệu đầu ra Sau quá trình học của mạng, một bộ thử nghiệm của dữ liệu cần được sử dụng để kiểm tra lại các mối quan hệ mong muốn đã học được
Trong ứng dụng thực tiễn một mạng neural có thể được sử dụng khi không xác định được mô hình chính xác Đây là một ví dụ hay về kỹ thuật “hộp đen” (black-box) Không có cách nào khác, các mạng neural được xem là giải pháp cuối cùng cho các vấn đề bất định hoặc chỉ một phần mô hình được xác định.Lý do chính là nó không có dữ liệu bổ sung về mối liên hệ vật lý và do đó nó sẽ không cung cấp trí tuệ vật lý vào tiến trình
27.1 Cấu trúc của mạng Neural nhân tạo
Hiện tại có hơn 50 loại mạng neural khác nhau Một số mạng có hiệu quả hơn trong việc tối ưu hóa; những cái khác thực thì hiện tốt hơn trong mô hình hóa dữ liệu v.v Theo Basheer (2000) mạng neural phổ biến hiện nay là mạng Hopfield, mạng Adaptive Resonance Theory (ART) (học thuyết thu thích ứng), mạng Kohonen, các mạng đếm lan truyền, mạng Radial Basis Function (RBF), mạng lan truyền ngược và mạng hồi quy
Để giải thích những cấu trúc căn bản của một mạng neural, tốt nhất chọn hình thức đơn giản của một mạng neural, mạng neural feed-forward (truyền thẳng) Trong Hình 27.1 biểu diễn mạng feed-forward
Mạng neural nhân tạo bao gồm nhiều loại tầng lớp khác nhau Gồm lớp đầu vào, một hay nhiều lớp ẩn và một lớp đầu ra Tất cả các lớp có thể bao gồm một hoặc nhiều tế bào thần kinh (neuron) Một neuron trong một lớp cụ thể được kết nối đến tất cả các neuron trong lớp kế tiếp, đó là lý do tại sao được gọi là mạng feed-forward Trong các mạng khác các neuron có thể được kết nối theo cách khác Một ví dụ của một mạng khác là một mạng neuron hồi quy, tại đây cũng có kết nối neuron đến neuron khác trong một lớp trước Một mạng lưới kết nối đầy đủ là một mạng lưới mà trong đó tất cả các neuron từ một lớp được kết nối đến tất cả các neuron trong lớp kế tiếp
Trang 2HÌnh 27.1 Ví dụ về mạng neural truyền thẳng đa lớp.
Để giải thích cách mạng tính toán đầu ra, đầu tiên một phần nhỏ nhất của mạng lưới sẽ được quan sát khép kín : các neuron
Mỗi neuron là một điểm tính toán đơn lẻ trong mạng Nó tiếp nhận một hoặc nhiều đầu vào hay từ một neuron trong một lớp trước đó hoặc (khi nó nằm ở lớp đầu vào) từ thế giới bên ngoài Neuron xác định nếu đầu ra được chuyển đến các neuron trong lớp kế tiếp Đồ thị của một neuron được cho trong
hình 27.2
Hình 27.2 Neuron ẩn
Khi neuron nhận đầu vào từ các neuron trong một lớp trước, lần đầu chúng được nhân với trọng số Wij Trọng số này đặc trưng cho liên kết mà liên kết đó kết nối hai neuron Hai kết nối trong một mạng là như nhau và do đó, nói chung, hai trọng số trong một mạng đều giống nhau
Trong neuron của tất cả các trọng số đầu vào được thêm và có thể được so sánh với
một giá trị ngưỡng μ Các j-th neuron j-th trong lớp ẩn nhận được đầu vào N từ lớp đầu vào có
kết nối mạnh hoặc liên kết trọng số w và cháy ngay sau khi tổng trọng số cũng như độ lệch bj vượt quá giới hạn:
Trang 3=
≥+
= N
i
j j i ij
h
1
µ (27.1)Thông thường, trong các trường hợp của mô hình hóa quá trình, giới hạn này được thay thế bởi một hàm kích hoạt, làm cho sự hoạt động của các neuron tiếp tục có giá trị Tuy nhiên hàm này đã được khả vi, và nó đã bão hòa tại cả hai đầu Khi neuron kích thích, nghĩa là đầu ra
H của nó có một giá trị khác không Các loại mạng được sử dụng sẽ xác định giá trị thực tế
của H Đôi khi, H chỉ đơn giản là một (một mạng lưới nhị phân), đối với các mạng khác H
được xác định bởi các hàm kích hoạt của các neuron Hàm này thường có các trọng số đầu vào
và đôi khi giới hạn của neuron như các tham số Trong những trường hợp nó có thể được mô tả như là một hàm phi tuyến tính của tổng các trọng số đầu vào cùng với độ lệch
H j = g (h j ) (27.2) Trong đó g là một hàm kích hoạt phi tuyến
Ngoài ra, lựa chọn điển hình cho hàm kích hoạt là hàm sigmoid (sigma).
(27.3)Hàm tiếp tuyến hypebol:
h h
h h
e e
e e h h
Tính toán đầu ra của hàm sigmoid và Gauss chỉ có thể rơi vào giữa 0 và 1 và do đó, các
dữ liệu đầu ra được sử dụng để truyền cho mạng nơron cần phải được chuẩn hóa trong phạm vi 0-1 (-1 và 1 cho hàm tiếp tuyến hypebol) Các điểm cực trị của 0-1 xảy ra chỉ khi đầu vào cho hàm sigmoid là - ∞ đến + ∞, dữ liệu đầu ra thường được chuẩn hóa giữa khoảng 0,1-0,9 Tuy nhiên, dữ liệu không chuẩn hóa có thể được sử dụng nếu một hàm kích hoạt tuyến tính được sử dụng cho các lớp đầu ra
Khi neuron nằm trong một lớp đầu vào(input) hoặc lớp ẩn, đầu ra của nó sẽ được gửi đến tất cả các neuron trong lớp kế tiếp Chúng sẽ sử dụng nó, sau khi nó được nhân với trọng
số của liên kết, như đầu vào Khi neuron nằm trong lớp đầu ra (output), đầu ra của nó (cùng với các đầu ra khác từ các neuron trong cùng một lớp) là đầu ra của mạng
Từ cấu trúc của một mạng lưới neuron, nó có thể được trình bày những thông tin đã học được lưu giữ trong các trọng số của các liên kết Đối với những vấn đề khác nhau, cấu trúc khác nhau có thể được sử dụng Các liên kết không có vị trí trong cùng một hướng, mạng lưới hồi quy, trong đầu ra trì hoãn được sử dụng như là đầu vào, cũng rất phổ biến cho mô hình hóa quy trình từ đó nó có thể mô tả phụ thuộc thời gian Ngoài ra tất cả các tế bào thần kinh trong một mạng có thể được kết nối lẫn nhau Đối với loại mạng này, các neuron đầu vào, ẩn và đầu
ra phải được xác định một cách chặt chẽ Tuy nhiên, các nguyên tắc cơ bản như đã giải thích ở trên là hợp lệ cho tất cả các mạng này
Hertz et al (1995) đã mô tả trong công việc của họ rằng thông thường một hệ thống thần kinh bao gồm ba lớp sẽ cho kết quả tốt Tuyên bố này được chứng minh bởi tài liệu, nơi mạng neuron đã được áp dụng trong quá trình kiểm soát Trong tất cả các trường hợp này một mạng lưới bao gồm một lớp đầu vào, một lớp ẩn và lớp đàu ra đã được sử dụng
Các cấu trúc tối ưu của các mạng thường được xác định bằng thử và sai, tuy nhiên,
h
e h
(
Trang 4trong mạng ba lớp số lượng các neuron ẩn bằng hai lần số lượng neuron đầu vào, thường là một điểm khởi đầu tốt đẹp.
27.2 Việc huấn luyện của mạng neuron nhân tạo:
Sau khi cấu trúc đặc trưng ban đầu của mạng neuron được xác định nó vẫn cần phải được đào tạo để tìm hiểu quá trình Các phương pháp đào tạo khác nhau hiện có, với các tiêu chuẩn về thuật toán lan truyền ngược (Rumelhart et al, 1986.) đang được phổ biến nhất Thuật toán này sẽ được giải thích trong đoạn tiếp theo
Để đào tạo một mạng lưới neuron, đầu tiên là một bộ đạo tạo và một bộ thử nghiệm của các dữ liệu mẫu từ quy trình này phải được tạo ra đào tạo là xây dựng các cặp dữ liệu đầu vào
và đầu ra, được gọi là mẫu Những mô hình không nhất thiết phải duy nhất, đầu ra được phép
có nhiều hơn một đầu vào khác, tuy nhiên, một đầu vào chỉ có thể có một đầu ra riêng biệt
Dữ liệu trong các bộ này phải là một mô hình hóa tốt cho dữ liệu quá trình trung bình
và do đó phải được soạn cẩn thận Điều này có nghĩa rằng cả hai bộ có thể tước bỏ bất kỳ dữ liệu xấu như các lỗi do trục trặc trong quá trình hay máy móc Tuy nhiên, điều này không có nghĩa là mạng lưới neuron này không thể đào tạo để nhận ra các tính năng này Nó cũng có thể được huấn luyện để nhận ra các lỗi này và xác định nguyên nhân có thể xảy ra của chúng
Sau khi các bộ dữ liệu được kiểm tra, chúng sẽ được đưa vào mạng Trong thời gian đào tạo, các trọng số được cập nhật theo cách như vậy mà tổng bình phương của sự khác biệt giữa giá trị thực tế ngõ ra y và ngõ ra của mạng lưới yˆ , được giảm thiểu:
p k
p
y N
w E
2 ) (
2
1 min )
Có bốn phương pháp tiếp cận khác nhau về cơ bản cho việc huấn luyện mạng neuron Phương pháp tiếp cận đầu tiên là hiệu chỉnh lỗi quy tắc huấn luyện, nơi mà lỗi giữa đầu ra của mạng và đầu ra đo được được sử dụng để hiệu chỉnh trọng số mạng tương thích Một phương pháp tiếp cận thứ hai là huấn luyện Boltzman, nó tương tự như hiệu chỉnh lỗi huấn luyện, tuy nhiên, đầu
ra của một neuron được dựa trên một phân bố thống kê Boltzman
Phương pháp thứ ba là huấn luyện Hebbian, nơi huấn luyện được thực hiện cục bộ bằng cách điều chỉnh trọng số dựa trên các hoạt động của neuron
Phương pháp thứ tư là huấn luyện cạnh tranh, nơi mà các neuron cạnh tranh theo cách
mà chỉ có một neuron sẽ được kích hoạt trong một lặp nhất định
27.3 Thuật toán lan truyền ngược chuẩn
Để giải thích thuật toán lan truyền ngược, một mạng neuron đơn truyền thẳng gồm ba
lớp (đầu vào, ẩn và đầu ra) được sử dụng Các đầu vào mạng sẽ được ký hiệu là xi, đầu ra của các neuron ẩn là Hi, mà đầu ra của các neuron là yˆi Trọng số của các liên kết giữa lớp đầu
Trang 5vào và lớp ẩn được viết là wij, với i là số lượng đầu vào neuron và j là số lượng các neuron
ẩn Trọng số của các liên kết giữa lớp ẩn và lớp đầu ra được ký hiệu là wjk, với j là viết tắt cho
số lượng các neuron ẩn và k cho số lượng neuron đầu ra Ví dụ một mạng lưới với ký hiệu
được thể hiện trong hình 27.3 Mạng này có ba neuron đầu vào, ba neuron ẩn và hai neuron
đầu ra, trong trường hợp này lớp đầu vào chuyển sang các đầu vào, nghĩa là Ij = xj.
Hình 27.3 Mạng neural 3 lớp hiển thị các ký hiệu cho các đơn vị và
đầu vào / đầu ra {x p , y p } Các neuron trong mạng đều có cùng hàm kích hoạt g()
Cho mô hình p, đơn vị ẩn j nhận một mạng lưới đầu vào từ lớp đầu vào như sau:
∑
=
i
p i
h ij
jk p
j o jk p
Đầu ra của neuron này là:
( )p k
p
yˆ = (27.10)Trong hầu hết trường hợp, một hàm đầu ra tuyến tính được sử dụng, trong trường hợp
đầu tiên (trên tất cả các mô hình) cũng như sự phân chia bởi N biến mất từ phương trình Các
quy tắc gốc gradient được sử dụng để cập nhật các trọng số, các trọng số của các liên kết giữa các lớp ẩn và lớp đầu ra được cập nhật như sau:
Trang 6p k
p k o
jk
p k p k
p k p k
o jk
o
w
o o
y y
E w
Phương trình (27,11) bây giờ có thể được đơn giản bằng cách đưa ra các lỗi ngõ ra thực
tế p
k
α , trong trường hợp đó:
(27.12)Kết quả là:
(27.13)Đối với các liên kết giữa các lớp đầu vào và lớp ẩn, phương trình sau đây được sử dụng:
(27.14)Kết quả là:
(27.15)Với lỗi đầu ra thực tế p
k
α kết quả là:
(27.16) Phương trình này cũng có thể được đơn giản hóa hơn nữa nếu các lỗi ngõ ra thực tế của lớp ẩn p
j
α được xác định:
(27.17)Phương trình (27.13) bây giờ trở thành:
(27.18)Nói chung, với một số tùy ý các lớp, nguyên tắc cập nhật lan truyền ngược có dạng sau:
(27.19)Tại nơi z bằng y cho một nút đầu ra và z bằng H cho một nút ẩn Nguyên tắc chung cho
sự điều chỉnh của trọng số cũng được hiểu như là quy tắc denta tổng quát
Trang 7Một giới hạn động lượng thường được thêm vào trong trọng số cập nhật để tránh cực tiểu cục bộ và tìm kiếm không ổn định Trong trường hợp của một nút đầu vào, phương
trình (27.20) sau đó trở thành
(27.20)Quy tắc này được gọi là quy tắc đồng delta cải tiến Thuật toán lan truyền ngược chuẩn
đã được sửa đổi theo nhiều cách để đạt được một tìm kiếm tốt hơn và đẩy nhanh và ổn định trong quá trình huấn luyện (Looney, 1996; Masters, 1994)
27.4 Mạng neural hồi quy:
Một yếu tố quan trọng trong sự phổ biến của mạng feed-forward là nó đã cho thấy một mạng neuron giá trị liên tục với một hàm truyền khả vi liên tục phi tuyến có thể xấp xỉ khá tốt bất kì hàm liên tục nào (Cybenko, 1989) Cấu trúc feed-forward thể hiện trong hình 27.1
thường được sử dụng cho hàm xác lập gần đúng hoặc dự báo trước một bước Tuy nhiên, nếu
mô hình được sẽ được sử dụng để dự đoán cũng có nhiều hơn một bước thời gian sắp tới, mạng lưới neuron hồi quy nên được sử dụng, trong đó trì hoãn đầu ra được sử dụng như là đầu vào neuron
Nó được tìm thấy bởi MacMurray và Himmelblau (1995) rằng các mạng hồi quy ngoại (Externally recurrent network - ERN) có hiệu suất tốt nhất trong dự báo quá trình đầu ra nhiều bước trong tương lai Hình hiển thị 27.4 ERN, nó là mạng feed-forward (FFN) từ Hình 27.1 rằng bây giờ đã kết nối bên ngoài thường xuyên với một hoặc nhiều sự chậm trễ lấy mẫu (z-1) giữa sản lượng đầu vào mạng và hệ thống mạng (xem thêm chương 24) Hệ thống được đôi khi được gọi là một sự chậm trễ khai thác-line mạng
Hình 27.4 Mạng hồi quy ngoại (ERN)
Do đó, sự khác biệt cơ bản giữa FFN trong việc dự đoán và ERN là cái mà mạng ERN
Trang 8sử dụng các giá trị của tiến trình đầu ra được dự đoán bởi mạng thay vì đo các giá trị quá trình.
Từ 'bên ngoài' (externally) được dùng để phân biệt với mạng hồi quy nội (IRN) biểu diễn trong hình 27.5, mạng hồi quy chéo (DRN) như trong hình 27,6 và kết hợp của ERN và IRN
Có nhiều cấu hình mạng Elman và mạng hồi tiếp đường chéo Trọng lượng cập nhật dự
án phụ thuộc vào cấu trúc của mạng và sẽ khác nhau cho từng loại mạng
Các dự báo được thực hiện bởi mạng Elman vá có thể có thể được diễn tả như một chức năng của quá trình trì hoãn đầu vào và dự đoán những đầu ra quá trình:
(27.21)
Hình 27.5 Ví dụ về mạng Elman hồi quy
Trang 9Hình 27.6 Mạng hồi quy chéo ( động) (DRM).
trong đó yˆ (k ) dùng để chỉ dự báo (ước lượng) của quá trình đầu ra tại khoảng lấy mẫu k, f là một hàm phi tuyến (xác định bởi các mạng nơ ron)
N và M là các số nguyên biểu diễn cho số lượng đầu vào của mạng nơ ron Nếu hàm f
là tuyến tính thì mô hình là một mô hình ARMAX, như được thảo luận trong Chương 24 Nó
là một thực tiễn hay để bắt đầu với một mô hình arma tuyến tính đầu tiên, nếu kết quả mô hình thô là nhận được, dạng phi tuyến nên được khảo sát
Một số nhà khảo sát đã nghiên cứu các vấn đề của khuếch đại lỗi nếu yˆ được thay thế bằng giá trị đo được y, và kết luận rằng việc sử dụng yˆ được cung cấp tốt hơn việc dự đoán
Vì lý do này, ERN được dùng để quan sát quá trình mô hình
Mạng lưới hồi quy bên ngoài (ERN) của biểu thức (27.21) đôi khi được gọi là mô hình
dự báo N-steps, trong khi biểu thức cho mạng feed-forward (FFN) là:
Trang 10Việc học tập hoặc huấn luyện của một mạng neural feed-forward là khác với mạng neural hồi quy Đối với mạng neural feed-forward, thuật toán lan truyền ngược, cấp dữ liệu chuyển tiếp thần kinh, tuyên truyền về các thuật toán, được thảo luận trong phần 27.3, có thể viết là:
(27.23)
trong đó i là chu kỳ lặp, ∂E / ∂wi là độ giảm của E đối với các ma trận tham biến wi và η là
mức độ học tập Tan và Saif (2000) đã suy ra biểu thức cho lượng cập nhật của mạng neural bên ngoài, nó sẽ được theo sát tại đây
Giả định rằng các mô hình động là có dạng:
yˆ (k ) = f ( yˆ (k − 1), u(k − 1), wi ) (27.24)
Đạo hàm của f (.) theo w là:
(27.25)Thuật toán học lan truyền ngược thường chậm trong hội tụ, một cách để cải thiện việc huấn luyện là thông qua phương pháp tiếp cận cơ bản thứ hai như phương pháp Newton và phương pháp Levenberg-Marquardt Các vấn đề trước đã cập nhật công thức sau đây:
(27.26)
Trong đó ∂2E/∂w12 =[∂yˆ/∂w1][∂yˆ/∂w1]T +θ(w1) là giới hạn của của đạo hàm cấp hai
Sử dụng phương pháp Gauss-Newton, cấp cao hơn θ (w i ) được giả định là không, vì thế
thuật toán trở thành:
(27.27)Các tỷ lệ học η được sử dụng để điều chỉnh mức độ ổn định và hội tụ, đặc biệt là khi giá trị tối ưu rất phẳng Hiệu chỉnh Levenberg-Marquardt của phương pháp Gauss-Newton đưa ra một hệ số bổ sung μ >=0, sao cho:
(27.28)
Các hệ số μ có thể biến đổi từ 0 đến ∞ Khi μ = 0, tìm được thuật toán
Gauss-Newton Nếu μ xấp xỉ vô hạn, thuật toán sẽ trở thành phương pháp xuống dốc (gradient
descent):
Trang 11(27.29)
Nó phù hợp để đề cập đến độ dốc động là được tính toán để đáp ứng việc huấn luyện mạng neural với đầu vào hồi tiếp
Các bước cơ bản của phương pháp Levenberg-Marquardt là:
i Đặt wi = w0 và dùng một giá trị ban đầu lớn là μ
ii Tính độ dốc động ∂E / ∂wi và ∂yˆ / ∂wi
iii Nhập wi
iv Nếu | E(wi+1 ) |≤| E(wi ) | thì giảm μ
ngược lại tăng μ
v Nếu | E(wi+1 ) |≤ε , thì dừng, ngược lại sang bước (ii)
• Nhận dạng mẫu Phân loại mẫu có liên quan với sự phân công của một mẫu mới cho
một trong những quy định trước một số loại dựa trên một hoặc nhiều thuộc tính mô tả một loại Ứng dụng trong y học lâm sàng, vi sinh học và xử lý ảnh được cho bởi Penny
và Frost (1996), Basheer và Hajmeer (2000), Mattone et al (2000.), Và
Egmont-Petersen et al (2002).
• Tạo nhóm Trong trường hợp này, mạng neural được sử dụng để chỉ định các mẫu tương tự
với cùng một nhóm Thường thì các mạng Kohonen được
sử dụng Ứng dụng tiêu biểu có thể được tìm thấy trong lĩnh vực phân tích hóa học
(Tokutaka et al, 1999.) và nhận dạng mẫu thời tiết (Ambroiseet al., 2000).
• Mô hình hóa và dự báo Mô hình hóa bao gồm việc huấn luyện mạng neural trên dữ
liệu đầu vào-đầu ra, như vậy một mối quan hệ hiện tại giữa dữ liệu đầu vào và dữ liệu đầu ra được thực hiện đầy đủ chính xác Các mối quan hệ có thể là tĩnh, trong trường hợp này thường một mạng feed-forward được sử dụng Cũng có thể các mối quan hệ là động, trong trường hợp này thường là mạng hồi quy được sử dụng Nhiều ứng dụng có