Mục Lục
TổNG QUAN. 3
GIớI THIệU VềMạNG NEURAL . 3
Giới thiệu . 3
Xấp xỉhàm số. 4
Hệthống ñộng (Dynamic) và chuỗi thời gian (Time Series). 4
Phân loại (Classification) và nhóm (Clustering) . 5
MÔ HÌNH TUYếN TÍNH (LINEAR MODELS) . 5
MÔ HÌNH TRựC GIÁC (PERCEPTRON) . 6
Thuật toán Huấn luyện. 7
FEEDFORWARD VÀ RADIAL BASIS FUNCTION NETWORKS. 7
Mạng neural Feedforward (FF) . 7
Mạng ña lớp . 9
Ví dụ . 9
Mạng Radial Basis Network (RBF). 12
Huấn luyện mạng Feedforward và Radial Basis Function . 14
Levenberg-Marquardt . 15
Gauss-Newton. 15
Giảm dốc nhất (Steepest Descent). 15
Lan truyền ngược (Backpropagation). 16
Ví dụminh so sánh các phương pháp huấn luyện khác nhau . 16
MạNG NEURAL ðộNG (DYNAMIC) . 19
MạNG HOPFIELD . 21
Mạng Hopfield rời rạc thời gian. 22
Mạng Hopfield Liên tục thời gian . 23
MạNG KHÔNG GIÁM SÁT (UNSUPERVISED)VÀ MạNG VECTOR LƯợNG TửHÓA (QUANTIZATION) (VQ) . 23
CÁC MINH HọA CƠBảN. 24
BÀI TOÁN PHÂN LOạI (CLASSIFICATION). 25
XấP XỉHÀM Số (FUNCTION APPROXIMATION) . 26
THAM KHảO: . 27
27 trang |
Chia sẻ: maiphuongdc | Lượt xem: 3902 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Tổng quan về mạng Neural Network trong phân tích ảnh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iá trị thực với chiều hoặc
ñộ dài tùy ý. 1 cách thông thừơng x chỉ dữ liệu nhập, vector nhập, giá trị
hồi quy (regressor), hoặc vector mẫu (pattern vector). ðộ dài vector chỉ số
nút nhập của mạng.
o Dữ liệu xuất ñược ký hiệu là yˆ là xấp xỉ của giá trị ra lý tưởng. là 1 vector
giá trị thực có 1 hay nhiều phần tử chỉ số nút ra của mạng.
o Thông thường tập dữ liệu bao gồm nhiều cặp dữ liệu nhập-xuất. x và y
biểu diễn bởi ma trận với 1 vector nhập vector xuất ở mỗi dòng.
• mạng neural là 1 cấu trúc bao hàm các quan hệ các trọng số của neurons, hay các
ñơn vị (units) với các phép biến ñổi vô hướng không tuyến tính và tuyến tính.
Minh họa ví dụ về mạng neural 1 lớp ẩn với 3 nút nhập, x = {x1,x2,x3} và nút giá
trị lệch (unity bias) nối vào 2 neuron trong lớp ẩn. 2 giá trị ra từ lớp ẩn cùng với
giá trị lệch ñược ñưa vào 1 neuron ở lớp xuất tính ra giá trị xuất vô hướng yˆ .
Lớp chứa các neuron gọi là lớp ẩn vì giá trị xuất của nó không cần xuất ra trực
tiếp trong dữ liệu. các kiểu ñặt trưng của mạng neural ñược ñề cập trong phần
mạng Feedforward và Radial Basis Function.
Các mũi tên tượng trưng cho các tham số giá trị thực hay trọng số của mạng.
• 1 neuron là 1 cấu trúc ñể xử lý các nút nhập, bao gồm cả giá trị lệch, theo hướng
không tuyến tính, cho ra 1 giá trị xuất. ðồng thời, tất cả các nút nhập ñưa vào
neuron ñược gia tố thêm bởi các trọng số. sau ñó lấy tổng và ñưa vào hàm số
không tuyến tuyến gọi là hàm hoạt ñộng σ.
- 4 -
• Như minh họa ở hình trên, giá trị xuất của mạng dược tính như sau:
trong ñó các trọng số là 1 1 2 2
, , 1{ , , , }i j i jw b w b
• Eq (1) là 1 ánh xạ không tuyến tính x yˆ , ở dạng rút gọn, ánh xạ ñược viết:
Trong ñó θ là vector giá trị thực có các phần tử là các tham số (trọng số) của
mạng.
• Mục tiêu của việc huấn luyện mạng là tìm giá trị tham số θ thích hợp ñể với dữ
liệu nhập x bất kỳ có ra 1 giá trị yˆ xấp xỉ gần với y nhất. các thuật toán huấn
luyện sẽ lặp nhiều bước với vector tham số khởi tạo θ và ñược cập nhật tốt hợp
trong mỗi bước lặp.
• Trước khi mạng ñược chấp nhật, cần có bước kiểm nghiệm (validate). Nghĩa là
mạng sẽ ñược chạy thử với 1 số dữ liệu ñã biết. ðơn giản và tốt nhất là thử
nghiệm mạng với tập dữ liệu mà không có trong dữ liệu ñược huấn luyện và dữ
liệu này với dữ liệu huấn luyện ñược tạo ra trong cùng các ñiều kiện tương tự
nhau. Việc huấn luyện mạng thường thất bại trong bước kiểm nghiệm, trong
trường hợp này, ta phải chọn mô hình tốt hơn. Tuy nhiên, ñôi khi ta chỉ cần lặp lại
bước huấn luyện với giá trị tham số khởi tạo θ khác. Một khi mạng neural ñã
ñược kiểm nghiệm thành công, mạng có thể ñược ñưa vào sử dụng.
Xấp xỉ hàm số
• Khi dữ liệu nhập bắt nguồn từ 1 hàm số với các nút xuất giá trị thực trong 1
khoảng liên tục, mạng neural ñược xem như là sự xấp xỉ hàm số truyền thống. 1
ví dụ của bài toán xấp xỉ là nhiệt ñộ của 1 ñối tượng có thể ñược tính bằng ñộ bức
xạ. ví dụ thông thường khác là cỡ giày có thể ước lượng từ chiều cao của người
mang. 2 ví dụ này liên quan ñến mô hình mạng với 1 nút nhập vào 1 nút xuất. 1
mô hình mạnh hơn ở ví dụ 2 là dùng giới tính như nút nhập thứ 2 ñể ước lượng
chính xác hơn.
• Các hàm số thuần túy có thể ñược xấp xỉ bởi 2 kiểu mạng neural:
o Feedforward Neural Networks
o Radial Basis Function Networks
Hệ thống ñộng (Dynamic) và chuỗi thời gian (Time
Series)
• Dữ liệu vào phụ thuộc thời gian, cần ñến “bộ nhớ” (memory) nên ñược nói ñến
như là hệ thống ñộng.
- 5 -
• thông tin quá khứ ñược dùng ñể dự ñoán trạng thái tương lai.
• Ví dụ: dự ñoán giá cả; mô tải tốc ñộ máy dựa vào ñiện áp và tải trọng..
o Ví dụ 1: time-series không có dữ liệu nhập.
o Ví dụ 2: 2 dữ liệu nhập là ñiện áp và tải trọng.
• Mạng neural ñộng có thể dùng FF hay RBF và cần bộ nhớ cho thông tin quá khứ.
Phân loại (Classification) và nhóm (Clustering)
• Phân loại dữ liệu vào trong danh mục, lớp dựa trên tập các ñặt trưng riêng.
• Gọi là mạng phân loại (network classifier).
• Huấn luyện dùng dữ liệu vào từ các lớp khác nhau, dữ liệu ra là vectors chỉ ra
thuộc lớp nào.
• Dữ liệu ra thường là vector các lớp trong ñó 1 chỉ ra dữ liệu thuộc lớp và 0 cho tất
cả lớp còn lại.
• Các kiểu mạng thường dùng ñể giải bài toán phân loại:
o Perceptron
o Vector Quantization (VQ) Networks
o Feedforward Neural Networks
o Radial Basis Function Networks
o Hopfield Networks
Mô hình tuyến tính (Linear Models)
• Minh họa mô hình tuyến tính:
x1, x2, …, xn là các nút nhập, yˆ là nút xuất. mỗi mũi tên ñại diện trong số tương
ứng các nut.
- 6 -
• Biễu diễn bằng phương trình:
• Mô hình tuyến tính với nhiều nút xuất:
Mô hình trực giác (Perceptron)
• Là dạng ñơn giản nhất của mạng neural. Thường ñược dùng trong việc phân loại.
• Minh họa mô hình trực giác với các nút nhập x1, x2, …, xn và 1 nút xuất yˆ :
• nút xuất ñược tính bằng công thức:
trong ñó {w1, w2, …, wn} là trọng số của nút nhập, b là ñộ dốc (bias weigth). Mỗi
trọng số ñại diện bởi mũi tên trong hình trên.
Hàm UnitStep trả về 0 cho các giá trị nhỏ hơn 0, ngược lại trả về 1. Do ñó nút
nhập yˆ có giá trị 0 hay 1 tùy theo giá trị tổng trọng số. Cho nên mô hình trực
giác chỉ ra 2 lớp tương ứng 2 giá trị xuất.
• Trong quá trình huấn luyện, các trọng số (nút nhập và ñộ dốc) ñược ñiều chỉnh ñể
giá trị nhập ánh xạ chính xác ñến 2 lớp.
- 7 -
Thuật toán Huấn luyện
• Mô hình trực giác ñược biểu diễn bằng tham số bởi {w, b}. w là vector cột có ñộ
dài bằng chiều vector nhập x.
• Vector nhập x = {x1,x2,…,xn}, nút xuất ñược biểu diễn:
• Nếu x là ma trận với mỗi dòng là 1 vector thì yˆ là vector cột có giá trị tương ứng
cho mỗi dòng.
• {w, b} nhận ñược trong các bước lặp huấn luyện mạng với các cặp dữ liệu nhập –
xuất ñã xác ñịnh. Mỗi vector nhập là 1 dòng ma trận x, mỗi nút xuất là 1 dòng của
vector dòng yˆ .
• Cho N cập, việc huấn luyện mạng ñược ñịnh nghĩa như sau:
Trong ñó i là các bước lặp, η là ñộ lớn bước nhảy và εi=y- yˆ (x,wi,bi) là vector cột
N phần tử sai số tương ứng N dữ liệu mẫu trong tập huấn luyện. Phần tử của
vector sai số có thề là 1 trong 3 giá trị 0, -1, 1. Ở mỗi bước lặp i, 0 chỉ ra dữ liệu
mẫu phân loại chính xác, các giá trị còn lại là không chính xác.
• Việc huyến luyện sẽ dừng khi tất cả các trọng số {w,b} ñựơc cập nhật sao cho tất
cả dữ liệu mẫu ñều ñựơc phân loại chính xác hoặc bước lặp i tiến ñến giới hạn
imax.
• ðộ lớn bước nhảy η hay còn gọi là tốc ñộ học (learning rate) có giá trị mặc ñịnh:
mặc dù giá trị η càng lớn có thể tăng tốc ñộ học, tuy nhiên cũng có thể gây ra sự
dao ñộng làm có thể làm chậm sự hội tụ.
Feedforward và Radial Basis Function Networks
[introduction…]
Mạng neural Feedforward (FF)
• Phổ biến và ứng dụng rộng rãi nhất. ñược biết với tên gọi khác là mạng trực giác
nhiều lớp (multi-layer perceptrons)
- 8 -
• Minh họa mạng FF 1 lớp ẩn với các nút nhập x1, x2, …, xn và 1 nút xuất yˆ
mạng ñược chia thành nhiều lớp. lớp nhập bao gồm các nút nhập, lớp ẩn bao gồm
các neuron ẩn ñặt song song. Mỗi neural biểu diễn tổng trọng các nút nhập sau ñó
ñược ñưa vào hàm hoạt ñộng σ(activation function) còn ñược gọi là hàm neural.
• Biểu diễn toán học:
1
n
j j j
j
w x bσ
=
+
∑
trong ñó trọng số {wj, bj} tượng trưng bằng các mũi tên hướng vào neuron.
• Nút xuất bằng tổng trọng ñầu ra của các neuron. Tập các nút xuất gọi là lớp xuất.
• Dữ liệu xuất của mạng ñược tính bởi công thức:
n là số nút nhập, nh là số neuron trong lớp ẩn. các biến { 1
,i jw ,
1
,j ib ,
2
iw ,
2b } ñược
gộp chung trong vector θ. Một cách tổng quát, mô hình mạng neural ñược viết
dưới dạng rút gọn g(θ,x) .
• Trong quá trình huấn luyện mạng. các tham số sẽ ñược ñiều chính tăng dần cho
ñến khi dữ liệu mẫu thỏa ánh xạ mong muốn nhất, tức là ˆ( )y ϑ ñạt ñến y chính xác
nhất có thể trong giới hạn số các bước lặp.
• Hàm hoạt ñộng phi tuyến thường ñược chọn là hàm có bước nhảy mịn (smooth
step function). Phổ biến nhất là hàm sigma
- 9 -
ñồ thị là:
Mạng ña lớp
• Hình minh họa mạng có 2 lớp ẩn với nhiều nút xuất:
• Số các lớp ẩn và số neuron ẩn là các tham số do người dùng thiết kế. 1 quy tắc
chung là chọn các tham số sao cho mô hình khả thi nhất với ít các tham số nhất có
thể. Trong thực tế, quy tắc này không phải luôn tốt, mà ta cần thử với nhiều mẫu
lựa chọn khác nhau, so sánh các kết quả ñể chọn ra mô hình mạng phù hợp nhất
cho bài toán.
• Trong nhiều ứng dụng thực tế, mạng 1 hoặc 2 lớp ẩn là vừa ñủ.
• Giá trị xuất của các neuron trong hình trên là tuyến tính, không có hàm hoạt ñộng
phi tuyến tính ñược tính sau khi lấy tổng trọng số. ñiều này tốt trong các bài toán
hệ thống ñộng và dãy thời gian (dynamic và time series). Tuy nhiên nếu dùng
mạng FF trong các bài toán phân loại, sẽ thuận lợi nếu các giá trị xuất của neuron
là không tuyến tính. Mô tả sẽ ñược diễn giải trong ví dụ dùng mạng FF cho bài
toán phân loại. (example)
Ví dụ
• Quy ước:
o ðể huấn luyện mạng cần 1 tập dữ liệu 1{ , }Ni i ix y = chứa N cập dữ liệu nhập -
xuất. ñược biểu diễn dưới dạng ma trận, trong ñó xi là vector trên dòng thứ
i của ma trận dữ liệu nhập, yi là vector trên dòng i của dữ liệu xuất.
Ví dụ: 20 cặp, vector xi có ñộ dài 1, vectory yi có ñộ dài 2.
x =
- 10 -
y =
o Trong bài toán phân loại, dữ liệu nhập ñược gọi là vector mẫu. Mỗi dòng
của dữ liệu nhập x chứa 1 vector mẫu, và dòng tương ứng trong dữ liệu
xuất y chỉ ra chính xác lớp của vector mẫu. ma trận y có mỗi cột tương
ứng 1 lớp, trên mỗi dòng, ứng với lớp chính xác có giá trị 1, còn lại mang
giá trị 0. Nếu bài toán phân loại chỉ có 2 lớp, ta cũng có thể chỉ dùng 1 cột,
chỉ ra lớp với giá trị 0 hoặc 1.
Ví dụ:
vector mẫu x25 =
tương ứng y25 = nên mẫu thuộc lớp 2.
• Dữ liệu mẫu bao gồm 3 lớp, mỗi lớp phân thành 2 nhóm. x là dữ liệu nhập, y chỉ
ra lớp tương ứng.
• Trong bài toán phân lọai, ñiểm quan trọng là sự không tuyến tính khác nhau ở nút
ra trong mạng FF. mục ñích của không tuyến tính là chắc rằng giá trị xuất nằm
bên trong vùng phân lớp khác nhau. chúng ta sẽ dùng hàm Sigma ñể bão hòa các
giá trị là 0 hoặc 1 chính xác với dữ liệu xuất của lớp. Chú ý rằng hàm Sigma
không bao giờ tiến ñến chính xác giá trị 0, 1.
• Huấn luyện mạng FF với 8 bước lặp:
- 11 -
• Sau khi ñược huấn luyện với tập dữ liệu mẫu, áp dụng thử cho 2 vector nhập:
nhập:
xuất:
vector dữ liệu tương ứng với lớp mà có giá trị lớn nhất. nếu vector xuất có nhiều
phần tử mang giá trị lớn nhất, hoặc không có phần tử nào thì hệ thống phân loại
ñược xem như không ñáng tin cậy ñối với dữ liệu ñược dùng.
• Biểu diễn hệ thống phân loại bằng ñồ thị ñường biên:
• Chúng ta cũng có quan sát ñồ thị hàm phân loại. có 3 ñồ thị ứng với 3 lớp. các
ñường biên (biễu diễn ở trên) ứng với ñường cong cắt mặt tại giá trị xuất 0.5:
- 12 -
• Minh họa quá trình huấn luyện:
Mạng Radial Basis Network (RBF)
• Minh họa mạng neural với các n nút nhập và 1 nút xuất.ñầu ra của neuron ñược
ñưa vào hàm basis function. Nút xuất của mạng ñược tính bằng các lấy tổng trọng
- 13 -
số các neuron.
• Mạng RBF thường bao gồm cả phần tuyến tính. ðược viết bằng phương trình như
sau:
nb là số neuron, mỗi neuron có 1 hàm basis. Tham số mạng RBF bao gồm tập các
vị trí 1iw của các hàm basis là nghịch ñảo ñộ dài iλ của hàm basis, trọng số 2iw của
tổng xuất, và các tham số của các thành phần tuyến tính χ1, χ2,…, χn.
• Các tham số ñược gộp chung thành θ trong dạng thu gọn g(θ,x), g là hàm mạng và
x là dữ liệu nhập.
• Trong quá trình huấn luyện, các tham số ñược ñiều chỉnh ñể dữ liệu mẫu ñúng với
Eq. (10) tốt nhất có thể. Quy trình huấn luyện sẽ ñược mô tả ở phần tiếp theo.
• Trong Eq. (10), hàm basis ñược chọn là hàm Gaussian, tuy nhiên có thể chọn 1
hàm khác.
• Minh họa mạng RBF với nhiều nút xuất:
- 14 -
Huấn luyện mạng Feedforward và Radial Basis Function
• Cho mạng với dữ liệu mẫu gồm N cập dữ liệu xuất – dữ liệu nhập ( 1( , )Ni i ix y = . Sai
số bình phương trung bình (MSE) ñược ñịnh nghĩa như sau:
• Việc huấn luyện mạng là tìm ra tham số θ phù hợp nhất. θ ñược ñánh giá tốt khi
MSE là nhỏ nhất:
• thông thường sai số căn bình phương trung bình (RMSE) thường ñược dùng khi
ước lượng mô hình trong và sau khi huấn luyện, RMSE ñược so sánh trực tiếp với
giá trị xuất. giá trị RMSE ñược ghi nhận lại minh họa quá trình huấn luyện bằng
ñồ thị.
• Có nhiều thuật toán ñể huấn luyện mạng. các thuật toán bắt ñầu với tham số khởi
tạo θ0, quá trình huấn luyện sẽ làm giảm MSE ở các bứơc lặp bằng cách cập nhật
θ tăng dần theo hướng làm giảm dốc (gradient) của MSE:
• R có thể làm ñổi hướng tìm kiếm từ hướng giảm dốc sang hướng khác có lợi hơn.
Tham số µ ñiều chỉnh ñộ lớn mỗi lần cập nhật θ cho bước lặp i và giảm giá trị
MSE. Việc chọn R và µ khác nhau tùy theo các thuật toán huấn luyện.
• Nếu R ñược chọn là nghịch ñảo Hessian của hàm MSE. Hessian ñược tính như
sau:
Eq. (15) là dạng của thuật toán Newton. Nếu Hessian không xác ñịnh, θ ñược cập
nhật theo hướng tăng dốc mà sẽ làm tăng giá trị MSE. Có thể tránh bằng cách
dùng các R khác nhau. Thuật toán GN giống với Newton với phần cuối ñược lược
bỏ, phần ñầu của Eq. (15):
• Với H ñã ñược ñịnh nghĩa, các phương pháp tìm kiếm có thể chọn 1 trong các
thuật toán sau:
o Levenberg-Marquardt
o Gauss-Newton
o (Giảm dốc nhất) Steepest-descent
o (Lan truyền ngược) Backpropagation
- 15 -
Levenberg-Marquardt
• Thuật toán Levenberg-Marquardt (LMA) nội suy giữa Gauss-Newton (GNA) và
phương pháp giảm dốc. LMA thông dụng hơn so với GNA, trong nhiều trường
hợp nó tìm ra giá trị cực tiểu rất nhanh.
• Thay vì lựa chọn ñộ lớn µ ñể ñảm bảo ñi theo hướng xuống dốc ở mỗi bước lặp
Eq (14), ma trận ñường chéo ñược thêm vào H ở Eq. (16), R ñược chọn như sau:
và µ=1.
• Giá trị λ sẽ ñược chọn tự ñộng ñể sinh ra bước xuống dốc. ở mỗi bước lặp, thuật
toán sẽ cố giảm giá trị của λ bằng cách tăng ∆λ. Nếu giá trị hiện tại của λ mà
không làm giảm MSE ở Eq. (14) thì λ sẽ ñược làm tăng trong các bước tiếp theo
với giá trị ∆λ cho ñến khi MSE giảm.
• Việc huấn luyện sẽ bị dừng nếu xảy ra 1 trong các ñiều kiện sau:
o λ>10∆λ+Max[s]
o
s là ñộ dài vector giá trị riêng lớn nhất của H
• Giá trị λ lớn tạo ra các tham số tăng chủ yếu theo hướng giảm dốc
Gauss-Newton
• Nhanh, và mạnh, ñược dùng trong nhiều bài toán cực tiểu khác nhau. Tuy nhiên
nếu mạng neural có Hessian ñiều kiện yếu, tức là ñộ dài vector riêng nằm trong
khoảng rất lớn, thuật toán sẽ làm chậm quá trình học ñáng kể.
• Thuật toán học dùng phương pháp Gauss-Newton với ma trận R ñược chọn là
nghịch ñảo của H trong Eq. (16) như sau:
• ở mỗi bước lặp, tham số ñộ dài bước nhảy ñược sẽ là µ=1 nếu MSE trong Eq. (11)
giảm, ngược lại µ ñược chia ñôi cho ñến khi tạo ra bước ñi xuống dốc. Sau ñó
thuật toán sẽ tiếp tục với bước lặp kế.
• Việc huấn luyện sẽ bị dừng nếu xảy ra 1 trong các ñiều kiện sau:
o
o
Giảm dốc nhất (Steepest Descent)
• Eq. (14) giảm dốc nhất khi
- 16 -
Có nghĩa là vector tham số θ ñược cập nhật theo hướng giảm dốc của MSE ở Eq.
(13)
• ở mỗi bước lặp, µ ñược nhân ñôi, nếu MSE không giảm, µ sẽ ñược chia ñôi cho
ñến khi làm giảm.
• ðiều kiện dùng ở phương pháp này tương tự phương pháp Gauss-Newton.
• So sánh với 2 phương pháp trước thì phương pháp này cần ít sự tính toán hơn ở
mỗi bước lặp bởi không có ma trận nghịch ñảo. tuy nhiên lại không hiệu quả bằng
2 phương pháp trên.
Lan truyền ngược (Backpropagation)
• Phương pháp lan truyền ngược tương tự giảm dốc nhất. với ñiểm khác biệt là µ
ñược giữ cố ñịnh trong suốt quá trình học. µ ñược chọn mặc ñịnh bằng 0.1.
• Luyện mạng trong Eq. (24) có thể ñược mở rộng thêm với tham số mômen α:
giá trị mặc ñịnh của α ñược chọn là 0.
• Việc dùng mômen là cần thiết ñể tránh cực tiểu ñịa phương.
• Tốt hơn nên chọn các phương pháp huấn luận khác và lặp lại quá trình học nhiều
lần với tham số khỏi tạo khác nhau.
Ví dụ minh so sánh các phương pháp huấn luyện khác
nhau
• Trong minh họa này mạng chỉ có 2 tham số, ñể ta có thể biễu diễn ñược bằng ñồ
thị, RMSE ñược biểu diễn như mặt cong.
• Hàm minh họa ñược chọn có 1 nút nhập và 1 nút xuất với tham số ñúng là 2 và -1.
• Hình minh họa các tham số lân cận với tham số cực tiểu (2, -1).
- 17 -
• Chọn tham số khởi tạo là (-0.5, -5).
• Phương pháp Levenberg-Marquardt
o Mô hình 3D:
trục x, y biểu diễn 2 tham số, trục chiều cao z biểu diễn giá trị RMSE
tương ứng.
o ở các bước lặp, ñiểm tương ứng ñược tô ñen, nối liên tục bằng các ñường
thẳng minh họa ñường quỹ ñạo. quá trình huấn luyện hội tụ sau 5 bước
lặp.
• Phương pháp Gauss-Newton
- 18 -
o Mô hình 3D:
o Thuật toán hội tụ sau 7 bước lặp.
• Phương pháp Steepest Descent Method
o Mô hình 3D:
o Mạng sẽ không hội tụ trong 30 bước, tuy nhiên ñiều này không quan
trọng, tham số chỉ cần ñặt ñược ñủ gần giá trị hội tụ.
o Minh họa cho thấy càng ñến gần ñiểm hội tụ tốc ñộ càng chậm. Phương
pháp Giảm dốc nhất cho thấy sự hội tụ diễn ra chậm hơn so với 2 phương
pháp trên.
• Phương pháp Backpropagation
o Thuật toán ñòi hỏi chọn ñộ lớn bước nhảy và giá trị mômen mà ko phải dễ
dàng ñể chọn ra giá trị thích hợp. ñiều này không quan trọng ñối với các
phương pháp khác bởi khả năng tự ñiều chỉnh kích thứơc bước nhảy. việc
- 19 -
chọn giá trị ban ñầu của các tham số sẽ ảnh hưởng ñến tốc ñộ hội tụ.
o Mô hình 3D:
o Bởi toán tử momen ñược dùng trong quá trình học, tham số ước lượng sẽ
ñi lên sát dốc ở giá trị khởi tạo
Mạng Neural ðộng (Dynamic)
• Hệ thống gồm 3 kiểu tín hiệu:
o tín hiệu xuất y(t) là tín hiệu có thể ño/quan sát ñược.
o tín hiệu vào u(t) là tín hiệu ño ñược từ bên ngoài, có ảnh hưởng ñến hệ
thống.
o tín hiệu nhiễu e(t) ảnh hưởng ñến hệ thống những là tín hiệu không ño
ñược.
• Trong hệ thống 1 vào 1 ra (SISO), tín hiệu là 1 chỉ số phụ thuộc thời gian.
- 20 -
• Trong hệ thống n vào n ra (MIMO), tín hiệu là 1 vector phụ thuộc thời gian.
• Nếu không có tín hiệu vào hệ thống ñược xem là bài toán dự doán dãy thời gian
(time series prediction). Hệ thống ñược gọi là loan truyền nhiễu (noise driven) vì
tín hiệu xuất chỉ bị ảnh hưởng bởi nhiễu e(t).
• Hệ thống mạng neural dynamic bao gồm:
o Tập hợp mạng neural FF hoặc RBF.
o Vector tín hiệu hay vào vector hồi quy (regressor vector) gồm giá trị trễ
vào và ra ñược ñánh chỉ số na, nb, nk.
• Trong hệ thống SISO vector nhập sẽ là:
( ) [ ( 1)... ( ) ( )... ( 1)]Ta k k bx t y t y t n u t n u t n n= − − − − − + (22)
chỉ mục na chứa giá trị trễ bao lâu của tính hiệu xuất. Chỉ mục nk chứa giá trị trì
hoãn của tính hiệu nhập so với tính hiệu xuất. chỉ mục nb chứa giá trị trễ của tính
hiệu xuất.
• ðối với hệ thống MIMO, giá trị tính hiệu trễ là 1 vector có ñộ dài tương ứng số
tính hiệu ra và vào. Ví dụ: 3-out – 2-in: na={1,2,1}, nk={2,1}, nb={1,0}:
1 2 2 3 1 1 2( ) [ ( 1) ( 1) ( 2) ( 1) ( 1) ( 2) ( )]x t y t y t y t y t u t u t u t= − − − − − −
(tương tự công thức của SISO nhưng áp dụng cho 3 nút xuất và 2 nút nhập).
• ðối với bài toán chuỗi thời gian, thì chỉ có na ñược chọn.
• Giá trị dự ñoán ˆ( )y t ñược diễn tả như sao:
ˆ( ) ( , ( ))y t g x tθ= (23)
• Mô với giá trị hồi quy như Eq. (22) ñược gọi là mô hình ARX (AutoRegressive with
eXtra input signal). Khi không có tính hiệu vào u(t) giá trị trễ ñược loại trừ từ Eq.
(22) ñược gọi là mô hình AR.
• Mạng neural mô hình ARX dựa trên mạng FF 1 lớp ẩn:
• Mô hình ARX không có tín hiệu xuất gọi (na=0) gọi là mô hình FIR (Finite Impulse
Response)
- 21 -
• Tính hiệu nhiễu e(t) mặt dù không ño ñược, nhưng vẫn có thể ước lượng khi mô hình
ñã ñược huấn luyện. ðược gọi là lỗi dự ñóan (prediction error) và ñược ñịnh nghĩa là:
ˆ ˆ( ) ( ) ( )e t y t y t= − (24)
ˆ( )e t ñược xem như là chỉ số chất lượng mô hình (càng nhỏ càng tốt).
Mạng Hopfield
• Thường dùng trong các bài toán phân loại với các vector mẫu nhị phân (binary
pattern vector).
• Mạng Hopfield ñược tạo ra bằng cách cung cấp các vector dữ liệu vào - vector
kiểu mẫu tương ứng với các lớp khác nhau. Gọi là các mẫu phân loại lớp (class
patterns).
• Trong không gian dữ liệu n chiều, các mẫu phân loại lớp có n thành phần nhị
phân {1,-1} mà mỗi mẫu tương ứng với 1 góc của hình khối (cube) trong không
gian n chiều. Thường dùng ñể phân loại các mẫu bị biến dạng vào trong lớp thích
hợp.
• Khi mẫu biến dạng ñã ñược phân loại trong mạng, nó ñược quy về 1 mẫu khác
(associated pattern). Nếu mạng làm việc chính xác mẫu liên kết là 1 trong các
mẫu phân loại lớp. trong 1 vài trường hợp, cực tiểu giả (spurious minima) có thể
xuất hiện, dẫn ñến mẫu liên kết sẽ không nằm trong các vector mẫu.
• Mạng Hopfield ñôi khi cũng ñược gọi là mạng Liên kết (associative networks) bởi
nó liên kết mẫu phân loại lớp cho mỗi mẫu dữ liệu nhập.
• Ví dụ: nhận dạng ký tự. ký tự A, I, Y lần lượt ñược ma trận hóa 3x4 sau ñó ñưa về
dạng vector. ðây là các mẫu phân loại lớp.
x=-{{{1,-1,1},{1,1,1},{1,-1,1},{1,1,1}},
{{-1,1,-1},{-1,1,-1},{-1,1,-1},{-1,1,-1}},
{{-1,1,-1},{-1,1,-1},{1,-1,1},{1,-1,1}}};
ñưa vào mạng Hopfield.
tạo các mẫu dữ liệu nhập là các ký tự bị nhiễu:
ñưa vào mạng ñánh giá. Trả về:
- 22 -
ñối với dữ liệu nhập ñược sinh ngẫu nhiên:
quan sát dữ liệu trả về:
không phải lúc nào mạng cũng trả về 1 trong các dữ liệu mẫu. ñiều này do gặp
phải trường hợp cực tiểu giả.
• 2 kiểu mạng Hopfield:
o Liên tục thời gian (Continuous-time).
o Rời rạc thời gian (discrete-time).
• Ma trận trọng số ñược ñịnh nghĩa là:
D là số các mẫu phân loại lớp (class patterns) {ξ1, ξ2, …, ξD}, các vector mẫu ξi
gồm các phần tử ±1 ñược lưu trữ trong mạng, n là số thành phần hay chiều của
vector mẫu.
Mạng Hopfield rời rạc thời gian
• ðối với mạng Hopfield rời rạc thời gian:
chỉ ra 1 trạng thái x(t) tại một thời ñiểm. ở mỗi bước lặp, trạng thái ñược cập nhật
ngẫu nhiên. Tiến trình cập nhật không ñồng bộ này cần thiết ñể mạng hội tụ
x(t)=Sign[W x(t)].
Bắt ñầu với x(0) là mẫu biến dạng. lặp cho ñến khi Eq. (26) trả về 1 mẫu liên kết
khi phương trình này hội tụ.
• ðối với mạng Hopfield rời rạc thời gian, năng lượng (energy) của 1 vector x nào
ñó ñược cho bởi:
Eq. (26) hội tụ về giá trị có năng lượng nhỏ nhất. do ñó các cực tiểu của Eq. (27)
tạo ra các ñiểm hội tụ của mạng. Các cực tiểu này chỉ ra các mẫu phân loại lớp
{ξ1, ξ2, …, ξD}. Do ñó có thể ñảm bảo rằng mạng Hopfield sẽ luôn hội tụ về 1
- 23 -
mẫu phân loại lớp, tuy nhiên không thể ñảm bảo nó hội tụ về chính xác mẫu
ñúng.
Mạng Hopfield Liên tục thời gian
• ðịnh nghĩa bằng phương trình vi phân:
x(t) là vector trạng thái mạng. W các trọng số. σ là hàm phi tuyến tính thay ñổi lên
trạng thái x(t). Trọng số W ñược ñịnh nghĩa như Eq. (25).
• Hàm năng lượng ñược ñịnh nghĩa:
• Vector x(t) hội tụ về cực tiểu năng lượng ñịa phương (local energy minimum). Do
ñó các cực tiểu trong Eq. (29) tạo thành các ñiểm hội tụ của mạng Hopfield.
Những cực tiểu này ñồng nhất với các mẫu phân loại lớp {ξ1, ξ2, …, ξD}. Tuy
nhiên không ñảm bảo ñược rằng các cực tiểu này trùng khớp với tập mẫu
phân loại lớp khởi tạo.
Mạng không giám sát (Unsupervised) và Mạng
vector Lượng tử hóa (Quantization) (VQ)
• Thuật toán không giám sát ñược dùng ñể tìm cấu trúc của dữ liệu. ví dụ như tìm
nhóm các ñiểm dữ liệu hay tìm ra mối quan hệ 1 chiều trong dữ liệu. nếu cấu trúc
tồn tại nó có thể ñược dùng ñể mô tả dữ liệu ở nhiều dạng rút gọn.
• Hầu hết các mô hình mạng ñược huấn luyện với thuật toán giám sát. Có nghĩa là
dự liệu xuất mong muốn phải tồn tại ứng với mỗi vector dữ liệu nhập trong dụng
trong việc huấn luyện. Mạng không giám sát hay mạng tự tổ chức chỉ dựa vào dữ
liệu nhập ñể tìm ra cấu trúc trong không gian dữ liệu nhập. thuật toán huấn luyện
do ñó ñược gọi là không giám sát.
• Do không có dữ liệu ra “chính xác”, nên cũng không có “sai”. Do ñó quyết ñịnh
tùy thuộc vào người thiết kế. sau khi huấn luyện, cần kiểm nghiệm cấu trúc nhận
ñược thực sự ñại diện cho dữ liệu. Việc kiệm nghiệm sẽ rất phức tạp ñặt biết với
không gian nhiều chiều. ðối với các bài toán 2 hoặc 3 chiều, có thể biểu diễn dữ
liệu và cấu trúc bằng ñồ thị. 1 kiểm nghiệm có thể có số chiều bất kỳ ñể kiểm tra
khoảng cách trung bình giữa các ñiểm dữ liệu và tâm nhóm. Khoảng cách càng
nhỏ thì dữ liệu càng ñựơc ñại diện tốt bởi nhóm.
• Mạng không giám sát bao gồm một số các vector codebook, mà thiết lập nên các
tâm nhóm. Vector codebook có cùng chiều với không gian dữ liệu nhập, các phần
tử của nó là các tham số của mạng không giám sát. Vector codebook ñược gọi là
neron của mạng không giám sát.
- 24 -
• Khi mạng ñã ñược huấn luyện, vị trí của các vector codebook xác ñịnh, khoảng
cách Euclidian trung bình giữa ñiểm dữ liệu ñến vector codebook gần nhất là nhỏ
nhất.
• Mạng không giám sát có thể dùng ñặt trưng lân cận (neighbor feature). Mà hình
thành ánh xạ tự tổ chức (self-organizing map)
Các file đính kèm theo tài liệu này:
- neural_networks.pdf