Tải bản đầy đủ (.pdf) (160 trang)

Thiết kế neural network xử lý tín hiệu radar thứ cấp cài đặt trên FPGA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.94 MB, 160 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
___oOo___

HUỲNH TRUNG KIÊN

THIẾT KẾ NEURAL NETWORK XỬ
LÝ TÍN HIỆU RADAR THỨ CẤP
CÀI ĐẶT TRÊN FPGA
CHUYÊN NGÀNH

: Vô Tuyến - Điện Tử

MÃ SỐ

: 02.07.01

LUẬN VĂN THẠC SĨ

[

TP. HỒ CHÍ MINH, THÁNG 04 NĂM 2003


BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
----------------

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập- Tự Do- Hạnh Phúc


----------------

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: HUỲNH TRUNG KIÊN

Phái: Nam

Ngày, tháng, năm sinh: 28/02/1977

Nơi sinh: Thuận Hải

Chuyên ngành: Vô Tuyến – Điện Tử

Mã số : 02..07.01

I-TÊN ĐỀ TÀI: Thiết Kế Neural Network Xử Lý Tín Hiệu Radar Thứ Cấp
Cài Đặt Trên FPGA
II-NHIỆM VỤ VÀ NỘI DUNG:
-

Nghiên cứu phương pháp xử lý tín hiệu radar thứ cấp.

-

Nghiên cứu mạng Neural Network.

-

Nghiên cứu ngôn ngữ VHDL và công nghệ FPGA.


-

Thiết kế IC xử lý tín hiệu thứ cấp dựa trên neural network và tiến hành
cài đặt dựa trên công nghệ FPGA..

III - NGÀY GIAO NHIỆM VỤ:

20 / 11 / 2002

IV - NGÀY HOÀN THÀNH NHIỆM VỤ:

20/ 04 / 2003

V - HỌ TÊN CÁN BỘ HƯỚNG DẪN I:

TS. Nguyễn Như Anh

VI - HỌ TÊN CÁN BỘ HƯỚNG DẪN II:

Ths. Hồ Trung Mỹ

VII - HỌ TÊN CÁN BỘ CHẤM NHẬN XÉT 1:
VIII- HỌ TÊN CÁN BỘ CHẤM NHẬN XÉT 2:
CÁN BỘ HƯỚNG DẪN

CÁN BỘ NHẬN XÉT 1

CÁN BỘ NHẬN XÉT 2

Nội dung và Đề Cương Luận án cao học đã được thông qua Hội Đồng

Chuyên Ngành.
Ngày
PHÒNG QLKH-SĐH

tháng năm 2003

CHỦ NHIỆM NGÀNH


CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

Cán bộ hướng dẫn khoa học:
TS. NGUYỄN NHƯ ANH
Ths. HỒ TRUNG MỸ
Cán bộ chấm nhận xét 1:

Cán bộ chấm nhận xét 2:

Luận án được bảo vệ tại HỘI ĐỒNG CHẤM BẢO VỆ LUẬN ÁN CAO HỌC
TRƯỜNG ĐẠI HỌC BÁCH KHOA ngày …… tháng …… naêm 2003


TÓM TẮT LÝ LỊCH TRÍCH NGANG

Họ và tên học viên: HUỲNH TRUNG KIÊN

Phái: Nam


Ngày, tháng, năm sinh: 28/02/1977

Nơi sinh: Thuận Hải

Địa chỉ liên lạc: Trạm Radar Thông Tin Cà Mau, đường Tôn Đức Thắng,
Phường 6, Tp.Cà Mau.
QUÁ TRÌNH ĐÀO TẠO:
- Từ 9/1994 đến 5/1999: học kỹ sư tại Đại học Quốc gia TP HCMTrường Đại học Kỹ Thuật, khoa Điện – Điện Tử, Bộ môn Điện tử.
- Từ 9/2000 đến 2003: học Cao học chuyên ngành Vô Tuyến – Điện
Tử tại Đại học Quốc gia TP HCM - Trường Đại học Bách Khoa.
QUÁ TRÌNH CÔNG TÁC:
Từ 8/1999 đến nay: là nhân viên kỹ thuật Trạm Radar – Thông Tin Cà
Mau, Trung Tâm Quản Lý Bay Miền Nam, Trung Tâm quản Lý Bay Dân
Dụng Việt Nam.


LỜI CẢM ƠN
Con xin cảm ơn ba mẹ, anh chị – những người thân yêu nhất.
Xin chân thành cảm ơn:
- Em xin chân thành gởi đến Cô Nguyễn Như Anh, Thầy Hồ Trung Mỹ lời cảm
ơn chân thành và lòng biết ơn sâu sắc về sự tận tình hướng dẫn tận tình, tạo
điều kiện thuận lợi cho em trong suốt thời gian thực hiện luận án này,
- Em cũng xin chân thành cảm ơn rất nhiều các thầy cô trong trong bộ môn
Điện tử, bộ môn Viễn Thông - Khoa Điện – Điện tử , trường Đại Học Bách
Khoa Thành phố Hồ Chí Minh,
- Và em cũng xin được gởi lời cảm ơn đến Phòng Quản Lý Khoa Học- Sau Đại
Học, Các thầy cô trong Hội đồng Bảo vệ Luận án.
- Các cô chú, anh chị, các bạn đồng nghiệp trong trong Trung Tâm QLBMN
đã tận tình giúp đỡ tôi trong thời gian qua.
- Và cũng xin chân thành cảm ơn các bạn Nguyễn Bảo Kỳ, Phạm Thuỳ Trang

đã tận tình giúp đỡ động viên tôi trong học tập cũng như làm luận văn này.
Xin chân thành cảm ơn!


MỤC LỤC
NHIỆM VỤ LUẬN ÁN
LỜI CẢM ƠN
TÓM TẮT
MỤC LỤC

Trang

BẢNG LIỆT KÊ CÁC HÌNH

MỞ ĐẦU ………………….………………….………………….………………….………………….………………….….

PHẦN I: MẠNG NEURON VÀ MÔ HÌNH LAN
TRUYỀN NGƯC:
I. GIỚI THIỆU MẠNG NEURON:
1. Cấu trúc của một neuron:
2. Mô hình một neuron:

3. Nodes trong neuron:
II. MÔ HÌNH PERCEPTRON:
III. MÔ HÌNH LAN TRUYỀN NGƯC - FEEDFORWARD:
1. Khởi tạo trọng lượng và độ dời:
2. Trình bày input và các output mong muốn:
3. Tính toán tiến:
4. Tính toán lùi:
5. Quá trình lặp:

IV. XÉT QUÁ TRÌNH LAN TRUYỀN TIẾN:
1. Thuật giải huấn luyện lan truyền tiến:
2. Trình bày toán học giải thuật :

02
02

03
04
05
06
06
07
07
08
08

09
09
10

PHẦN II: NGÔN NGỮ VHDL VÀ CÔNG NGHỆ FPGA:
I. SƠ LƯC VỀ THIẾT KẾ SỐ :
1. Khuynh hướng phát triển của ngành thiết kế số:

2. Những công cụ thông dụng hỗ trợ việc thiết kế số:
a. Các thiết bị logic lập trình được:
b. Ngôn ngữ mô tả phần cứng:
3. Phần mềm hỗ trợ thiết kế số :
II. CÔNG NGHỆ LOGIC SỐ :

1. Các loại ic số :

13

13
14
14
15
16
18
18


2. Công nghệ logic lập trình được (PLD):
3. CPLD và FPGA:
III. CÔNG NGHỆ CPLD :
1. ng dụng của CPLD:

18
21
23

23
2. Cấu trúc cụ thể của CPLD :
23
IV. CÔNG NGHỆ FPGA :
25
1. Giới thiệu FPGA :
25
2. Cấu trúc FPGA:

27
2.1 Các khối logic:
27
2.2 Các nguồn kết nối:
28
2.3 ng dụng của FPGA:
28
2.4 Quá trình cài đặt:
30
2.5 Các công nghệ lập trình chip:
32
a. Công nghệ lập trình dùng ram tónh:
32
b. Công nghệ lập trình dùng cầu chì nghịch (anti-fuse): 34
c. Công nghệ lập trình dùng eprom và eeprom:
35
d. Tóm tắt các công nghệ lập trình chip:
36
e. Các loại FPGA trên thị trường:
37
3. Giới thiệu họ FPGA FLEX 10K :

V. NGÔN NGỮ VHDL :
1. Khái quát về vhdl:
a. VHDL là gì:
b. Lịch sử phát triển :
c. Các điểm mạnh của VHDL:

2. Cấu trúc ngôn ngữ VHDL:
a. Khai báo entity (entity declaration):

b. Phần architecture body :
c. Configuration declaration:
d. Khai báo package:
3. Identifiers - các danh hiệu trong VHDL:
4. Các đối tượng dữ liệu:
a. Constant declaration:
b. Variable declaration:
c. Signal declaration:
d. Một số cách khai báo đối tượng khác:
e. Các kiểu dữ liệu :

39

46
46
46
46
47

48
49
51
58
60
63
64
65
65
66
66

67


PHẦN III: HỆ THỐNG RADAR VÀ XỬ LÝ TÍN HIỆU
CẤP HAI:
I. GIỚI THIỆU CHUNG:
II. HỆ THỐNG XỬ LÝ TÍN HIỆU CẤP II:
1. Mô hình quỹ đạo mục tiêu:
2. Các thông tin phục vụ xử lý thứ cấp tin tức radar:
3. Xử lý quỹ đạo :
4. Định dạng dữ liệu cho quá trình xử lý:
a. Tín hiệu ngõ vào:
b. Tín hiệu ngõ ra:

83
85
85
86
87
94
94
94

PHẦN IV:THIẾT KẾ:
I. MẠNG NEURON:
1. Quá trình huấn luyện lan truyền tiến:

2. Cấu trúc mạng neuron :

a . Bộ nhân:

b. Bộ tích lũy:
c. Khối tính toán:
d. Mảng các khối tính toán (grid):
II. KHỐI ĐIỀU KHIỂN:
III. CHI TIẾT CÁC THÀNH PHẦN THIẾT KẾ:
a. Mạng neuron
b. Khối control:

99
100
104
105
105
105
106
107
108
108
113

PHẦN V: CHƯƠNG TRÌNH VÀ KẾT QUẢ MÔ PHỎNG 115
PHẦN VI: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN:
I. CÁC VẤN ĐỀ ĐÃ THỰC HIỆN TRONG LUẬN ÁN:
II. NHỮNG HẠN CHẾ VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN ÁN:

147
148

TÀI LIỆU THAM KHẢO ………………….………………….………………….………………….……….


151


BẢNG LIỆT KÊ CÁC HÌNH TRONG BÁO CÁO
Hình 1: Cấu trúc của một chip neuron
Hình 2: Cấu trúc của một node
Hình 3: Mô hình Perceptron
Hình 4: Mô hình lan truyền ngược
Hình 5: Quá trình lan truyền tiến
Hình 6: Hình minh hoạ một cấu trúc CPLD
Hình 7: Phần mềm thiết kế MaxPlus II
Hình 8: Phần mềm thiết kế Xilinx 2.1
Hình 9: Cấu trúc tổng quát của PLA
Hình 10: Cấu trúc PLA mức cổng
Hình 11: PLA đã được lập trình
Hình 12: Ví dụ mặt phẳng PAL
Hình 13: PLD có ngõ ra OR nối vào flipflop
Hình 14: Cấu trúc tổng quát của CPLD
Hình 15: Cấu trúc tổng quát của FPGA
Hình 16: Mô hình FPGA
Hình 17: Hệ thống CAD tiêu biểu cho FPGA
Hình 18: Công nghệ lập trình RAM tónh
Hình 19: 4 loại FPGA trên thực tế
Hình 20: Sơ đồ khối tổng quát của họ FLEX10K
Hình 21: Ví dụ kích thước Ram
Hình 22: Các ví dụ về kết hợp Ram
Hình 23: Cấu trúc EAB ( Khối mảng nhúng được)
Hình 24: Cấu trúc khối mảng logic _ LAB
Hình 25: Cấu trúc yếu tố logic _ LE
Hình 26: Entity và cấu trúc của nó

Hình 27: Sơ đồ bộ half_adder
Hình 28: Dạng vùng nhận biết trong mặt phẳng thẳng đứng
Hình 29: Giải thuật xử lý
Hình 30: Lưu đồ giải thuật
Hình 31: Lưu đồ giải thuật
Hình 32: Lưu đồ xét tương quan
Hình 33: Khởi tạo track mới
Hình 34: Ví dụ cửa số ICC
Hình 36: Sơ đồ khối
Hình 37: Sơ đồ kết nối control – neuron
Hình 38: Ví dụ mạng neuron
Hình 39: Cấu trúc mạng neuron
Hình 40: Sơ đồ khối mạng neuron
Hình 41: Sơ đồ khối nhân

2
3
5
6
9
14
16
17
18
19
19
20
20
21
22

27
31
33
37
40
41
41
42
43
44
49
50
83
88
89
90
91
91
93
98
99
100
104
104
105


Hình 42: Sơ đồ khối tính toán
Hình 43: Sơ đồ mảng các khối tính toán
Hình 44: Khối state

Hình 45: Khối xử lý
Hình 46: Mạng neuron
Hình 47: Khối nhân
Hình 47: Khối tích lũy
Hình 48: Sơ đồ khối của một node
Hình 49: Sơ đồ khối mảng các node
Hình 50: Sơ đồ khối dồn kênh
Hình 51: Cấu trúc mạng neuron
Hình 52: Khối cộng (trừ)
Hình 53: Khối so sánh

105
106
107
107
108
109
110
110
111
111
112
113
114


Luận văn Thạc só

ABSTRACT
Secondary data process system of radar surveillance system plays role

important in the detecting, tracking and controlling aircrafts. It requires high
accuracy and quickly respond of determine targets. However these
equipments depends on abroad companies and its price is very expensive.
Applying neuron network in processing and performing based on a VHDL with
dedicated hardware that could be more accuracy, quickly and efficiently and
the prices could be decreased… Although, neuron network requires more
memory and the training algorithms for such network which are very slow and
can take very long times for application, with chip producting technology
nowaday, these problems are solved. This diploma work deals with a
secondary process system of radar system, a VHDL plementation, and a
neuron network. Moreover this diploma also work deals devices that was
designed to target FPGA, FLEX10K family of Altera Corporation.
Hệ thống xử lý tín hiệu thứ cấp trong hệ thống radar đóng vai trò rất
quan trọng trong việc phát hiện, bám mục và điều hành các chuyến bay an
toàn hiệu quả. Nó đòi hỏi một sự chính xác cao và đáp ứng cho các sự kiện
xảy ra trong không phận mà hệ thống radar quản lý phải đủ nhanh. Tuy nhiên
những thiết bị này lại phụ thuộc hoàn toàn vào các công ty nước ngoài cũng
như chi phí cho việc lắp đặt, bảo trì rất đắt và tốn nhiều thời gian. Việc áp
dụng trí tuệ nhân tạo vào quá trình xử lý và cài đặt lên các phần cứng chuyên
dụng thông qua ngôn ngữ VHDL làm cho hệ thống chính xác hơn, nhanh và
hiệu quả hơn và đặc biệt là giá thành giảm đáng kể, tiết kiệm các chi phí…
Mặc dù sử dụng mạng neuron đòi hỏi một bộ nhớ lớn, thuật giải sẽ chậm đi
nhưng với công nghệ hiện nay sản xuất chip hiện nay thì vấn đề này đã được
giải quyết. Trong luận án này sẽ chú trọng đến những vấn đề trong hệ thống
xử lý tín hiệu thứ cấp, ngôn ngữ VHDL và mạng trí tuệ nhân tạo và các thiết
bị sử dụng trong thiết kế sẽ thực hiện trên FPGA, họ FLEX10K của hãng
Altera.

Học viên Huỳnh Trung Kiên



MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC

Phần I:

MẠNG NEURON


MÔ HÌNH LAN TRUYỀN NGƯC
Phần này giới thiệu sơ lược về mạng neuron, mô hình cấu trúc cũng
như cách hoạt động của nó. Đặc biệt do đề tài chú trọng đến thuật giải Lan Truyền
ngược, do đó chúng ta sẽ khảo sát kỹ hơn ở thuật giải này cũng như ứng dụng của
nó vào việc giải quyết vấn đề.

Học viên Huỳnh Trung Kieân

Trang 1


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
I.

GIỚI THIỆU MẠNG NEURON:

Mạng Neuron là một kỹ thuật xử lý song song bao gồm nhiều phần tử tính và
chúng được kết nối với nhau. Nó được diễn tả bởi cấu trúc tổ chức tổ chức của
mạng, những đặc tính trong từng nút trong mạng và những qui luật học tập (training
learning rules). Kỹ thuật này cố gắng đạt được sự thi hành tốt bằng sự kết nối những
phần tử tính toán với nhau và được áp dụng trong nhiều lónh vực nhứ nhận dạng
tiếng nói, xử lý hình ảnh.

1. Cấu Trúc Của Một Neuron:

Hình 1: Cấu trúc của một chip neuron

Học viên Huỳnh Trung Kiên

Trang 2


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
Thành phần quan trọng nhất của một neuron là bộ nhân thực hiện theo đường
ống có tốc độ cao cho phép nhân các kết nối của tín hiệu với các trọng số. Dạng dữ
liệu của các kết nối (synaptic) và các trọng số là dãy số nguyên 8 bit. Mỗi neuron
có ROM dùng để lưu các giá trị cũng như các kết nối đến các lớp trước. Bộ tích lũy
18 bit dùng để cộng ba tín hiệu từ đường ống (pipeline) với giá trị qua neuron lưu
trong thanh ghi trạng thái. Thành phần cuối cùng và rất quan trọng là bộ đệm ngõ ra
ba trạng thái. Thanh ghi giữ kết quả tính toán cho đến khi các gía trị này được xuất
ra các bus dùng chung. Tất cả các neuron trong lớp sử dụng cùng bus để truy xuất
EPROM.
2. Mô Hình Một Neuron:
Công việc căn bản của neuron sinh vật là cộng những tín hiệu input và tạo ra
tín hiệu output nếu tổng input lớn hơn một mức ngưỡng.
Neuron là đơn vị xử lý thông tin cơ bản cho sự vận hành mạng neuron. Mô
hình neuron gồm 3 thành phần.
1) Một tập các kết nối (synapse) được tiêu biểu bằng trọng lượng của nó.
Thí dụ một tín hiệu X ở kết nối j sẽ được nhân với trọng lượng Wj.
2) Một bộ công để cộng những tín hiệu input, nhân với trọng lượng tương
ứng của synapse của neuron.
3) Hàm số ϕ để hạn chế biên độ của tín hiệu output của một neuron.
Một neuron k được biểu diễn:

