Với những công trình nghiên cứu khoa học và những ứng dụng, mạng Neural thực hiện thuật toán Backpropagation khẳng định giá trị và tính hiệu quả.. Mạng perceptron một lớp có cấu trúc đơn
Trang 1iv
Với sự phát triển ngày càng mạnh mẽ của công nghệ IC hiện nay và ngư i ta ngày càng có khuynh hướng tích hợp nhiều hơn trên một IC Do đó chip PLD (Programmable Logic Device) và FPGA (Field Programmable Gate Array) ngày càng nhỏ gọn nhưng tích hợp vào trong nó nhiều tiện ích mà công nghệ trước đây không thực hiện được Để sử dụng được các tiện ích mà các chip này mang lại thì chúng ta phải lập trình cho chip theo ý tưởng thiết kế của chúng ta Cùng với sự ra
đ i của các chip PLD và FPGA là ngôn ngữ mô tả phần cứng HDL (Hardwave Description Language) mà những thiết kế mạch số dùng để mô tả và thiết kế các mạch số trên các chip này
Mạng Neural nhân tạo ứng dụng trong nhiều lĩnh vực: Không gian vũ trụ, giao thông, ngân hàng, quân sự, điện tử, giải trí, xây dựng, tài chính, công nghiệp y học, dầu khí, robotics, ngôn ngữ, thông tin Do đó, việc xây đựng mạng Neural trên cấu trúc vi mạch, thực hiện qua FPGA hay ASIC với công nghệ 180nm và 65nm là một thách thức lớn Việc chuyển thể từ giải thuật, các ngôn ngữ lập trình cấp cao (Matlab , C++ … ) sang kiến trúc ngôn ngữ phần cứng (Verilog/HDL) là một trong những nghiên cứu gần đây Nên việc xây dựng thành công kiến trúc vi mạch cho mạng Neural là tiền đề quan trọng cho việc đẩy mạnh phát triển các lĩnh vực khác
Đề tài tiếp cận vấn đề ứng dụng mạng Neural để xây dựng kiến trúc vi mạch
và việc kiểm tra đánh giá ứng dụng được thực hiện qua kiến trúc vi mạch của mạng Neural cho giải thuật Backpropagation Mạng neural sau khi xây dựng sẽ có khả năng phát triển cho các ứng dụng khác một cách dễ dàng như: tăng Neural trên mỗi lớp, tăng số lớp trên mạng Neural …
Trang 2v
Today, with the development of increasingly powerful in IC engineering The design companies have tended to be more integrated various fuctions on an IC Hence, the companies have designed PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array) chip To use the function that this chip, we have to bring up the idea to chip in our design Along with the advent of the PLD and FPGA chip is hardware description language (HDL Hardwave Description Language) that the design of the circuit used to describe and design digital circuits
on the chip
Artificial Neural Network application in various areas: Aerospace, transportation, banking, military, electronics, entertainment, construction, finance, medicine, industry, oil and gas, robotics, language, information Hence, the construction of neural network on chip architecture, implemented via FPGA or ASIC with 180nm and 65nm technology is a big challenge The adaptation of the algorithm, the high-level programming language (Matlab, C + + ) to the hardware architecture languages (Verilog / HDL) is one of the recent study So building successful micro architecture for Neural network is an important prerequisite for promoting the development of other sectors
Thesis approaches Neural network applications to build micro architecture and application assessment is done through micro architecture of the neural network backpropagation algorithm Neural network after construction will be able to develop other applications easily, such as: increasing Neural per layer and the number of layers in the neural network
Trang 3vi
TRANG
Lụ L CH CÁ NHÂN i
L I CAM ĐOAN ii
C M T iii
TịM T T iv
ABSTRACT v
M C L C vi
DANH SÁCH HỊNH V ix
B NG Đ I CHI U ANH NG xii
CHƯƠNG 1 TỔNG QUAN 1
1.1 Tổng quan chung về lĩnh vực nghiên cứu các kết quả trong và ngoài nước đã công bố 1
1.2 Mục đích của đề tài 3
1.3 Đối tượng và phạm vi nghiên cứu 4
1.4 Phương pháp nghiên cứu 4
1.5 ụ nghĩa khoa học và thực tiễn đề tài 5
1.6 Cấu trúc luận văn 6
CHƯƠNG 2.CƠ SỞ Lụ THUY T 7
2.1 Giới thiệu mạng Neural nhân tạo 7
2.2 Mô hình mạng Neural nhân tạo 10
2.2.1 Mô hình Neural chỉ một ngõ vào 10
2.2.2 Mô hình Neural tổng quát 11
2.3 Hàm kích hoạt 12
2.4 Kiến trúc mạng Neural 14
2.4.1 Các mạng Neural truyền thẳng sử dụng luật học giám sát 15
2.4.1.1 Mạng tiến đơn mức 15
2.4.1.2 Mạng tiến đa mức 16
Trang 4vii
2.6 Xem xét và đánh giá các giải thuật huấn luyện cho mạng neural 22
2.6.1 Luật học lan truyền ngược sử dụng cho mạng truyền thẳng 22
2.6.2 Các luật học cho mạng Neural wavelet 24
2.6.3 Luật học cho dạng mạng hồi tiếp 26
2.6.4 Các luật học khác 28
2.7 Các tính chất mạngNeural 29
2.8 Ngôn ngữ mô tả phần cứng HDL 29
2.9 Giới thiệu phần mềm Quartus II 32
2.10 Phần mềm mô phỏng Modelsim 36
2.11 Giới thiệu về kit DE2 37
CHƯƠNG 3.THU T TOÁN BACKPROPAGATION 39
3.1 Mạng Neural truyền thẳng 39
3.2 Thuật toán Backpropagation 41
3.3 Hàm kích hoạt 49
3.3.1 Hàm Sigmoid 49
3.32 Hàm Tansig 50
CHƯƠNG 4 NGHIÊN CỨU THU T TOÁN 52
4.1 Sơ đồ thực hiện thuật toán 52
4.2 Huấn luyện mạng Neural 54
4.3 Khảo sát thuật toán thực hiện bằng Matlab 55
4.4 Các module chương trình 57
4.4.1Khối thực hiện mạng 58
4.4.2 Tính hàm E 59
4.4.3 Module hàm lỗi δk 60
4.4.4 Module hàm lỗi δh1 , δh2 61
4.4.5 Cập nhật bộ trọng số 62
4.5 Thuật toán huấn luyện mạng 63
Trang 5viii
5.1 Sơ đồ thực hiện các giai đoạn mô phỏng 65
5.2 Bộ nhân 66
5.3 Bộ cộng 66
5.4 Tính Net 67
5.5 Tính Tansig 1 68
5.6 Tính Tansig 2 68
5.7 Tính Net 3 69
5.8 Tính Sigmoid 69
5.9 Tính E 70
5.10 Bộ Compare 70
5.11 Tính δk 71
5.12 Tính δh1 71
5.13 Tính δh2 72
5.14 Cập nhật bộ trọng số 72
5.15 Khối Pre-Backpropagation 76
5.16 Khối Backpropagation 77
5.17 Khối weight-register 78
5.18 Kết quả thực nghiệm trên kit DE2 79
CHƯƠNG 6 K T LU N 81
DANH MỤC TÀI LI U THAM KH O 82
Trang 6ix
Hình 1.1 Quy trình thiết kế chip 4
Hình 2.1 Minh họa mạng Neural 7
Hình 2.2 Mạng Neural thực 8
Hình 2.3 Cấu trúc một Neural nhân tạo 8
Hình 2.4 Mô hình toán học 1 Neural 9
Hình 2.5 Hình 2.6 Quá trình truyền thông tin của Neural 9
Mô hình Neural một ngõ vào không có hệ số bias 10
Hình 2.7 Mô hình Neural một ngõ vào có hệ số bias 10
Hình 2.8 Mô hình Neural R ngõ vào và có hệ số bias 11
Hình 2.9 Hình 2.10 Hàm kích hoạt hardlim loại 1 12
Hàm kích hoạt hardlim loại 2 13
Hình 2.11 Hình 2.12 Hình 2.13 Hình 2.14 Hình 2.15 Hình 2.16 Hình 2.17 Hình 2.18 Hình 2.19 Hình 2.20 Hình 2.21 Hình 2.22 Hình 2.23 Hình 3.1 Hình 3.2 Hàm kích hoạt purelin 13
Hàm kích hoạt Log-sigmod 14
Hàm kích hoạt Tansig 14
Mô hình học có giám sát 15
Perceptron đơn lớp 16
Mạng Neural 2 lớp 17
Mạng Neural nhiều lớp 17
Mô hình học không giám sát 19
Mạng Neural hồi quy 19
Mô hình học có giám sát 20
Mô hình mạng Neural với bộ vecto vào ra 22
Verilog Abstraction Level 30
Mô hình kit DE2 37
Mô hình tính toán một Neural 39
Mô hình tính toán mạng Neural tổng quát 40
Trang 7x
Hình 3.5
Hình 4.1
Hình 4.2
Hình 4.3
Hình 4.4
Hình 4.5
Hình 4.6
Hình 4.7
Hình 4.8
Hình 5.1
Hình 5.2
Hình 5.3
Hình 5.4
Hình 5.5
Hình 5.6
Hình 5.7
Hình 5.8
Hình 5.9
Hình 5.10
Hình 5.11
Hình 5.12
Hình 5.13
Hình 5.14
Hình 5.15
Hình 5.16
Hình 5.17
Hình 5.18
Hàm Tansig 50
Sơ đồ thực hiện thuật toán 52
Sơ đồ giá trị Net 58
Sơ đồ thực hiện mạng Neural lan truyền thẳng 59
Sơ đồ tính E và so sánh 60
Sơ đồ hàm lỗi δk 61
Sơ đồ hàm lỗi δhi 61
Sơ đồ cập nhật bộ trọng số 62
Sơ đồ thuật toán huấn luyện mạng 63
Sơ đồ thực hiện các giai đoạn mô phỏng 65
Bộ nhân mult 66
Bộ cộng 67
Tính Net 67
Tính Tansig 1 68
Tính Tansig 2 68
Tính Net 3 69
Tính Sigmoid 69
Tính E 70
Bộ Compare 70
Tính δk 71
Tính δh1 71
Tính δh2 72
Cập nhật trọng số 1 (w1) 72
Cập nhật trọng số 2 (w2) 73
Cập nhật trọng số 3 (w3) 73
Cập nhật trọng số 4 (w4) 74
Cập nhật trọng số 5 (w5) 74
Trang 8xi
Hình 5.21
Hình 5.22
Hình 5.23
Hình 5.24
Mô phỏng kết quả khối Backpagation 77
Mô phỏng khối weight-register 78
Giá trị hàm lỗi Error (reset) 79
Giá trị hàm lỗi Error (start) 80
Trang 9Field Programable Gate Array Trư ng cổng lập trình được FPGA
Register Transfer Level Thiết kế cấp độ thanh ghi RTL
Trang 10xiii
Place &Router Đặt vị trí và định tuyến
Classic Timing Analyzer Phân tích th i gian
Analysis & Synthesis Phân tích và tổng hợp
Trang 11GVHD: TS Hoàng Trang 1 HV:Nguyễn Lâm Thương
CHƯƠNG 1
TỔNG QUAN
1.1 T ng quan chung về lĩnh vực nghiên c u, các k t qu nghiên c u trong
vƠ ngoƠi n ớc đƣ công b
Những năm gần đây mạng Neural đã được nghiên cứu, đề xuất các cấu trúc
và luật học cho nhiều loại mạng neural truyền thẳng và hồi quy mới, có rất nhiều
ưu điểm
Năm 1943, McCulloch và Pitts đã đề xuất một số liên kết cơ bản của mạng Neural
Năm 1949, Hebb đưa ra các luật thích nghi trong mạng Neural
Năm 1958, Rosenblatt đưa ra cấu trúc Perception
Năm 1969, Minsky và Papert chứng minh các tính chất Perceptron
Năm 1976, Grossberg dựa vào tính chất sinh học đã đưa ra một số cấu trúc của hệ động học phi tuyến với các tính chất mới
Năm 1982, Hopfield đưa ra mạng hồi quy một lớp
Năm 1986, Rumelhart, Hinton và Williams đề xuất thuật toán học Back Propagation để huấn luyện cho mạng Neural truyền thẳng nhiều lớp
Mạng Neural được ứng dụng nhiều trong những lĩnh vực quan trọng như:
Quân sự: vũ khí tự động, xử lý tín hiệu Rada, các ứng dụng trong tàu ngầm
Thông tin: xử lý âm thanh, nén âm thanh_hình ảnh
Không gian vũ trụ: mô phỏng đư ng bay, phi thuyền không ngư i lái
Điện tử: giải mã báo lỗi chip, mô hình hóa hệ thống
Trang 12GVHD: TS HOÀNG TRANG 2 HV: Nguyễn Lâm Thương
Y học: phân tích tế bào ung thư, thiết kế các bộ phận giả cho cơ thể
Công nghiệp: kiểm soát các dây truyền công nghiệp, phân tích và thiết kế
sản phẩm, dự báo chất lượng sản phẩm
Còn nhiều các ứng dụng: giao thông, ngân hàng, robotics, xây dựng, dầu
khí
Thuật toán học Backpropagation được Rumelhart, Hinton và Williams đề xuất
thực hiện để huấn luyện cho mạng Neural truyền thẳng nhiều lớp (năm 1986) Ngày
này, Cấu trúc mạng Neural có rất nhiều nghiên cứu về giải thuật và thuật toán học
Tuy nhiên, Những công trình nghiên cứu ứng dụng mạng Neural truyền thẳng sử
dụng thuật toán Backpropagation luôn luôn được lựa chọn bởi ưu điểm đơn giản và
hiệu quả Đây là một số công trình nghiên cứu trong và ngoài nước ứng dụng thuật
toán Backpropagation cho mạng Neural truyền thẳng
NETtalk (Sejnowski và Rosenberg,1987): Cách phát âm văn bản tiếng Anh,
đầu vào là một cửa số 7 ký tự trong bảng chữ cái tiếng Anh, đầu ra là một mã âm vị
(chuyển tiếp thành một bộ tổng hợp tiếng nói), được tạo âm từ những ngư i khác
nhau trong cùng một ngữ cảnh Tiếp theo, Huấn luyện trên 1024 từ và cách phát âm
chúng Kết quả là tạo ra giọng nói rất dễ hiểu
Neuralgammon (Tesauro 1989): Huấn luyện mạng Neuralgammon đã giành
chiến thắng huy chương vàng tại Olympic máy tính London năm 1989, đầu vào của
nó mô tả vị trí hiện tại (các vị trí con xúc xắc) và hướng di chuyển có thể, đầu ra thể
hiện tài dự doán của hướng di chuyển
Handwriting recognition (LE Cun et al 1990): Huấn luyện mạng được sử
dụng để đọc mã bưu điện trên phong bì (bưu điện Hoa kỳ) Ngõ vào là kích thước
hình ảnh những chữ số cách ly nhau, biến đổi hình ảnh trực quan đến một trong 10
lớp kết quả đầu ra
Florence Yean Yng (Singapore) và Minliu (USA): ng dụng mạng Neural
để dự báo kế hoạch thực hiện xây dựng ở Singapore Theo nghiên cứu, đầu vào
Trang 13GVHD: TS HOÀNG TRANG 3 HV: Nguyễn Lâm Thương
thực hiện 11 phép đo và 65 nhân tố tác động đến thành công của 33 dự án trước
đây, đầu ra chỉ ra 6 phép đo dự báo sự thành công của kế hoạch thực hiện dự án
với mức độ chính xác hợp lý: tầm quan trọng dự án, tốc độ xây dựng, tốc độ giải
quyết vấn đề khó khăn, sự luân phiên thay thế công nhân nghỉ việc, chất lượng hệ
thống và thiết bị
ALVINN (Pomerleau 1993): Huấn luyện mạng thực hiện cách lái xe Đầu
vào là hình ảnh thô của con đư ng (cung cấp bởi máy quay video và hình ảnh tia
laser), đầu ra là một vecto liên tục thực hiện thao tác xoay vô lăng
Improving Performance and Capacity of CDMA Mobile System Using
Multi-User Detectors Based on Neural Networks (Vũ Đình Thành và Huỳnh Phú
Minh Cư ng): ng dụng mạng Neural cho thuật toán học Backpropagation để xây
dựng bộ tách sóng có khả năng loại bỏ nhiễu đa truy cập (MAI) của công nghệ
CDMA, nâng cao chất lượng và dung lượng của kỹ thuật đa truy cập CDMA
Qua hai thập kỷ, Nhiều cấu trúc mạng Neural nhân tạo đã được phát triển
Những cấu trúc này được thực hiện bằng kết quả của những tổng và những hàm
không tuyến tính, sử dụng số lượng lớn các bộ xử lý được kết nối Ngày nay,
với sự gia tăng số lượng transistor có thể tích hợp trên cùng một chip đơn đã cho
phép thiết kế các hệ thống tích hợp nhiều chức năng trên cùng một chip (System
on Chip-SoC)
Nhằm khai thác hiệu quả mạng Neural nhân tạo dùng cho các ứng dụng quan
trọng Đề tài sẽ nghiên cứu thuật toán xây dựng một cấu trúc vi mạch và ứng dụng
cấu trúc vi mạch của mạng Neural theo giải thuật Backpropagation
1.2 M c đích c a đề tƠi
Thiết kế hoàn chỉnh và tối ưu cấu trúc vi mạch thực hiện giải thuật cho thuật
toán học Backpropagation
Trang 14GVHD: TS HOÀNG TRANG 4 HV: Nguyễn Lâm Thương
Quy trình thiết kế tuân theo quy trình thiết kế chuẩn Ngôn ngữ thiết kế cho thực
hiện mạng Neural và giải thuật cho thuật toán học Backpropagation là Verilog
HDL-IEEE
Hình 1.1:Quy trình thiết kế chip Khối mạng Neural sau khi xây dựng sẽ có khả năng phát triển cho các ứng dụng
khác một cách dễ dàng nhất có thể, thay thế dễ dàng cấu hình mạng Neural như:
việc tăng Neural trên mỗi lớp, việc tăng số lớp cho mạng chỉ bằng vài thao tác
đơn giản ghép nối các module con
1.3 Đ i t ng vƠ ph m vi nghiên c u
Nghiên cứu tổng quan về kiến trúc mạng Neural
Nghiên cứu về thuật toán học Backpropagation
Nghiên cứu về công nghệ FPGA và ngôn ngữ mô tả phần cứng Verilog
Thực hiện thực nghiệm trên kít DE2 do công ty Altera sản xuất
1.4 Ph ng pháp nghiên c u
Nghiên cứu lý thuyết:
Trang 15GVHD: TS HOÀNG TRANG 5 HV: Nguyễn Lâm Thương
o Tìm hiểu lý thuyết mạng Neural nhân tạo và một số công trình nghiên
cứu mạng Neural trong và ngoài nước
o Phân tích các giải pháp xây dựng kiến trúc mạng neural, sử dụng giải
thuật cho thuật toán học Backpropagation
Nghiên cứu thực nghiệm:
o Nghiên cứu kiến trúc vi mạch cho mạng Neural truyền thẳng, sử dụng
giải thuật cho thuật toán học Backpropagation Khảo sát theo các công
trình thực tế sử dụng mạng Neural và đặc tính của mạng Neural cũng như
công nghệ FPGA để xây dựng cấu trúc vi mạch cho mạng Neural phù
hợp
o Viết chương trình thực hiện và tiến hành mô phỏng, đánh giá kiến trúc
mạng Mô phỏng hoạt động của hệ thống mạng Neural trên Modelsim
Thực nghiệm trên phần cứng FPGA và đánh giá kết quả
1.5 ụ nghĩa khoa học vƠ thực ti n c a đề tƠi
Với những công trình nghiên cứu khoa học và những ứng dụng, mạng Neural
thực hiện thuật toán Backpropagation khẳng định giá trị và tính hiệu quả Tuy
nhiên, Thuật toán mạng Neural huấn luyện theo giải thuật Backpropagation chủ yếu
là phát triển theo hướng software, do đó mức độ tính toán của các giải thuật là rất
cao Tuy có nhiều cấu trúc và giải thuật cho mạng Neural chưa có nghiên cứu nào
xây dựng cấu trúc vi mạch cho các ứng dụng thực tế Để có thể thiết kế khả thi kiến
trúc vi mạch và đảm bảo tính chính xác, ổn định của hệ thống thì mạng Neural thực
hiện giải thuật Backpropagation là lựa chọn thích hợp nhất
Một trong những tính chất của mạng Neural là tính song song, mỗi Neural trên
cùng một lớp sẽ cùng tính toán đồng th i Những giải thuật được thực hiện trên
software không tận dụng tính song song của mạng Kiến trúc vi mạch thực hiện trên
nền FPGA sẽ thể hiện tính chất song song để tăng tốc độ xử lý
Trang 16GVHD: TS HOÀNG TRANG 6 HV: Nguyễn Lâm Thương
Việc xây dựng mạng Neural trên cấu trúc vi mạch, thể hiện qua FPGA hay ASIC
với công nghệ 180nm và 65nm là một trong những vấn đề tồn tại trong những bài
báo và nghiên cứu gần đây Bài toán thực thi giải thuật bằng ngôn ngữ phân cứng
luôn được đặt ra và thảo luận Hạn chế của ngôn ngữ mô tả phần cứng đòi hỏi phải
có sự tính toán và xử lý thích hợp để sai số trong quá trình chuyển tải xuống phần
cứng là thấp nhất
Do mạng Neural được ứng dụng nhiều trong nhiều lĩnh vực nên xây dựng thành
công kiến trúc vi mạch theo tiêu chuẩn công nghệ (180nm/65nm) sẽ là tiền đề quan
trọng trong việc đẩy mạnh phát triển các lĩnh vực khác, mở rộng các mô hình mạng
Neural khác Do đó tính mở rộng được đánh giá cao
ng dụng FPGA và Verilog trong thiết kế số cùng với kết quả đạt được của đề
tài có thể áp dụng một phần vào quá trình giảng dạy cho sinh viên chuyên ngành
Điện Tử Viễn Thông tại các trư ng Đại Học chuyên ngành Kỹ Thuật
1.6 Cấu trúc c a lu n văn
Luận văn bao gồm 5 chương:
Ch ng 1 ậ T ng quan:Giới thiệu đề tài và tính cấp thiết của đề tài
Ch ng 2 ậ C s lý thuy t: Giới thiệu các khái niệm cơ bản mạng Neural
Ch ng 3 ậ Thu t toán Backpropagation:Giải thuật thực hiện đề tài
Ch ng 4 ậNghiên c u thu t toán:Tìm hiểu các module thực hiện đề tài
Ch ng 5 ậ K t qu : Kết quả mô phỏng và chạy thực nghiệm trên kit DE2
Ch ng 6ậ K t lu n: Đánh giá và mở rộng đề tài
Trang 17GVHD: TS HOÀNG TRANG 7 HV: Nguyễn Lâm Thương
CHƯƠNG 2
CƠ SỞ Lụ THUY T
2.1 Giới thi u m ng Neural nhơn t o
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 hàng
chục-trăm tỷ 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
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
Hình 2.1:Minh họa mạng Neural
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
Trang 18GVHD: TS HOÀNG TRANG 8 HV: Nguyễn Lâm Thươ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 Thực chất quá trình truyền
thông tin giữa các Neural thần kinh là quá trình truyền dẫn các xung điện
Hình 2.2: Mạng Neural thực
Hình 2.3: Cấu trúc một Neural nhân tạo
Trang 19GVHD: TS HOÀNG TRANG 9 HV: Nguyễn Lâm Thương
Hình 2.4:Mô hình toán học 1 Neural
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
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 kem theo một trọng số , đă ̣c trưng cho đă ̣c tính kích thích hay ức
chế giữa các tế bào thần kinh nhân tạo
Hình 2.5: Quá trình truyền thông tin của Neural
Trang 20GVHD: TS HOÀNG TRANG 10 HV: Nguyễn Lâm Thương
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 phep toán c ộng và hàm chuyển đổi f Với ngõ ra a là tín hiệu ra
trên trục (axon)
2 2 Mô hình m ng Neural nhơn t o
2.2.1 Mô hình Neural chỉ một ngõ vƠo (có vƠ không có h s bias)
Hình 2.6: Mô hình Neural một ngõ vào không có hệ số bias
)x
Hình 2.7: Mô hình Neural một ngõ vào có hệ số bias
Một mô hình Neural đơn giản nhất (hình 2.6) chỉ gồm một input x và trọng số w
Sau khi qua hàm kích hoạt, đầu ra sẽ nhận được là o= f(w.x).Trên hình (2.7), ngoài
input còn có thêm phân cực Khi đó o=f(wx+), thực chất phân cực cũng có
tác dụng như trọng số, chỉ khác là input của nó bằng 1
o=f(w.x) (2.1)
o
H
Trang 21GVHD: TS HOÀNG TRANG 11 HV: Nguyễn Lâm Thương
Phân cực sẽ làm dịch chuyển hàm fqua trái một đoạn , flà hàm kích hoạt, nó
nhận tham số Hvào và cho đầu ra là o, thông thư ng thì f là hàm nấc (step) hay hàm
sigmoid số Mấu chốt của mạng là ở chỗ 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 đó hay nói
cách khác thì và w sẽ được hiệu chỉnh lại thông qua quá trình học
2.2.2 Mô hình Neural t ng quát
Một Neural là một đơn vị xử lý thông tin cơ bản của một mô hình mạng Neural
Mỗi một Neural thực hiện chung một chức năng là nhận tín hiệu từ ngõ vào hoặc từ
các Neural phía trước và dùng tín hiệu này để tính ngõ ra ở mỗi Neural rồi truyền
đến các Neural phía sau
Thiết lập đư ng kết nối: mỗi kết nối từ ngõ vào tới Neural được đặc trưng bởi
một trọng số w Trong hình, mỗi tín hiệu ngõ vào được nhân với trọng số liên kết
tương ứng tới Neural Trọng số trong mạng Neural nhân tạo có thể được giới hạn
trong khoảng xác định có thể âm hoặc dương
Một bộ cộng: dùng để tính tổng các tính hiệu ngõ vào, được biểu diễn ở dạng tổ
hợp tuyến tính
Một hàm kích hoạt: để giới hạn dãy biên độ tín hiệu ngõ ra ở các giá trị xác
định, thư ng nằm trong khoảng [0;1] hoặc [-1;1]
Hình 2.8: Mô hình Neural R ngõ vào và có hệ số bias
Một Neuron thông thư ng có nhiều hơn 1 ngõ vào, nhưng chỉ có duy nhất một ngõ ra
Một neuron với R ngõ vào được thể hiện trên hình(2.8) Các ngõ vào riêng biệt X1, X2, …
Trang 22GVHD: TS HOÀNG TRANG 12 HV: Nguyễn Lâm Thương
XR được nhân với các thành phần 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 H và o sẽ được biểu diễn:
j R
1
x w
) x w ( ( f
O là tín hiệu ngõ ra của Neural
W1,jlà trọng số kết nối từ ngõ vào thứ j đến Neural
Xjlà các tín hiệu đầu vào của Neural
2.3 Hàm kích ho t
Hàm kích hoạt có nhiệm vụ giới hạn giá trị output của Neural, và tùy theo từng yêu cầu
mà hàm kích hoạt có thể khác nhau, dưới đây là những hàm thông dụng nhất
HƠm kích ho t ng ỡng :
Hình 2.9: Hàm kích hoạt hardlim loại 1
Đây là hàm kích hoạt ngưỡng ( Hard-Limit ) , nó cho ra 0 nếu ngõ vào hàm kích
hoạt nhỏ hơn 0 và bằng 1 nếu ngõ vào hàm kích hoạt lớn hơn hoặc bằng không
Hàm đượ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
Loại
1
Trang 23GVHD: TS HOÀNG TRANG 13 HV: Nguyễn Lâm Thương
Hình 2.10: Hàm kích hoạt hardlim loại 2 Đây là hàm ngưỡng, nó cho ra -1 nếu ngõ vào của hàm kích hoạt là nhỏ hơn 0 và
cho ra 1 nếu ngõ vào hàm kích hoạt 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 kích ho t tuy n tính :
H)H( (2.3) Hình 2.11: Hàm kích hoạt purelin
Đâ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 kích ho t Log-sigmod
He1
1)
Trang 24GVHD: TS HOÀNG TRANG 14 HV: Nguyễn Lâm Thương
Hình 2.12: Hàm kích hoạt Log-sigmod Hàm này còn gọi là hàm bão hoà, nhận đầu vào tùy ý 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
HƠm kích ho t tan- sigmod
H 2
H 2
e1
e1)H(f
Hình 2.13: Hàm kích hoạt TansigTươ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
2.4 Ki n trúc m ng Neural
Trong bộ não con ngư i, các tế bào thần kinh liên kết với nhau thông qua các
khớp nối thần kinh tạo thành những mạng lưới với kiến trúc vô cùng phức tạp và đa
dạng Đối với các mạng Neural nhân tạo, chúng ta có các lớp kiến trúc cơ bản sau:
Trang 25GVHD: TS HOÀNG TRANG 15 HV: Nguyễn Lâm Thương
2 4.1 Các m ng Neural truyền thẳng sử d ng lu t học giám sát
Mạng được huấn luyện bằng cách cung cấp cho nó các cặp tập mẫu đầu vào và
các đầu ra mong muốn Khi đầu vào tác động vào mạng , tính giá trị đầu ra và so
sánh với đầu ra mong muốn Sự khác biệt giữa đầu ra tính được và đầu ra mong
muốn được sử dụng để điều chỉnh trọng số trong mạng
Quá trình huấn luyện có thể được có thể miêu tả ngắn gọn trong hình (2.14)
Training Data
Target
Objective Function
Error
Training Algorithm
Network
weight Changes
Hình 2.14:Mô hình học có giám sát 2.4.1.1 M ng ti n đ n m c (Perceptron một lớp)
Trong một mạng Neural phân mức, các Neural được tổ chức dưới dạng các mức Với
dạng đơn giản nhất của mạng phân mức, chúng ta có một mức đầu vào gồm các nút
nguồn chiếu trực tiếp tới mức đầu ra gồm các Neural Như vậy, mạng thực sự là không
có chu trình Nó được minh họa trong hình (2.15) cho trư ng hợp ba nút đối với cả mức
đầu ra và đầu vào Một mạng như vậy được gọi là mạng đơn mức Đơn mức tức là chỉ có
một mức, chính là mức đầu ra gồm các nút tính toán (các Neural) Chúng ta không tính
mức đầu vào của các nút nguồn vì không có tính toán nào được thực hiện ở đây
Mạng perceptron một lớp có cấu trúc đơn giản và dễ thực hiện, tuy nhiên mạng
này không có lớp ẩn (hidden layer) giữa lớp ngõ vào với lớp ngõ ra, do đó có hạn
chế trong việc sử dụng nó cho những bài toán phức tạp
Trang 26GVHD: TS HOÀNG TRANG 16 HV: Nguyễn Lâm Thương
Hình 2.15: Perceptron đơn lớp
Phương trình tổng quát tính output của mạng (có xét tới hệ số bias) được thực
hiện như sau:
o
(2.6 ) Trong đó
oi : tương ứng với ngõ ra của Neural thứ i
wij : tương ứng với trọng số kết nối giữa ngõ vào j đến Neural i
:hệ số bias của Neural thứ ii
N: số ngõ vào của mạng Neural một lớp
2.4.1.2 M ng ti n đa m c.(Perceptron nhiều lớp)
Mạng perceptron nhiều lớp (multilayer feedforward networks) có nhiều lớp
Neural: một hoặc không có lớp vào, một hay nhiều lớp ẩn và một lớp ra
Trư ng hợp chỉ có hai lớp ( còn được gọi là mạng MLP 2 layer), thì lớp nối
trực tiếp với ngõ ra của mạng ta gọi là lớp ngõ ra, còn lớp còn lại gọi là lớp ẩn,
không có lớp vào Kiến trúc mạng này được minh họa ở hình (2.16)
Mạng này bao gồm: 2 lớp Neural (1 lớp Hidden layer và một lớp output layer),
với l đầu vào mạng (x1, x2, , xl) và M đầu ra của mạng (o1, o2, , oM)
Trang 27GVHD: TS HOÀNG TRANG 17 HV: Nguyễn Lâm Thương
Hình 2.16:Mạng Neural 2 lớp
Trư ng hợp tổng quát, mạng Neural sẽ có nhiều hơn 2 lớp, lúc này mạng sẽ có
một lớp ngõ vào (Input Layer) được kết nối từ các ngõ vào của mạng (x1, x2, , xl),
một hay nhiều lớp ẩn (Hidden Layer) không trực tiếp kết nối với ngõ vào và ngõ ra
của mạng, một lớp ngõ ra của mạng (Output layer) kết nối với đầu ra của mạng(o1,
o2, ,oM) Kiến trúc được minh họa ở hình (2.17)
Trang 28GVHD: TS HOÀNG TRANG 18 HV: Nguyễn Lâm Thương
Phương trình tổng quát tính output của mạng (có xét tới hệ số bias) được thực
hiện như sau:
Xét Neural thứ q lớp (s-1) có tổng trọng là:
) 1 s ( q m
1 j
) 2 s ( j ) 1 s ( qj )
1 s (
) H ( f
q )
1 s q
(2.8)Xét Neural thứ i của lớp ra (s) có tổng trọng là:
i m
1 q
) 1 s ( q m
1 j
) 2 s ( j ) 1 s ( qj iq
i m
1 q
) 1 s ( q ) s ( iq )
s (
)H(f
s 1 )
qj
w : trọng số kết nối giữa ngõ ra của Neural thứ j trong lớp (s-2) và ngõ
vào của Neural thứ q trong lớp (s-1)
Trang 29GVHD: TS HOÀNG TRANG 19 HV: Nguyễn Lâm Thương
iq
w : trọng số kết nối giữa ngõ ra của Neural thứ q trong lớp (s) và ngõ vào
của Neural thứ i trong lớp (s)
2.4.2 Các m ng Neural h i quy (học không giám sát)
Đối với cách học không giám sát thì không có sự phản hồi từ giá trị mẫu đích
mong muốn để chỉ ra đầu ra của mạng là đúng hay sai Mạng sẽ phải tự khám phá
các đặc trưng, các mối tương quan hay các lớp trong dữ liệu một cách tự động
Hình 2.18: Mô hình học không giám sát
Hình 2.19: Mạng Neural hồi quy (không có/có Neural ẩn)
Điều quan trọng và khác biệt so với mạng Neural truyền thẳng đó là tín hiệu ra
của Neural thứ j là yj được đưa ngược lại đầu vào của Neural khác bởi trọng số wij
với i = 1, 2, , n và i≠j (nghĩa là tín hiệu ra của Neural thứ i không đưa ngược trở lại
input
output
Trang 30GVHD: TS HOÀNG TRANG 20 HV: Nguyễn Lâm Thương
đầu vào của chính nó wij=0) Và mạng Hopfield là mạng Neural tiêu biểu nhất cho
mạng Neural hồi quy.Chúng ta có thể phân mạng Neural hồi quy thành 2 dạng tổng
quát đó là mạng hồi quy đơn lớp và mạng hồi quy đa lớp
Tác dụng của vòng lặp phản hồi trong cả hai cấu trúc bên trên, có một ảnh
hưởng sâu sắc đến khả năng học của mạng và đến tính năng của nó Và đặc biệt, các
vòng lặp phản sử dụng các nhánh có các “ phần tử đơn vị trễ” (ký hiệu là z-1), thể
hiện một hành vi phi tuyến động theo th i gian Một kiến trúc mạng hồi quy đã
được nghiên cứu và ứng dụng rất phổ biến đó là mạng Hopfield
2.5 Các lu t học cho m ng Neural
Học là quá trình mà nh nó các tham số tự do (số Neural trong mạng, số lớp
Neural, kỹ thuật kết nối giữa các Neural, các trọng số của mỗi Neural…) được điều
chỉnh lại cho phù hợp thông qua một quá trình kích thích bởi môi trư ng
Nếu phân chi mạng Neural theo nhóm luật học ta có: nhóm các luật học thông số
(parameter learnng rules) và nhóm các luật học cấu trúc (struture learning rules)
Các luật học trong nhóm học thông số có nhiệm vụ tính toán cập nhật giá trị
của các trọng số liên kết các Neural trong mạng Có ba dạng học thông số như sau:
Học có giám sát
Hình 2.20: Mô hình học có giám sát
∑
Trang 31GVHD: TS HOÀNG TRANG 21 HV: Nguyễn Lâm Thương
Vector tín hiệu ra của mạng sẽ so sánh với vector giá trị mong muốn để có được
thông số sai lệch giữa hai vector, vector sai lệch này có nhiệm vụ hiệu chỉnh lại
trọng số bên trong mạng
Học củng cố
Trong quá trình học giám sát, giả thuyết đáp ứng đầu ra của mạng đạt giá trị
mong muốn Nhưng ở một mẫu nào đó bị cho rằng không đáng tin cậy, vì vậy cần
phải tiến hành kiểm tra mẫu trên Việc học củng cố nhằm góp phần khẳng định kết
quả quá trình học có giám sát là đúng hay sai
Học không có giám sát
Kiểu học này không có tín hiệu lấy từ bên ngoài, mà phải tự mình tìm ra các
mẫu đặc trưng, sự tương thích, phân loại trong dữ liệu đầu vào và mã hóa thành các
mẫu ở đầu ra
Các luật học trong nhóm học cấu trúc có nhiệm vụ đưa ra cấu trúc hợp lý của
mạng như thay đổi số lượng Neural hoặc thay đổi số lượng liên kết của các Neural
có trong mạng
Cấu trúc của mạng Neural có hai dạng đó là:
Mạng Neural truyền thẳng, tức là ngõ ra của mạng Neural sẽ không có hồi
tiếp lại đầu vào của các Neural thuộc các lớp bên trong của mạng
Mạng truyền thẳng 1 lớp
Mạng truyền thẳng nhiều lớp
Mạng Neural có hồi quy, tức là ngõ ra của mạng Neural sẽ được hồi tiếp lại
đầu vào của các Neural thuộc các lớp bên trong của mạng
Mạng hồi quy một lớp
Mạng hồi quy nhiều lớp
Và tất nhiên ứng với mỗi ứng dụng khác nhau sẽ được nghiên cứu và phát triển
một kiến trúc mạng Neural tối ưu nhất cho ứng dụng đó
Trang 32GVHD: TS HOÀNG TRANG 22 HV: Nguyễn Lâm Thương
2.6 Xem xét vƠ đánh giá các gi i thu t huấn luy n cho m ng Neural
ng với mỗi cấu trúc mạng Neural khác nhau sẽ có những giải thuật tương ứng
phù hợp với nó Và vì vậy đã có nhiều giải thuật ra đ i Sau đây sẽ trình bày những
giải thuật thông dụng nhất, những giải thuật này đã được nghiên cứu và phát triển
trong rất nhiều ứng dụng thực tế
2.6.1 Lu t học lan truyền ng c sử d ng cho m ng truyền thẳng
Hình 2.21: Mô hình mạng Neural với bộ vectơ vào-ra Bryson và Ho đã đề xuất sử dụng luật học lan truyền ngược (Backpropagation)
cho mạng truyền thẳng lan truyền ngược vào năm 1968 Cho trước cặp mẫu tín hiệu
vào-ra của mạng là { (X(k),d(k)) } với k=1,2,3 ,p (tức là ta có p cặp mẫu tín hiệu
vào-ra) và
X(k) chính là vector thứ k của đầu vào của mạng X(k)={[x1,x2, ,xN]T }(k)
d(k) chính là vector thứ k của đầu ra mong muốn của mạng
d(k)={[d1,d2, ,dM]T }(k)
Giải thuật lan truyền ngược thực hiện huấn luyện cho một cặp mẫu dữ liệu theo
hai bước sau:
Trang 33GVHD: TS HOÀNG TRANG 23 HV: Nguyễn Lâm Thương
Bước tính toán theo chiều thuận: Vector đầu vào X được đưa vào
mạng, tính toán thông qua các lớp, và cho kết quả ở ngõ ra của mạng
Bước tính toán theo chiều nghịch: Một khi đã có vector ngõ ra của
mạng o, vector ngõ ra sẽ so sánh với giá trị mong muốn để tìm sai lệch e=o-d, ứng
với giá trị sai lệch này các trọng số của mạng sẽ được tính toán để hiệu chỉnh lại
B ớc 1: Tính toán theo chiều thuận
Xét Neural thứ q lớp (s-1) có tổng trọng là:
) 1 s ( q m
1 j
) 2 s ( j ) 1 s ( qj )
1 s (
) H ( f
q )
1 s q
Xét Neural thứ i của lớp ra (s) có tổng trọng là:
i m
1 q
) 1 s ( q m
1 j
) 2 s ( j ) 1 s ( qj iq
i m
1 q
) 1 s ( q ) s ( iq )
s (
))o
.w(w()H(
1 q
) 1 s ( q m
1 j
) 2 s ( j ) 1 s ( qj iq
) s ( i )
s (
1 q
m 1 j
) 2 s ( j ) 1 s ( qj iq
) s ( i )
s (
B ớc 2: Tính toán chiều ngược
Trung bình phương sai số E được viết như sau:
2 P
1 k
M 1 i
) k ( i ) k (
d(2
Trang 34GVHD: TS HOÀNG TRANG 24 HV: Nguyễn Lâm Thương
Sử dụng phương pháp gradient để tìm lượng điều chỉnh của trọng số giữa Neural
thứ q của lớp ẩn với Neural thứ i của lớp ngõ ra ta có:
q oi iq
)H(fyd[v
E
i
' i i i
'
H
)H(f)H(f
(2.18) Tiếp tục sử dụng phương pháp hạ gradient tìm lượng điều chỉnh của trọng số
giữa Neural thứ j của lớp vào với Neural thứ q của lớp ẩn ta có
Với hqlà tín hiệu sai lệch của Neural thứ i của lớp ngõ ra :
iq n
1
i oii ' i
'
H
)H()
2.6.2 Các lu t học cho m ng Neural Wavelet
Một ứng dụng của mạng Neural Wavelet là xấp xỉ số Phần sau đây sẽ trình bày
một luật học của mạng Neural Wavelet được ứng dụng để xấp xỉ số Luật học biễu
diễn cho mẫu ngẫu nhiên quan hệ vào-ra: {u, f(u) = g(u) +}, với g(u) là hàm xấp
xỉ và là nhiễu
Trang 35GVHD: TS HOÀNG TRANG 25 HV: Nguyễn Lâm Thương
Lu t học Stochastic Gradient cho m ng Neural Wavelet 1
Các thông số điều chỉnh ,
i
, i
,
i,t ,w,
y được nhóm lại biểu diễn ở dạng vecto Gọi y(u)là tín hiệu ra của mạng Neural Wavelet(với thông số ) có dạng sau:
y)tu(w)
u(y
i i M
Để tìm trạng thái c() đạt cực tiểu, sử dụng thuật toán Stochastic Gradient
Phương pháp đệ quy áp dụng cho và mỗi cặp thông số {uk,f(uk)} với hàm mục
tiêu có dạng:
c(,uk,f(uk))= 2
k
k) (u ))u
(y(2
(2.23) Các biểu thức đạo hàm riêng của c(.) theo từng thông số có trong vectơ được
biểu diễn ở dạng sau đây:
)z(.we
1t
c
)z(ewc
ki
, i k 2 i
i k i
ki
, i k i i
ki k i
; t u z );
u ( ) u ( y
i
i k ki k k
Lu t học Stochastic Gradient cho m ng Neural Wavenet 2
Để tiện cho quá trình trình bày các thông số điều chỉnh ,
i
, i
,
i,t ,w,
lại biểu diễn ở dạng vecto Cần chú ý rằng trong mạng Neural Wavenet các thông
Trang 36GVHD: TS HOÀNG TRANG 26 HV: Nguyễn Lâm Thương
số t,,
i được giữ không đổi Gọi y(u)là tín hiệu ra của mạng Neural Wavenet(với
thông số ) có dạng như sau:
)tu(w
)u(
1 i
mục tiêu có dạng:
2 k k
(2.26)
Ta có:
)z(e
w
c
ki i k i
Chú ý: Trong quá trình học, cần chọn trước giá trị tốc độ học và giá trị số
lượng lần học Tốc độ học (0,1] để đảm bảo quá trình hội tụ nhanh
2.6.3 Lu t học cho d ng m ng h i ti p
Mạng hopfiled là dạng đặc trưng cho mạng hồi tiếp và Hopfiled đã được ứng
dụng rất hiệu quả vì vậy sẽ đề cập đến luật học cho mạng Hopfiled
Mạng Hopfield
Mạng Hopfile do Hopfile đề xuất năm 1982 Nó có nhiều ứng dụng trong lĩnh
vực nhớ và nhận mẫu Cấu trúc của mạng Hopfield là chỉ có một lớp Neural và ngõ
ra của Neural này cũng sẽ là ngõ vào của các Neural
Xem xét luật học cho mạng Hopfield r i rạc
Mạng hopfield gọi là r i rạc khi nó làm việc ở chế độ th i gian lấy mẫu gián
đoạn Mạng thực hiện việc cập nhật tín hiệu như sau: ban đầu đặt một mẫu đầu vào
cho mạng, nó sẽ tính toán được tín hiệu đầu ra tương ứng; sau đó mẫu đầu vào ban
Trang 37GVHD: TS HOÀNG TRANG 27 HV: Nguyễn Lâm Thương
đầu được loại bỏ và thay vào đó là tín hiệu đầu ra vừa được tính toán thông qua các
liên kết hồi quy Với tín hiệu đầu vào cập nhật lần thứ nhất, mạng lại tính được tín
hiệu đầu ra cập nhật mới (đầu ra cập nhật lần thứ nhất), đầu ra cập nhật lần thứ nhất
lại thực hiện vai trò đầu vào cập nhật lần thứ 2 thông qua các liên kết hồi quy, mạng
lại tính được đầu ra cập nhật lần thứ 2 Quá trình này sẽ diễn ra liên tục cho đến khi
mạng đạt trạng thái cân bằng
Từ sơ đồ cấu trúc mạng Hopfiled ta thấy mỗi Neural đều có một tín hiệu vào lấy
từ bên ngoài vào xj và một đầu vào là ngưỡng j, với j=1,2,3, n Tín hiệu ra của
Neural thứ i ở th i điểm (k+1) được tính theo biểu thức :
i , 1 j
k j ij )
1 k (
y , với i = 1,2,3, ,n (2.28)
Mạng hopfield có thể hoạt động ở phương thức đồng bộ hoặc bất đồng bộ;
Trong phương thức đồng bộ các trọng số của mọi Neural trong mạng được cập nhật
đồng bộ
Trong phương thức không đồng bộ thì trọng số của duy nhất một Neural được
cập nhật tại th i điểm tính, vì chỉ có một Neural được chọn trong n Neural có trong
mạng, nên xác suất lựa chọn là 1/n
Xem xét luật học của mạng Hopfield liên tục
Mạng Hopfield liên tục khác mạng Hopfield r i rạc ở chỗ tín hiệu đầu ra ở dạng
liên tục chứ không phải ở dạng hai trạng thái, mạng Hopfield liên tục có thể được
xây dựng trên công nghệ của mạch điện tử gồm các phần tử tương tự Mô hình
Hopfield liên tục ở dạng mạch điện có n bộ khuếch đại, mỗi bộ khuếch đại có nhiệm
vụ biến đổi điện áp vào ui thành điện áp ra yi thông qua hàm chuyển đổi f(ui), hàm
chuyển đổi sử dụng ở dạng sigmod Mỗi bộ khuếch đại thứ i có điện dẫn, điện dung
đầu vào và tín hiệu từ bên ngoài đầu vào tương ứng là gi, ci, xi Trong thực tế tín
hiệu đầu vào là một nguồn dòng điện không đổi cho bộ khuếch đại Điện dẫn wij nối
đầu ra của nút j với đầu vào của nút thứ i vì điện trở có giá trị dương nên cầncó đầu
Trang 38GVHD: TS HOÀNG TRANG 28 HV: Nguyễn Lâm Thương
ra đảo yiđể mô phỏng cho các tín hiệu hạn chế Chú ý mạng có tính chất đối xứng
của các trọng số wij=wji, wii=0
Luật cập nhật cho các nút của mạng Hopfield liên tục được thực hiện bởi luật
Kirhop 1, tổng dòng điện đi vào một nút bằng tổng dòng điện đi ra một nút ta có:
i i i j n i , 1
i i i j j ij
Phương trình trên mô phỏng sự biến đổi trạng thái của hệ thống theo th i gian
Nếu mỗi một nút có giá trị khởi tạo ban đầu ui(0) thì có thể tìm được ui(t) và
yi(t)=a(ui(t)) bằng cách giải phương trình vi phân nói trên
2.6.4 Các lu t học khác
BAM
Bộ nhớ liên kết 2 chiều (BAM) do Kosko đề xuất vào năm 1987
BAM là bộ nhớ liên kết hồi quy có hai lớp và có thể coi nó là sự mở rộng của
Hopfield Có hai loại là BAM r i rạc và BAM liên tục
Các lu t học không giám sát
Các luật học không giám sát có dạng phương trình vi phân bậc nhất, được áp dụng
cho mạng Neural chỉ có một lớp với vectơ tín hiệu đầu vào là X=[x1,x2, ,xm]T và
vectơ tín hiệu ra y=[y1,y2, ,yn]T, trọng số liên kết từ Neural thứ j đến thứ i là wij.
Luật học Hebb
Các luật học Hebb tín hiệu
Luật học Hebb tín hiệu
Luật học Hebb Sanger
Luật học Hebb Grosberg
Trang 39GVHD: TS HOÀNG TRANG 29 HV: Nguyễn Lâm Thương
Các luật học cạnh tranh
Luật học cạnh tranh
Luật học Kosko
Các luật học Hebb vi phân
Luật học Hebb vi phân
Là hệ nhiều biến, nhiều đầu vào, nhiều đầu ra
2.8 Ngôn ngữ mô t phần c ng HDL (Hardware Description Language)
Verilog là một trong hai ngôn ngữ mô tả phần cứng chính (gồm VHDL và
Verilog HDL), được ngư i thiết kế phần cứng tạo một cấu trúc vi mạch, sử dụng để
mô tả, thiết kế các hệ thống số: một bộ chuyển mạch số, một vi xử lý, một bộ nhớ
memory hay đơn giản chỉ là một flip-flop
Verilog HDL có thể sử dụng để thiết kế hệ thống số ở nhiều mức khác nhau, ví
dụ ở mức cao như các mô hình đặc trưng đến các mức thấp như các mô hình bố trí
dây, điện trở, transistor … trên một mạch tích hợp; mô hình các cổng logic,
flip_flop trong một hệ thống số; mô tả thanh ghi và sự di chuyển dữ liệu giữa các
thanh ghi (RTL – Register Transfer Level); thậm chí là mức chuyển mạch transistor
(switch level) Verilog cho phép ngư i thiết kế phần cứng thực hiện các thiết kế của
họ ở mức hành vi, thực hiện các thiết kế cho tới bước cuối cùng của chu kỳ thiết kế
Trang 40GVHD: TS HOÀNG TRANG 30 HV: Nguyễn Lâm Thương
Hình 2.22: Verilog Abstraction Level
T i sao sử d ng Verilog HDL?
Hệ thống số là một hệ thống phức tạp bậc cao cấp độ chi tiết nhất, chúng có
thể bao gồm hàng nghìn thành phần như: các transistor hoặc các cổng logic, cho nên