Cấu trúc đồ án:
Chương 1: Tổng quan về hệ thống thông tin trải phổ.
Giới thiệu tổng quan về hệ thống thông tin trải phổ bao gồm các khối như: mã hóa nguồn, mã hóa kênh, điều chế, kênh truyền, giải điều chế, ghép kênh. Giới thiệu về nguyên lý trải phổ trực tiếp, các mã trải phổ và kỹ thuật trải phổ phân chia theo mã DS-CDMA.
Chương 2: Các bộ tách sóng DS-CDMA
Giới thiệu các tách sóng DS-CDMA: bộ tách sóng cổ điển Matched filter, bộ tách sóng giải tương quan (decorrelating detector), bộ tách sóng phương sai tối thiểu MMSE (Minimun Mean Square Error), bộ tách sóng tối ưu. Mô phỏng trên Simulink.
Chương 3: Bộ tách sóng DS-CDMA dùng mạng nơron
Giới thiệu tổng quan về mạng neuron nhân tạo: về mạng truyền thẳng và giải thuật lan truyền ngược, cấu trúc của bộ thu CDMA dùng mạng neuron, mô phỏng trên Simulink của Matlab.
Chương 4: Xây dựng bộ tách sóng DS-CDMA dùng mạng neuron trên kit DE2
Giới thiệu công nghệ FPGA, kit DE2, bộ tách sóng cổ điển và bộ tách sóng dùng mạng neuron xây dựng trên kit DE2
Chương 5: Kết luận và hướng phát triển
Tổng kết vấn đề nghiên cứu và hướng phát triển của đề tài.
36 trang |
Chia sẻ: tuandn | Lượt xem: 2381 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng bộ tách sóng DS-CDMA dùng mạng Nơron trên KIT DE2, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Trang 68
C ươ 3: -C ơ
Chương 3
- ƠRO
t u neuron t ANN-Artificial Neural Network)
Bộ não con người là hệ thống xử lý thông tin phức hợp, phi tuyến, song song và
có khả năng học, ghi nhớ, tổng quát hóa và xử lý lỗi. Nó bao gồm khoảng 1011 tế bào
thần kinh liên kết với nhau.
Các nhà khoa học chỉ mới bắt đầu hiểu mạng thần kinh sinh học hoạt động như
thế nào. Tổng quát rằng tất cả các chức năng thần kinh bao gồm cả bộ nhớ được chứa
đựng trong những tế bào thần kinh và trong những thông tin liên kết giữa chúng.
Học tập được xem như những thiết lập mới giữa các tế bào thần kinh hay những thay
đổi của những liên kết hiện tại.
neuron
Tế bào thần kinh sinh học gồm 3 thành phần chính là thân tế bào (Cell body), một
hệ thống hình cây các đầu dây thần kinh vào (Dendrite) và một trục (Axon) dẫn đến
các đầu dây thần kinh ra. Tại đầu của các dây thần kinh có các khớp thần kinh
(Synapse) để liên kết với các tế bào thần kinh khác.
Tín hiệu truyền trong các dây thần kinh vào và dây thần kinh ra của các tế bào
thần kinh là tín hiệu điện phát sinh thông qua các quá trình phản ứng và giải phóng các
chất hữu cơ. Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào
sẽ làm tăng hay giảm điện thế của nhân tế bào.
Trang 69
C ươ 3: -C ơ
2 Cấu ú ủ eu
Khi điện thế này đạt đến một ngưỡng nào đó sẽ tạo ra một xung điện dẫn đến trục
dây thần kinh ra. Xung này được truyền theo trục tới các nhánh rẽ khi chạm tới các
khớp nối với các tế bào thần kinh khác sẽ giải phóng các chất truyền điện. Quá trình
lan truyền tín hiệu cứ tiếp tục như vậy cho đến khi đến đầu ra cuối cùng. Mạng thần
kinh nhân tạo là mô hình toán học đơn giản của bộ não người. Bản chất thần kinh nhân
tạo là mạng tính toán phân bố song song. Các nghiên cứu về mạng thần kinh nhân tạo
đã bắt đầu từ thập niên 1940.
Qu ì uy ô ủ eu
Trang 70
C ươ 3: -C ơ
Mạng thần kinh nhân tạo có thể xem như là mô hình toán học đơn giản của bộ
não con người. Mạng thần kinh nhân tạo gồm các tế bào thần kinh nhân tạo kết nối với
nhau bởi các liên kết. Mỗi liên kết kèm theo một trọng số, đặc trưng cho đặc tích kích
thích hay ức chế giữa các tế bào thần kinh nhân tạo.
So sánh với tế bào thần kinh sinh học, ở tế bào thần kinh nhân tạo, trọng số w đặc
trưng cho mức liên kết của các khớp (synapse), phần thân (cell body) được biểu diễn
bởi phép toán cộng và hàm chuyển đổi f. Và ngõ ra a là tín hiệu ra trên trục (axon).
2 ô ì ột neuron
Input Neuron without bias
n f a
( )a f wp
ô ì eu ô
Một mô hình neuron đơn giản nhất chỉ gồm một input p và trọng số w. Sau khi qua
hàm truyền, đầu ra sẽ nhận được là a = f(wp). Trên hình bên phải, ngoài input còn có
thêm phân cực b. Khi đó a=f(wp+b), thực chất phân cực b cũng có tác dụng như trọng
số, chỉ khác là input của nó bằng 1.
Input Neuron with bias
wp n fa
( )a f wp b
b
1
ô ì eu
Trang 71
C ươ 3: -C ơ
Phân cực b sẽ làm dịch chuyển hàm f qua trái một đoạn b. f là hàm truyền, nó nhận
tham số n vào và cho đầu ra là a, thông thường thì f là hàm nấc (step) hay sigmoid.
Mấu chốt của mạng là ở chỗ b và w có thể điều khiển được thông qua tự học bắt buộc,
để cho hệ có thể thực hiện được một yêu cầu cụ thể nào đó.
3.2.1 à truyề
Tuỳ theo yêu cầu mà hàm truyền có thể khác nhau, tuy nhiên dưới đây là các hàm
truyền thông dụng nhất.
Hàm truyền ngưỡng
a
1
0
b
w
1
a = hardlim(n) a = hardlim(wp+b)
a
1
1
0n p
uy
Đây là hàm ngưỡng (Hard-Limit), nó cho ra 0 nếu ngõ vào mạng (net input) n nhỏ hơn
0 và cho ra 1 nếu n lớn hơn hay bằng 0. Hàm này được sử dụng thông dụng trong mạng
Perceptrons dùng để tạo ra các quyết định mang tính chất phân loại .
Toolbox matlab có một hàm là hardlim, để thực hiện hàm truyền Hard-Limit toán học
được trình bày bên dưới:
n = -5:0.1:5;
plot(n,hardlim(n),'c+:');
nó tạo ra một đồ thị của hàm hardlim trong khoảng [-5 5].
Trang 72
C ươ 3: -C ơ
a
1
0
b
w
1
a = hardlims(n) a = hardlims(wp+b)
a
1
1
0n
p
7 uy
Đây là hàm ngưỡng, nó cho ra -1 nếu net input n là nhỏ hơn 0 và cho ra 1 nếu n lớn
hơn hoặc bằng 0. Hàm này cũng được sử dụng thông dụng trong mạng Perceptron dùng
để tạo ra các quyết định mang tính chất phân loại .
Hàm truyền tuyến tính
a
0
b
w
1
a = purelin(n) a = purelin(wp+b)
a
1
0n p
: uy u e
( )f n n (3.1)
Đây là hàm tuyến tính, nó cho ra giá trị của chính giá trị vào. Hàm này được sử dụng
thông dụng trong mạng Adaline dùng để trong xấp xỉ hàm tuyến tính .
Hàm truyền Log-Sigmoid
Trang 73
C ươ 3: -C ơ
a
1
0
b
w
1
a = logsig(n) a = logsig(wp+b)
a
1
1
0n p
: uy
1
( )
1 n
f n
e
(3.2)
Hàm này còn gọi là hàm bão hoà, nhận đầu vào tuỳ ý và cho đầu ra trong khoảng 0
đến +1. Hàm này được dùng chủ yếu trong mạng truyền ngược bởi vì nó có thể đạo
hàm được. Các hình trong các ô vuông bên trên là các ký hiệu của hàm truyền trong
biểu diễn sơ đồ mạng
Hàm truyền Tan-Sigmoid
a
1
0
b
w
1
a = tansig(n) a = tansig(wp+b)
a
1
1
0n p
: H uy
2
2
1
( )
1
n
n
e
f n
e
(3.3)
Tương tự như hàm truyền logsig, nhưng ngõ ra của hàm truyền tansig giới hạn trong
khoảng [-1 1 . Hàm truyền này thường được sử dụng trong các mạng đa lớp, điển
hình là mạng feed-forward.
Trang 74
C ươ 3: -C ơ
2 2 eur v vect r và
Input Neuron w vector input
1,1w1 n fa
( )a f wp b
b
1
23p
Rp 1,Rw Where R = number of elements in iput
vector
: Mô ì eu u
Thông thường, một neuron có nhiều hơn 1 ngõ vào. Một neuron với R ngõ vào được
thể hiện trên hình. Các ngõ vào riêng biệt p1, p2, … pR được nhân với các thành nhân tố
trọng số tương ứng w1,1, w1,2, … w1,R của ma trận trọng số w. Lúc này net input n sẽ
được biểu diễn:
1,1 1 1,2 2 1,... R Rn w p w p w p b (3.4)
iểu thức này có thể viết dạng ma trận trong Matlab
*n w p b (3.5a)
1
2
1,1 1,2 1,R
R
p
p
n w w w b
p
K
M (3.5b)
Mô hình biểu diễn một neuron ở dạng ký hiệu như sau:
Trang 75
C ươ 3: -C ơ
Input Neuron
1R fn
( )a f wp b
W
R1
Where
R = number of
elements in input
vector
1 R
1 1
a
b 1 11 1
p
2: K u ô ì eu u
Trong đó hàm f tuỳ theo là hàm loại gì mà sẽ có các ký hiệu tương ứng:
ả : Ký hiệu của các hàm truyền thường gặp
a = 0 khi n < 0
a = 1 khi n ≥ 0
hardlim
a = -1 khi n < 0
a = 1 khi n ≥ 0
hardlims
a = 0 khi n < 0
a = n khi n ≥ 0
poslin
a = n
purelin
a = 0 khi n < 0
a = n khi 0 n ≤ 1
a = 1 khi n > 1
satlin
a = -1 khi n < -1
a = n khi -1 n ≤ 1
a =+1 khi n > 1
satlins
Trang 76
C ươ 3: -C ơ
1
1 n
a
e
logsig
2
2
1
1
n
n
e
a
e
tansig
2 c tr c
Các neuron có thể kết hợp với nhau tạo thành một lớp, và một mạng riêng biệt có thể
bao gồm một hay nhiều hơn một lớp mạng.
eur ột
Mạng một lớp với R thành phần ngõ vào và S neuron ở bên dưới
Input Layer of Neurons
1,1w
1p 1
n f1a
( )a f wp b
1b12p3p
Rp
,S Rw
Where
R = number of
elements in iput
vector
S = number of
neurons in layer
2n f 2a
2b1 sn f sa
sb1
: M eu
Trong mạng này, mỗi thành phần của vector ngõ vào p được kết nối tới mỗi ngõ vào
neuron thông qua ma trận trọng số W.
1,1 1,2 1,
2,1 2,2 2,
,1 ,2 ,
R
R
S S S R
w w w
w w w
W
w w w
K
K
M M K M
K
(3.6)
Mạng một lớp có R phần tử ngõ vào và S neuron có thể ký hiệu tắt như sau
Trang 77
C ươ 3: -C ơ
Input Layer of Neurons
1R fn
( )a f wp b
W
R1
Where
R = number of
elements in input
vector
S = number of
neurons in layer
S R
1S
a
b 1S 1S
p
S
: K u eu
Để biểu diễn mạng có nhiều lớp thì hệ thống ký hiệu phải được mở rộng, ở đó ta phải
chú ý phân biệt ma trận trọng số nối với input và ma trận trọng số nối giữa các lớp.
Đồng thời, nguồn và đích cho mỗi ma trận trọng số cũng phải được xác định rõ
Trong đó ta thấy, ma trận trọng số nối với input được gán nhãn IW1,1(Input Weights)
nhận tín hiệu từ nguồn 1 và cho ra đích 1. Các input, ouput và vector phân cực của lớp
đầu tiên đều được gắn thêm chỉ số 1
Input Layer 1
1R
1f1n
1 1 1
1,1( )a f IW p b
1,1IW
R
Where
R = number of
elements in input
vector
S = number of
neurons in layer 1
1S R
1 1S
1a1b 1 1S
1 1S
p
S
: u eu
Mạng neuron nhiều lớp
Một mạng có thể có nhiều lớp. Mỗi lớp có một ma trận trọng số W, một vector phân
cực b và ouput a. Để có thể phân biệt các vector phân cực, output …của từng lớp ta sử
dựng chỉ số ở trên. Như có thể thấy ở hình của một mạng ba lớp dưới đây
Trang 78
C ươ 3: -C ơ
Inputs Layer 1
1,
1,1iw
1p
1
1n
1
1a
1 1 1,1 1( )a f w p b
1
2b
123p
Rp
1f
1
1f
1
1f
1
2n
1
2a
1
1
S
a1
1
S
n
1
1
S
b
1
1b
1
1,
,S R
iw
2
1n
2
1a
2
2b
1
2f
1
2f
2f
2
2n
2
2a
2
2
S
a2
2
S
n
2
2
S
b
2
1b
3
1a
3
2b
1
3f
1
3f
3f
3
2n
3
2a
3
3
S
a3
3
S
n
3
3
S
b
3
1b
3
2n
1
1
Layer 2
2 2 2,1 1 2( )a f LW a b
Layer 3
3 3 3,2 2 3( )a f LW a b
3 3 3,2 2 2,1 1 1,1 1 2 3( ( ( ) ) )a f LW f LW f IW p b b b
: eu 3
Mạng trên có R1 input, S1 neuron cho lớp 1, S2 neuron cho lớp 2... Thông thường tỉ số
neuron trên các lớp là khác nhau tuy nhiên không bắt buộc. Output của lớp trước là
input của lớp sau, vì vậy lớp 2 có thể coi là một mạng đơn lớp với S1 input và S2 ouput,
cùng với ma trận trọng số W2 =S2
× S1
Dạng ký hiệu của một mạng nhiều lớp được thể hiện như sau :
Input Layer 1
1R
1f1n1,1IW
R
1S R
1 1S
a
1b 1 1S
1 1S
p
1S
2f2n1,1IW2 1S S
2 1S
2
1b 2 1S
2 1S 2S
3f3n,1I 3 2S S
3 1S
3a1b 3 1S
3 1S 3S
Layer 2 ayer 3
1 1 1,1 1( )a f w p b 2 2 2,1 1 2( )a f LW a b 3 3 3,2 2 3( )a f LW a b
3 3 3,2 2 2,1 1 1,1 1 2 3( ( ( ) ) )a f LW f L f IW p b b b
1 1
7: K u eu 3
Mạng nhiều lớp có khả năng rất mạnh, ví dụ chỉ cần mạng 2 lớp, với lớp đầu dùng hàm
sigmoid và lớp sau dùng hàm tuyến tính thì có thể mô phỏng rất tốt mọi hàm. Mạng hai
lớp này thường được sử dụng trong mạng truyền ngược (Back Propagation).
Trang 79
C ươ 3: -C ơ
3.3 Perceptron
Kiểu mạng này sử dụng neuron với hàm truyền là hàm ngưỡng Hardlim
Input Perceptron Neuron
1,1w1 n a
b
1
23p
Rp 1,Rw Where R = number of elements in
input vector
a = hardlim(wp+b)
: Cấu ú eu e e
Cơ chế hoạt động của neuron này là các input sẽ được nhân với các trọng số tương
ứng, sau đó được cộng với phân cực b qua bộ cộng để cho ra net input n. Sau đó đầu ra
a là hàm hardlim của n. Hàm truyền hardlim đã được giới thiệu ở phần trên. Nó cho ra
giá trị 0 nếu n0. Do đó neuron này có hiệu quả cao trong các ứng dụng
ra quyết định phân loại
1,1w1p n a23
n 1,n
w 0
2p
1p 1,1
2
1,2
w
p
w
: V quế đị e e
Như ta thấy trên hình, bản chất của Perceptron là chia không gian input thành các phần
khác nhau. Cụ thể trong ví dụ này là 2 Input và do đó là 2 nửa mặt phẳng. Đường iên
vuông góc với ma trận vector trọng số w và bị dịch bởi vector phân cực b. Như vậy tùy
Trang 80
C ươ 3: -C ơ
vào vị trí của các input mà mạng sẽ cho ra 0 hay 1. Nhờ đó mạng này có khả năng phân
loại rất cao. Nó được dùng cho các ứng dụng cần phân loại các patterns.
K tr c Perce tr
Inputs Perceptron Layer
1,1w
1p 1 1
a
2b
12
p
3p
Rp
1
1
2n 2a
SaSn
Sb
1b
,S Rw
Input Perceptron Layer
1R nW
R1
Where
R = number of elements in input vector
S = number of neurons in layer
S R
1S
a
b 1S 1S
p
a = hardlim(wp+b)
a = hardlim(wp+b)
S
2 : e e
Mạng perceptron là một mạng đơn lớp với S neuron và R input, nối với nhau qua các
trọng số wi,j trong đó i biểu thị neutron thứ i và j biểu thị input j. Mô hình mạng dạng
triển khai và dạng mô hình hóa được biểu diễn trên đây
1,1 1,2 1,
2,1 2,2 2,
,1 ,2 ,
R
R
S S S R
w w w
w w w
W
w w w
K
K
M M K M
K
,1
,2
,2
i
i
i
i
w
w
w
w
M
(3.7)
Giá trị ngõ ra thứ i của mạng cho bởi công thức
lim( ) lim( )Ti i i ia hard n hard w p (3.8)
2 ột erce tr tr at ab
Một perceptron có thể được tạo với hàm newp
>>p=[-2 2; -2 2]; % ậ ẫu
>>t=[0 1]; % ậ đí
>>net = newp(p,t); % e e
>>net=train(net,p,t); % uấ uy
>>a1=sim(net,p); % ô ỏ ậ ẫu
Trang 81
C ươ 3: -C ơ
3.3.3 uyê tắc ọc erce tr
Learning rule là một qui trình điều chỉnh các trọng số và bias của một mạng. Quá
trình này được xem như là một giải thuật huấn luyện. Mục đích của nguyên tắc học là
huấn luyện mạng thực hiện một vài nhiêm vụ. Có nhiều kiểu nguyên tắc học của mạng
neuron. Họ phân ra làm 3 loại: Học có giám sát, học không giám sát và học tăng cường
ọc có s t
Phương pháp này được cung cấp một bộ các ví dụ (training set) về hành vi mạng
thích hợp. {p
1
, t
1
}, {p
2
, t
2
},…..{p
Q
, t
Q
}
Với p
Q
là đầu vào của mạng và t
Q
là đầu ra mục tiêu tương ứng. Khi đầu vào tác động
vào mạng, đầu ra được so sánh với mục tiêu. Nguyên tắc học được dùng để điều chỉnh
các trọng số và bias của mạng để đưa đầu ra gần hơn với các mục tiêu. Nguyên tắc học
peceptron rơi vào loại học có giám sát.
ọc tă cườ
Giống với học có giám sát ngoài trừ việc thay vì được cung cấp các đầu ra chính xác
tương ứng với mỗi đầu vào, thuật toán này chỉ được đưa ra đánh giá. Việc đánh giá là
một cách biểu hiện của mạng neuron qua một chuỗi các đầu vào. Kiểu học này hiện
nay ít phổ biến hơn học có giám sát. Nó chỉ thích hợp với các ứng dụng điều khiển hệ
thống.
ọc ô có s t
Các trọng số và bias được điều chỉnh tương ứng các đầu vào. Không có các đầu ra
mục tiêu có sẵn. Đầu tiên, điều này dường như không thực tế. Làm sao ta có thể huấn
luyện một mạng nếu ta không biết ta phải làm cái gì. Hầu hết các giải thuật đều biểu
diễn một vài loại thuộc nhóm các hoạt động. Điều này rất hữu dụng trong các ứng dụng
như là lương tử hóa vector
Quá trình học thực chất là dựa vào các cặp mẫu:
{p
1
, t
1
}, {p
2
, t
2
},…..{p
Q
, t
Q
}
Trong đó p là vector input, t là target. Mục đích là điều chỉnh ma trận trọng số w và
vector phân cực b sao cho sai số e = t - a (với a là đầu ra) nhỏ nhất.
Như ta đã kháo sát ở phần trên, bản chất quyết định tùy thuộc vào vị trí tương quan
giữa vector nhập vào và vector trọng số. Vì đường biên luôn có phương vuông góc với
vector trọng số nên nếu vector trọng số có khuynh hướng chỉ về vector input thì a=1.
Ngược lại nếu w có khuynh hướng ra xa vector p thì a = 0. Đây là cơ sở để ta lập thuật
toán học cho mạng perceptron
Trang 82
C ươ 3: -C ơ
3.4 truyề t (Feed-forward)
Mạng lan truyền ngược là sự khái quát của luật học Windrow-Hoff vào mạng nhiều lớp
và những hàm truyền khả vi phi tuyến.
Các vector đầu vào và vector mục tiêu tương ứng sẽ được dùng để huấn luyện mạng,
cho đến khi nó có thể xấp xỉ một hàm số, kết hợp vector đầu vào với một vector đầu ra
cụ thể, hay phân loại vector đầu vào theo cách mà bạn xác định.
Lan truyền ngược tiêu chuẩn sử dụng thuật toán suy giảm gradient, trong đó các trọng
số của mạng di chuyển theo hướng âm của gradient hàm hiệu suất. “Lan truyền ngược”
chính là để chỉ cách thức mà gradient được tính cho các mạng nhiều lớp phi tuyến.
Ngoài ra, còn có các phương pháp khác như: Newton, gradient liên hợp.
3.4.1 K tr c
Input General Neuron
1,1w1 n fa
( )a f wp b
b
1
2p3p
R 1,R
w
2 : Cấu ú chung qu ủ 1 neuron
Hình bên là cấu trúc cơ bản của một mạng neuron. Trong đó R là số phần tử của vector
đầu vào. Các hàm truyền thường dùng trong mạng nhiều lớp: logsig, tansig, purelin
Trang 83
C ươ 3: -C ơ
a
1
0
1
a =tansig(n)
n
a
1
0
1
a =logsig(n)
n
Log-Sigmoid Tranfer Function Tan-Sigmoid Tranfer Function
uy uy
a
1
0
1
a =purelin(n)
Linear Tranfer Function
uy u e
22: C uy ư backpropagation
3.4.2 eed-forward
Trang 84
C ươ 3: -C ơ
Inputs Layer of logsig Neurons
1,1w
1p 1
n
1a
2b
12
p
3p
Rp
1
1
2n 2a
SaSn
Sb
1b
,S Rw
Input
1R nW
R1
Where
R = number of elements in input vector
S = number of neurons in layer
S R
1S
a
b 1S 1S
p
a = logsig(wp+b)
a = logsig(wp+b)
S
Layer of logsig Neurons
2 : eu đơ uy
Hình trên là minh họa một mạng neuron đơn lớp, vector đầu vào có R phần tử, dùng S
neurons và hàm truyền logsig. Mạng feed-forward thường có một hay nhiều lớp, với
các lớp ẩn dùng hàm truyền dạng sigmoid và lớp ra dùng hàm tuyến tính.
Input Hidden Layer
1
1n1,1IW
1
1S R
1 1S
1a
1b 1 1S
1 1S
p
1S
2n1,1L2 1S S
2 1S
2
1b 2 1S
2 1S 2S
Output Layer
1 1,1 1 1tansig( )a IW p b 2 2,1 1 2( )a purelin LW a b
1
2 : uy
Nhiều lớp với hàm truyền phi tuyến cho phép mạng học được quan hệ tuyến tính lẫn
phi tuyến giữa đầu vào và đầu ra. Hàm lớp ra tuyến tính cho phép mạng xuất các giá trị
ngoài khoảng [-1,1].
Mặt khác, nếu muốn ràng buộc đầu ra (chẳng hạn phải nằm giữa 0 và 1), thì ta vẫn có
thể dùng hàm dạng sigmoid cho lớp ra. Mạng này có thể được dùng để xấp xỉ hàm tổng
quát. Nó có thể xấp xỉ một hàm bất kỳ sau một số bước hữu hạn
Trang 85
C ươ 3: -C ơ
d c
Dùng newff để tạo mạng từ 3 thông số ban đầu
Thông số 1: ma trận vector đầu vào mẫu, mỗi vector có R phần tử.
Thông số 2: ma trận vector mục tiêu, mỗi vector có S phần tử.
Thông số 3: mảng gồm số neuron trong các lớp ẩn tương ứng.
T ô b sung:
Thông số 4: mảng chứa tên của các hàm truyền dùng trong mỗi lớp.
Thông số 5: tên của hàm huấn luyện.
Mặc định: hàm truyền cho lớp ẩn là tansig, cho lớp ra là purelin, hàm huấn luyện là
trainlm
Ví dụ: vector đầu vào có giá trị: [-1;0 , [2;5 và [1;1 ,Vector đầu ra chỉ có một phần tử.
- L nh t o m ng
>>p=[-1 2 1; 0 5 1];
>>t=[-10 0 10]
>>net=newff(p,t,3);
- Khởi t o tr ng s
Nếu dùng newff, mặc định các trọng số được khởi tạo với giá trị ban đầu tương ứng.
Nếu chúng ta muốn khởi tạo lại trọng số và các bias, có thể dùng lệnh init
>>net=init(net);
- ô ỏng
Hàm sim dùng để mô phỏng một mạng. Hàm có giá trị đầu vào là vector p, đối tượng
mạng net và đầu ra chính là đầu ra a của mạng.
>>p=[1;2];
>>a=sim(net,p);
a=-3.6686
Ta cũng có thể tính đầu ra cho nhiều vector, như ví dụ dưới đây
>>p=[1 3 2; 2 4 1];
>>a=sim(net,p);
a=-3.6686 -0.9030 -4.3257
uấ uy
Khi trọng số và bias được khởi tạo, nghĩa là mạng đã sẵn sàng cho việc huấn
luyện.
Mạng có thể được huấn luyện để xấp xỉ hàm số, liên kết mẫu và phân loại mẫu.
Trang 86
C ươ 3: -C ơ
Trong quá trình huấn luyện, trọng số và bias được điều chỉnh để cực tiểu hóa
hàm hiệu suất của mạng net.performFcn. Hàm hiệu suất mặc định là sai số bình
phương trung bình mse
Các thuật toán khác nhau để huấn luyện mạng feed-forward.
Nguyên tắc cơ bản của lan truyền ngược là cập nhật trọng số theo vòng lặp:
1k k k kx x g (3.9)
Trong đó xk là vector trọng số và bias hiện tại, gk là gradient hiện tại và αk là tốc độ
học. Có hai cách để thực hiện thuật toán suy giảm độ dốc
Huấn luy n kh i:
Hàm huấn luyện suy giảm độ dốc khối là traingd. Nếu muốn sử dụng thuật toán này thì
ta thiết lập trainFcn thành traingd
Có 7 thông số liên quan tới traingd: epochs, show, goal, time, min_grad, max_fail, lr
Thuật toán lan truyền ngược cho mạng nhiều lớp là một sự tổng quát hoá của thuật toán
LMS và cả hai thuật toán sử dụng cùng chỉ số hoạt động: sai s u ì ì
ươ .
Suy giả đ d c v xu ượng:
Suy giảm độ dốc với xung lượng được thực hiện bởi hàm traindm, cho phép mạng
không chỉ đáp ứng với gradient cục bộ mà còn với hướng vừa qua của mặt phẳng sai
số.
Suy giảm độ dốc với xung lượng phụ thuộc vào 2 yếu tố: tốc độ học l