n

Uk = ∑ wj x j .

(1.1)

j =1

Nonliear Model of a neuron
x1

w1

x2

w2

xj

wj

xn

wn

n

U k = ∑ w j x j y =ϕ(a)
j =1


Hình 2: Cấu trúc của một node

Học viên Huỳnh Trung Kiên

Trang 3


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
Việc học hỏi của mạng neuron là một quá trình mà trong đó những thông số
tự do được điều chỉnh liên tục bởi sự kích thích bên ngoài. Mẫu học được ấn định bởi
cách thay đổi của những thông số.
Để thực hiện đề tài này, tôi đề nghị mô hình để giải quyết vấn đề đặt ra: Mô
hình Lan truyền ngược…
3. Nodes Trong Neuron:
Có nhiều loại node khác nhau với các phương pháp tính toán và hàm truyền
khác nhau. Thông thường node có vài đường tín hiệu vào và 1 đường tín hiệu ra.
Các node làm việc : Mỗi ngõ vào được trọng lượng hoá bằng cách nhân giá trị w với
tín hiệu ngõ vào. Các tín hiệu được trọng lượng hoá cộng lại với nhau và cộng thêm
giá trị ngưỡng θ. Cuối cùng giá trị tổng được chia cho nhiệt độ T vàthương của kết
quả phép chia là giá trị ngõ vào hàm truyền. Thông thường hàm truyền ở dạng:

