BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG NGHIÊN CỨU THUẬT TOÁN BACKPROPAGATION TRÊN FPGA GVHD: TS. VÕ MINH HUÂN SVTH: THÂN THÁI THÀNH MSSV: 11141312 SVTH: NGÔ NGỌC VƯỢNG MSSV: 11141262 SKL 0 0 3 9 3 1 Tp. Hồ Chí Minh, tháng 7/2015 do an BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐÀ O TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP NGÀNH: ĐIỆN TỬ TRUYỀN THÔNG Đề tài: NGHIÊN CỨU THUẬT TOÁN BACKPROPAGATION TRÊN FPGA GVHD: T.S VÕ MINH HUÂN SVTH : THÂN THÁI THÀNH _ 11141312 NGÔ NGỌC VƯỢNG _ 11141262 Tp.
Hồ Chí Minh, tháng 07 năm 2015 do an ĐỒ ÁN TỐT NGHIỆP | 2015 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập- Tự do- Hạnh phúc ----***---- Tp. Hồ Chí Minh, ngày…tháng…năm… NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ và tên sinh viên:. Lớp…………………………… Giảng viên hướng dẫn:. Ngày nhận đề tài.
Ngày nộp đề tài:……………… 1. Các số liệu tài liệu ban đầu. Nội dung thực hiện đề tài. ………………………………… TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN Trangi do an ĐỒ ÁN TỐT NGHIỆP | 2015 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập- Tự do- Hạnh phúc ----***---- Tp.
Hồ Chí Minh, ngày…tháng…năm… PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Họ và tên sinh viên:………………………………….MSSV:……………………… Họ và tên sinh viên:………………………………….MSSV:……………………… Nghành:……………………………………………………………………………… Tên đề tài:…………………………………………………………………………… ………………………………………………………………………………………. Họ và tên giáo viên hướng dẫn……………………………………………………… NHẬN XÉT 1. Về nội dung đề tài và khối lượng thực hiện: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… 2. Đề nghị bảo vệ hay không ? ………………………………………………………………………………… 5.
Đánh giá loại: ………………………………………………………………………………… 6. Điểm:………………(bằng chữ………………………………………………) Tp Hồ Chí Minh, Ngày…tháng…năm… Giáo viên hướng dẫn Trangii do an ĐỒ ÁN TỐT NGHIỆP | 2015 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập- Tự do- Hạnh phúc ----***---- Tp. Hồ Chí Minh, ngày…tháng…năm… PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên sinh viên:………………………………….MSSV:……………………… Họ và tên sinh viên:………………………………….MSSV:……………………… Nghành:……………………………………………………………………………… Tên đề tài:…………………………………………………………………………… ………………………………………………………………………………………. Họ và tên giáo viên phản biện……………………………………………………… NHẬN XÉT 1.
Về nội dung đề tài và khối lượng thực hiện: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… 2. Đề nghị bảo vệ hay không ? ………………………………………………………………………………… 5. Đánh giá loại: ………………………………………………………………………………… 6. Điểm:………………(bằng chữ………………………………………………) Tp Hồ Chí Minh, Ngày…tháng…năm… Giáo viên phản biện Trangiii do an ĐỒ ÁN TỐT NGHIỆP | 2015 LỜI CẢM ƠN Chúng em xin bày tỏ lòng biết ơn sâu sắc tới thầy TS.
VÕ MINH HUÂN, thầy đã hướng dẫn, chỉ dạy tận tình để chúng em có thể hoàn thành đồ án này. Đồng thời, chúng em cũng xin gửi lời cảm ơn đến quý Thầy Cô Khoa Đào Tạo Chất Lượng Cao – Trường Đại Học Sư Phạm Kỹ Thật TP.Hồ Chí Minh đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường… Nhóm cũng xin cảm ơn bạn bè, gia đình và những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để nhóm hoàn thành nhiệm vụ học tập và cuốn đồ án tốt nghiệp này. Đồ án được thực hiện trong khoảng thời gian gần 3 tháng. Bước đầu đi vào thực tế , tìm hiểu về lĩnh vực sáng tạo trong nghiên cứu khoa học , kiến thức của chúng em còn hạn chế và còn nhiều bỡ ngỡ.
Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn, chúng em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn sinh viên để kiến thức của chúng em trong lĩnh vực này được hoàn thiện hơn. Nhóm Sinh Viên Thực Hiện Trangiv do an ĐỒ ÁN TỐT NGHIỆP | 2015 LỜI NÓI ĐẦU 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 tangà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(HardwaveDescription Language) mà những thiết kế mạch số dùng để mô tả và thiết kế cácmạch số trên các chip này. Mạng Neural nhân tạo hiện nay được ứng dụng trong rất nhiều lĩnh vực:Xử lý tín hiệu, xử lý ngôn ngữ, dự báo, nhận dạng, lọc và phân loại dữ liệu, chuẩn đoán bệnh,…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. Trangv do an ĐỒ ÁN TỐT NGHIỆP | 2015 MỤC LỤC Trang phụ bìa TRANG Nhiê ̣m vu ̣ Đồ án tố t nghiê ̣p i Nhận xét của Giáo viên hướng dẫn ii Nhận xét của Giáo viên phản biện iii Lời cảm ơn iv Lời nói đầu v Mục lục vi Danh mục các bảng biểu xi Danh mục các hình ảnh, biểu đồ xii Chƣơng 1.1 Giới thiệu tình hình nghiên cứu hiện nay.2Tính cấp thiết của đề tài .3 Mục tiêu nghiên cứu .4 Nhiệm vụ nghiên cứu .5 Đối tượng và phạm vi nghiên cứu .6 Phương pháp nghiên cứu .7 Bố cục của Đồ án .1 Giới thiệu mạng Neural nhân tạo .2Mô hình mạng Neural nhân tạo.1Mô hình Neural chỉ 1 ngõ vào. 7 Trangvi do an ĐỒ ÁN TỐT NGHIỆP | 2015 2.2Mô hình Neural tổng quát .3Hàm kích hoạt .4Kiến trúc mạng Neural .2 Mạng nhiều tầng truyền thẳng .5 Các luật học cho mạng Neural .6 Các vấn đề trong xây dựng mạng MLP .1 Chuẩn bị dữ liệu .2 Xác định các tham số cho mạng .7 Các tính chất của mạng Neural .8 So sánh mạng Neural với máy tính truyền thống .9 Ngôn ngữ mô tả phần cứng HDL.
THUẬT TOÁN BACKPROPAGATION 3.1 Mạng Neural truyền thẳng .2 Thuật toán Backpropagation .3 Hàm kích hoạt .4 Chuẩ n chuyể n đổ i số thực sang số nhi ̣phân IEEE 754 .1 Số thực dấu phẩy động .2 Cộng 2 số thực theo chuẩn IEEE-754 .3 Nhân 2 số thực theo chuẩn IEEE 754 .4 Cách tính hàm Sigmod và Tansig gần đúng trong Verilog. 38 Trangvii do an ĐỒ ÁN TỐT NGHIỆP | 2015 Chƣơng 4. NGHIÊN CỨU THUẬT TOÁN 4.1 Sơ đồ thực hiện thuật toán .2 Huấn luyện mạng Neural .3 Khảo sát thuật toán thực hiện bằng Matlab.4 Các module chương trình .1 Khối thực hiện mạng .3 Module hàm lỗi δk .4 Module hàm lỗi δh1 , δh2 .5 Cập nhật bộ trọng số .5 Thuật toán huấn luyện mạng .1 Sơ đồ thực hiện các giai đoạn mô phỏng .2 Khối thực hiện phép nhân số thực.1 Thiết kế RTL cho khối nhân .2 Kết quả mô phỏng khối nhân .3 Khối thực hiện phép cộng số thực.1 Thiết kế RTL cho khối cộng .2 Kết quả mô phỏng khối cộng .4 Khối thực hiện số hóa hàm sigmod-tansig .1 Thiết kế RTL cho khối sigmod .2 Thiết kế RTL cho khối tansig .5 Khối thực hiện net. 61 Trangviii do an ĐỒ ÁN TỐT NGHIỆP | 2015 5.1 Thiết kế RTL cho khối net .2 Kết quả mô phỏng khối net .6 Khối tình hàm Error .1 Thiết kế RTL cho khối hàm Error .2 Kết quả mô phỏng khối Error .7 Khối so sánh .2 Kết quả mô phỏng khối so sánh .8 Khối tính hàm lỗi δk ở ngõ ra .1 Thiết kế RTL cho khối tính hàm lỗi δk .2 Kết quả mô phỏng khối tính hàm lỗi δk .9 Khối tính hàm lỗi δh1 , δh2 .1 Thiết kế RTL cho khối tính hàm lỗi δh1 , δh2 .2 Kết quả mô phỏng khối tính hàm lỗi δh1 , δh2 .10 Khối cập nhật trọng số .1 Thiết kế RTL cho khối cập nhật trọng số .2 Kết quả mô phỏng khối cập nhật trọng số .11 Thiết kế khối Pre_backpropagation .1 Thiết kế RTL cho khối Pre_backpropagation .2 Kết quả mô phỏng khối pre_backpropagation .12 Thiết kế khối Backpropagation .1 Thiết kế RTL khối Backpropagation .2 Kết quả mô phỏng khối backpropagation .13 Thiết kế khối network_control .1 Thiết kế RTL khối network_control .2 Kết quả mô phỏng khối network_control.
82 Trangix do an ĐỒ ÁN TỐT NGHIỆP | 2015 5.14 Tổng hợp các khối thành khối top .1 Thiết kế RTL cho khối top .2 Kết quả mô phỏng khối top_layer. KẾT LUẬN 87 TÀI LIỆU THAM KHẢO 88 Trangx do an ĐỒ ÁN TỐT NGHIỆP | 2015 DANH SÁCH CÁC BẢNG Bảng 5.1: Kết quả sử dụng tài nguyên và thời gian khố i nhân .2: Kết quả sử dụng tài nguyên và thời gian khố i cô ̣ng .3: Kết quả sử dụng tài nguyên và thời gian khố i tính sigmod .4: Kết quả sử dụng tài nguyên và thời gian khố i tính tansig .5: Kết quả sử dụng tài nguyên và thời gian khố i net .6: Kết quả sử dụng tài nguyên và thời gian khố i error .7: Kết quả sử dụng tài nguyên và thời gian khố i so sánh .8: Kết quả sử dụng tài nguyên và thời gian khố i tính hàm lỗi δk ở ngõ ra .9: Kết quả sử dụng tài nguyên và thời gian khố i tính hàm δh.10: Kết quả sử dụng tài nguyên và thời gian khố i khối cập nhật trọng số .11: Kết quả sử dụng tài nguyên và thời gian khố i khối pre_backpropagation .12: Kết quả sử dụng tài nguyên và thời gian khố i khối backpropagation .13: Kết quả sử dụng tài nguyên và thời gian khố i network_control .14: Kết quả sử dụng tài nguyên và thời gian khối top_layer .15: So sánh kết quả thực hiện thuật toán trên FPGA và trên Matlab. 86 Trangxi do an ĐỒ ÁN TỐT NGHIỆP | 2015 DANH SÁCH CÁC HÌNH ẢNH Hình 1.1: Quy trình thiết kế chip .1: Mạng Neural thực .2: Cấu trúc của một nơron sinh học điển hình .3: Mô hình toán học một Neural nhân tạo .4: Mô hình Neural một ngõ vào không có hệ số bias .5: Mô hình Neural một ngõ vào có hệ số bias .6: Mô hình Neural tổng quát .7: Hàm kích hoạt hardlim loại 1.8: Hàm kích hoạt hardlim loại 2.9: Hàm kích hoạt purelin .10: Hàm kích hoạt Log-sigmod .11: Hàm kích hoạt Tansig .12: Mạng tự kết hợp .13: Mạng kết hợp khác kiểu .14: Mạng truyền thẳng .15: Mạng phản hồi .17: Mạng MLP tổng quát .18: Mối liên hệ giữa sai số và kích thước mẫu .19: Verilog Abstraction Level .