∑ (w x ) + θ
i

f ( x) = tanh(

i

i


T

x1
x2
x3

w1
w2
w3

(1.2)

)

θ

f(x)

Ứng với hàm truyền này, ngõ ra có giá trị –1 và 1. Một dạng hàm truyền
khác cho giá trị ngõ ra là 0 vaø 1.

∑i (wi xi ) + θ ⎤⎥
1⎢
f ( x) = ⎢1 + tanh(
)⎥
2
T
⎢⎣
⎥⎦


(1.3)

Các node có thể là node ẩn hay node ngõ ra. Khi các hệ số và độ lệch có thể
hợp nhất bằng giá trị trọng lượng và mức ngưỡng của node kế tiếp, hàm (2) chỉ được
dùng cho node xuất khi thực hiện phần cứng. Các node xuất có thể ở các hàm
truyền dạng ngoại trừ hàm tang hyperbolic. Hàm thông dụng nhất là hàm Gauss, đặc
biệt với dạng Radial-Basis. Nếu chỉ một ngõ ra là mức cao, hàm mũ có thể dùng
làm hàm truyền, và giá trị node ngõ ra cần được tiêu chuẩn hoá.
Học viên Huỳnh Trung Kiên

Trang 4


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
II.

MÔ HÌNH PERCEPTRON:

Mô hình này được đưa ra vào cuối năm 1950. cấu hình căn bản.
x1
x2
Inputs

W1

W2

xp

ϕ(vj)


vj

Outputs
yj

-1

wp

Threshold

Hình 3: Mô hình Perceptron
Nếu w1, w2, … wp là trọng lượng synapse của một tầng duy nhất, các tín hiệu
tương ứng là x1, x2, ….xp. θ ± 1 là mức ngưỡng bên ngoài. Ta có tín hiệu ở ngõ ra:
p

v = ∑ wi xi − θ

(1.4)

i =1

Huấn luyện: Nếu Perceptron cho ra tín hiệu output sai, chúng ta phải giảm
bớt xác suất neuron cho ra output sai ấy đừng trở lại, ngược lại nếu neuron cho
output đúng, thì ta không làm gì cả. Quy luật này cho phép neuron học hỏi từ lỗi lầm
của nó.
Giải thuật học của Perceptron:
+ Khởi tạo trọng lượng và trị ngưỡng.
+ Trình bày input và output mong muốn.

+ Trình bày output hiện hành.
+ Hiệu chỉnh trọng lượng.
+ Tăng thời gian t lên 1 và quay lại bước 2.

Học viên Huỳnh Trung Kiên

Trang 5


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
III.

MÔ HÌNH LAN TRUYỀN NGƯC - FEEDFORWARD:

Thuật giải lan truyền ngược là một thuật giải gradient lặp nhằm mục đích cực
tiểu hoá sai số bình phương trung bình giữa ngõ ra thực sự của một perceptron nhiều
tầng và ngõ ra mong muốn. Nó đòi hỏi tính phi tuyến khả vi liên tục. Mạng lan
truyền ngược là một hàm phi tuyến có thể xấp xỉ gần đúng nhất một hàm đích được
cho qua một số mẫu trong tập mẫu.

Lớp input

Lớp ẩn

Lớp output

Hình 4: Mô hình lan truyền ngược
Mạng lan truyền gồm lớp nhập, lớp ẩn, lớp xuất.
Mạng lan truyền chỉ ở một trong 2 trạng thái: Trạng thái ánh xạ, thông tin lan
truyền từ lớp nhập đến lớp xuất và mạng thực hiện ánh xạ để tính giá trị các biến

phụ thuộc dựa vào giá trị biến độc lập. Ở trạng thái học, thông tin lan truyền theo 2
chiều nhiều lần để học các trọng số.
Giả sử một tính chất phi tuyến hình chữ S được dùng với hàm ϕ(v(n)) là:
ϕ (v(n)) =

1
1 + e −v ( n )

(1.5)

Lan truyền ngược cho phép xác định tập trọng tốt nhất của mạng giải một bài
toán được cho.
Các bước thực thi trong thuật giải huấn luyện lan truyền ngược:
1. Khởi Tạo Trọng Lượng Và Độ Dời:
Bắt đầu với cấu hình mạng đã biết và tiến hành thiết lập tất cả các trọng
lượng liên kết và các mức ngưỡng của mạng ở các giá trị ngẫu nhiên nhỏ có phân
bố uniform.

Học viên Huỳnh Trung Kiên

Trang 6


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
2. Trình Bày Input Và Các Output Mong Muốn:
Trình bày mạng bằng các ví dụ ứng với các giai đoạn huấn luyện. Với mỗi ví
dụ sẽ được thực hiện theo trình tự tính toán tiến và lùi. Đưa ra một vector ngõ vào
liên tục x0, x1, x2 …..xNl-1 và xác định các ngõ ra mong muốn d0, d1, …. dNl-1.
3. Tính Toán Tiến:
Ví dụ huấn luyện trong một giai đoạn được ký hiệu [x(n), d(n)] với x(n) là

vector ngõ vào và d(n) là vector đáp ứng mong muốn ở ngõ ra của chế độ tính toán.
Tính thế năng hoạt động và tín hiệu hoạt động của mạng bằng cách tiến hành về
phía trước xuyên qua từng tầng một của mạng. Kết nối nội tại vj(l)(n) của neuron j ở
lớp l là:
p

v (jl ) (n) = ∑ w (jil ) (n) y i( l −1) (n)

(1.6)

i =0

n.

Với yi(l)(n) là tín hiệu hàm của neuron j trong lớp trước l-1 tại lần lặp thứ
wji(l)(n) trọng lượng kết nối của neuron thứ j ở lớp l.
i = 0 => y0(l-1)(n) = -1
wj0(l)(n) = θj(l)(n)
Với θj(l)(n) là mức ngưỡng của neuron j – lớp l.
Giải sử ta sử dụng hàm logictic cho tín hiệu không tuyến tính hình S.
y (jl ) (n) =

1
1 + exp(−v (jl ) (n))

• Nếu j là lớp ẩn đầu tiên (l =1):
Đặt:
y (j0 ) (n) = x j (n)

(1.7)


(1.8)

Với xj(n) là thành phần thứ j của vector ngõ vào x(n).
• Nếu j là lớp xuất (l =L):
yj(L)(n) = θj (n)
Ư Ta tính được tín hiệu lỗi:
e j ( n) = d j ( n) − θ j ( n)

(1.9)

Với dj(n) là thành phần thứ j của vector đáp ứng mong muốn d(n).

Học viên Huỳnh Trung Kiên

Trang 7


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
4. Tính Toán Lùi:
Tính δ của mạng (độ dốc cục bộ) bằng quá trình ngược từ lớp này sang lớp khác.
Thực hiện cho neuron j ở lớp xuất l:
δj(L)(n) = ej(L)(n) θj (n)(1-θj (n))
Đối với neuron j ở lớp ẩn l:
δ (j l ) (n) = y (jl ) (n)[1 − y (jl ) (n)]∑ δ (j l +1) (n)

(1.10a)
(1.10b)

k


Tiến hành chỉnh – thay đổi các giá trị trọng lượng kết nối của mạng trong lớp
l theo quy luật delta tổng quát:
w lji ( n + 1) = w lji ( n) + α [ w lji ( n) − w lji (n − 1)] + ηδ (j l ) (n) y (jl −1) (n) (1.11)
Với:
η:
α:

Thông số tỉ lệ học.
Hằng số động lực . ( 0<α<1)

5. Quá Trình Lặp:
Quá trình lặp là quá trình tính các mẫu huấn luyện của mạng cho đến khi các
thông số tự do của mạng ổn định và sai số trung bình bình phương Eav được tính trên
toàn bộ quá trình huấn luyện là cực tiểu hoặc đạt đến một giá trị cực tiểu chấp nhận
được.
Tuy nhiên để thuật giải lan truyền ngược có thể hoạt động tốt hơn nếu một
Perceptron nhiều tầng được huấn luyện với thuật giải lan truyền ngược, tổng quát có
thể học nhanh hơn nếu tín hiệu được xây dựng trong mô hình là phi đối xứng hơn là
khi nó không đối xứng.
Hàm hoạt động ϕ(v) là phi đối xứng nếu:
ϕ(-v) = - ϕ(v)
Ví dụ như hàm hoạt động phi đối xứng là một hàm có tính phi tuyến hình chữ
S trong dạng của một tiếp tuyến hyperbolic:
ϕ(v) = a tanh(b v)
Với a, b là các hằng số
Ư a tanh(bv) = (2a/(1+exp(-bv))) – a
Với giá trị của:
a = 1.1716
b = 2/3


Học viên Huỳnh Trung Kieân

Trang 8


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
IV. XÉT QUÁ TRÌNH LAN TRUYỀN TIẾN:
Mạng lan truyền tiến bao gồm vài lớp của các node mà thông tin được truyền
tiến. Lớp thấp nhất mà dữ liệu cài đặt được trình bày gọi là lớp ngõ vào. Lớp cao
nhất trình bày dữ liệu đã được xử lý gọi là lớp xuất. Các lớp còn lại giữa 2 lớp trên
gọi là lớp ẩn. Hầu hết quá trình xử lý được thực hiện tại lớp ẩn.

Hình 5: Quá trình lan truyền tiến
1. Thuật Giải Huấn Luyện Lan Truyền Tiến:
Thuật giải sử dụng số lượng lớn dữ liệu cài đặt và điều chỉnh mạng, để thực
hiện điều này, đầu tiên tìm hàm lỗi diễn tả độ lệch của dữ liệu vào và tiến hành tối
thiểu nó. Thông thường hàm được sử dụng là:
E=

với

(

)

2 ⎞
1 ⎛
⎜ ∑ (oi( p ) − t i( p ) ) ⎟


2 p ⎝ i


(1.12)

oi(p) : Giá trị ngõ ra
tI(p) giá trị mong muốn.

Hàm này được tối thiểu bằng cách đặt thỉnh thoảng đặt một trọng lượng vào,
tính đạo hàm của wij, sau đó cập nhật trọng lượng bằng cách:
wij (n + 1) = wij (n) − η

∂E
∂wij

(1.13)

Với η là hệ số tỉ lệ học, thường có giá trị giữa 0 và 1.
Học viên Huỳnh Trung Kiên

Trang 9


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
Thường để tăng tốc độ của thuật giải, chỉ lấy một mẫu để đặt trọng lượng và
tính toán hàm lỗi.
E( p) =

(


2
1
(
o i( p ) − t i( p ) )

2 i

)

(1.14)

Sau khi cập nhật trọng lượng, ta được:
wij (n + 1) = wIJ (n) − η

∂E( p )

(1.15)

∂wIJ

Việc cập nhật được thực hiện liên tục cho đến khi đạt được một giá trị ổn
định. Phương pháp phân tích tính đạo hàm có thể thực hiện bằng luật chuỗi. Vấn đề
chính của phương pháp này là kích thước tổng tăng theo hàm mũ cùng với số lượng
lớp. Cách tốt nhất là tính số đạo hàm bằng việc định nghóa trước đạo hàm, khi đó
phương pháp ở trên có số trọng số tăng tuyến tính, nó thực hiện việc phân tích tốt
hơn cho mạng có hơn hai lớp ẩn.
2. Trình Bày Toán Học Giải Thuật :
Xét quá trình lan truyền tiến và các kết nối bên trong giữa hai lớp ẩn. Nếu
lớp thấp nhất có n node và lớp ở trên có m node thì trọng lượng có thể được biểu
diễn bằng ma trận W2:

⎡ w11
⎢w
⎢ 21
W2 = ⎢ .

⎢ .
⎢⎣ wm1

Với:
(lớp thấp hơn).

w12
w22

... w1n
... w2 n

.
...
.
...
wm 2 ...

.
.
wm

θ1 ⎤
θ 2 ⎥⎥


. .⎥

. ⎥
θ m ⎥⎦

(1.17)

wij là trọng số của các kết nối giữa node i (lớp trên) và node j
θi mức ngưỡng cho node i.

Học viên Huỳnh Trung Kiên

Trang 10


MẠNG NEURON VÀ MÔ HÌNH LAN TRUYỀN NGƯC
Giá trị ngõ vào của ma trận trên có thể được trình bày theo vector cột X1
chiều dài (n+1). Giá trị n đầu tiên là giá trị ngõ vào, giá trị cuối cùng là giả bằng 1
nhằm đảm bảo ngưỡng được cộng chính xác. Giá trị ngõ ra của lớp phía trên có thể
được tính:
X2 = tanh(W2X1).

(1.18)

Việc tính toán được tiến hành giữa các lớp theo hướng từ dưới lên và tiến
hành cập nhật mạng.

Học viên Huỳnh Trung Kiên

Trang 11



NGÔN NGỮ VHDL VÀ CÔNG NGHỆ FPGA

PHẦN II:
NGÔN NGỮ VHDL VÀ CÔNG NGHỆ FPGA
Phần này sẽ giới thiệu sơ lược về công nghệ logic số, các loại IC trong việc
thiết kế số, nghiên cứu chi tiết cấu trúc CPLD và FPGA. Do luận án này thực hiện
trên FPGA nên nội dung được trình bày kỹ lưỡng hơn và ngôn ngữ VHDL

Học viên Huỳnh Trung Kiên

Trang 12


NGÔN NGỮ VHDL VÀ CÔNG NGHỆ FPGA

I.

SƠ LƯC VỀ THIẾT KẾ SỐ :
Phần này trình bày về môi trường thiết kế phần cứng, về phương pháp luận

để thiết kế mạch & mối quan hệ hữu cơ giữa ngôn ngữ VHDL và phần cứng tạo ra.
1. Khuynh Hướng Phát Triển Của Ngành Thiết Kế Số:
Với sự phát triển nhanh chóng của PLD (Programmable Logic Device) và
ASIC (Application Specific Intergated Circuit), quá trình thiết kế phần cứng có
những thay đổi rất lớn trong những năm gần đây. Không giống như những kỹ thuật
thiết kế trước, các board mạch bao gồm rất nhiều chip SSI chứa các cổng cơ bản,
hiện nay hầu hết các thiết kế đều sử dụng chip mật độ cao. Điều này không chỉ
đúng trong trường hợp mạch dùng các bộ vi xử lý hoặc bộ nhớ mà còn đúng cho cả

mạch số như các bộ điều khiển máy trạng thái (state machine controllers), mạch
đếm, thanh ghi và mạch giải mã. Khi các mạch số như vậy cần được sử dụng trong
các board mạch với số lượng lớn thì người ta có khuynh hướng tích hợp chúng trong
các mảng cổng (gate arrays) mật độ cao. Vì lý do đó, hầu hết các sản phẩm trên thị
trường hiện nay được xây dựng trên cơ sở:
Với các sản phẩm có số lượng không lớn lắm hoặc trung bình đều theo
phương pháp sử dụng FPD ( Field Programmable Device ). Những ưu điểm chính
của FPD là: đầu tư ban đầu thấp, rủi ro tài chánh thấp, và dễ dàng thay đổi thiết kế
(vì người dùng có thể lập trình lại được).
Với sản phẩm có số lượng lớn, nhà sản xuất đầu tư thiết kế vi mạch chuyên
dùng ASIC. Những đặc điểm chính của ASIC là: khi đã ra thành phẩm thì giá thành
thấp mặc dù đầu tư chi phí ban đầu rất cao và thời gian chế tạo mẫu thử rất lâu.
Để có được một IC hoàn chỉnh thực hiện được nhiệm vụ của nhà sản xuất, người ta
phải thực hiện qua nhiều giai đoạn, nhưng giai đoạn cơ bản và quan trọng nhất là:
Tổng hợp (synthesis)
Mô phỏng (simulation)
Kiểm tra (verification)

Học viên Huỳnh Trung Kieân

Trang 13


NGÔN NGỮ VHDL VÀ CÔNG NGHỆ FPGA

Các giai đoạn này đòi hỏi người sử dụng phải có một kiến thức chuyên môn
sâu rộng về lónh vực điện tử và kinh nghiệm phong phú. Giai đoạn này cũng yêu cầu
người sử dụng có các công cụ chuyên nghiệp đủ mạnh để giải quyết một cách nhanh
chóng hiệu quả và chính xác.
2. Những Công Cụ Thông Dụng Hỗ Trợ Việc Thiết Kế Số:

Với những nhu cầu phát triển mạch số ngày càng phức tạp, lần lượt các công
cụ ra đời hỗ trợ đắc lực trong việc thiết kế số.
a. Các Thiết Bị Logic Lập Trình Được :
Thiết bị logic lập trình được (PLD – Programable Logic Design) là chip LSI
hoặc VLSI chứa các cấu trúc mảng mà cho phép các nhà thiết kế có thể tùy biến
theo từng thiết kế riêng biệt. Nói cách khác PLD có thể được lập trình bởi người sử
dụng cho những chức năng cụ thể. Cấu trúc mảng trong PLD bao gồm các tế bào
(cells) được hình thành từ tập hợp các cổng logic.

Hình 6: Hình minh hoạ một cấu trúc CPLD

CLB: Configurable Logic Block
PSM: Programmable Switch Matrix
Học viên Huỳnh Trung Kiên

Trang 14


×