Đồ án Nghiên cứu thuật toán backpropagation trên FPGA (Phần 1)

pdf 22 trang phuongnguyen 140
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Nghiên cứu thuật toán backpropagation trên FPGA (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_nghien_cuu_thuat_toan_backpropagation_tren_fpga_phan_1.pdf

Nội dung text: Đồ án Nghiên cứu thuật toán backpropagation trên FPGA (Phần 1)

  1. 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 S K L 0 0 3 9 3 1 Tp. Hồ Chí Minh, tháng 7/2015
  2. 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 TAỌ 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
  3. ĐỒ Á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: MSSV: Nghành: Lớp Giảng viên hướng dẫn: ĐT: . Ngày nhận đề tài Ngày nộp đề tài: 1. Tên đề tài: . 2. Các số liệu tài liệu ban đầu 3. Nội dung thực hiện đề tài 4. Sản phẩm TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN Trangi
  4. ĐỒ Á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. Ưu điểm: 3. Khuyết điểm: 4. Đề 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
  5. ĐỒ Á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. Ưu điểm: 3. Khuyết điểm: 4. Đề 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
  6. ĐỒ Á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
  7. ĐỒ Á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
  8. ĐỒ ÁN TỐT NGHIỆP | 2015 MỤC LỤC Trang phụ bìa TRANG Nhiêṃ 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. TỔNG QUAN 1 1.1 Giới thiệu tình hình nghiên cứu hiện nay 1 1.2Tính cấp thiết của đề tài 2 1.3 Mục tiêu nghiên cứu 3 1.4 Nhiệm vụ nghiên cứu 4 1.5 Đối tượng và phạm vi nghiên cứu 4 1.6 Phương pháp nghiên cứu 4 1.7 Bố cục của Đồ án 4 Chƣơng 2. CƠ SỞ LÝ THUYẾT 5 2.1 Giới thiệu mạng Neural nhân tạo 5 2.2Mô hình mạng Neural nhân tạo 7 2.2.1Mô hình Neural chỉ 1 ngõ vào 7 Trangvi
  9. ĐỒ ÁN TỐT NGHIỆP | 2015 2.2.2Mô hình Neural tổng quát 8 2.3Hàm kích hoạt 9 2.4Kiến trúc mạng Neural 12 2.4.1 Perceptron 14 2.4.2 Mạng nhiều tầng truyền thẳng 15 2.5 Các luật học cho mạng Neural 16 2.6 Các vấn đề trong xây dựng mạng MLP 17 2.6.1 Chuẩn bị dữ liệu 17 2.6.2 Xác định các tham số cho mạng 20 2.7 Các tính chất của mạng Neural 22 2.8 So sánh mạng Neural với máy tính truyền thống 22 2.9 Ngôn ngữ mô tả phần cứng HDL 23 Chƣơng 3. THUẬT TOÁN BACKPROPAGATION 3.1 Mạng Neural truyền thẳng 26 3.2 Thuật toán Backpropagation 28 3.3 Hàm kích hoạt 34 3.3.1 Hàm Sigmod 34 3.3.2 Hàm Tansig 34 3.4 Chuẩn chuyển đổi số thưc̣ sang số nhi ̣phân IEEE 754 35 3.4.1 Số thực dấu phẩy động 35 3.4.2 Cộng 2 số thực theo chuẩn IEEE-754 36 3.4.3 Nhân 2 số thực theo chuẩn IEEE 754 37 3.4.4 Cách tính hàm Sigmod và Tansig gần đúng trong Verilog 38 Trangvii
  10. ĐỒ Á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 40 4.2 Huấn luyện mạng Neural 41 4.3 Khảo sát thuật toán thực hiện bằng Matlab 43 4.4 Các module chương trình 45 4.4.1 Khối thực hiện mạng 45 4.4.2 Tính hàm E 46 4.4.3 Module hàm lỗi δk 48 4.4.4 Module hàm lỗi δh1 , δh2 48 4.4.5 Cập nhật bộ trọng số 50 4.5 Thuật toán huấn luyện mạng 50 Chƣơng 5. KẾT QUẢ 5.1 Sơ đồ thực hiện các giai đoạn mô phỏng 53 5.2 Khối thực hiện phép nhân số thực 54 5.2.1 Thiết kế RTL cho khối nhân 54 5.2.2 Kết quả mô phỏng khối nhân 55 5.3 Khối thực hiện phép cộng số thực 57 5.3.1 Thiết kế RTL cho khối cộng 57 5.3.2 Kết quả mô phỏng khối cộng 58 5.4 Khối thực hiện số hóa hàm sigmod-tansig 59 5.4.1 Thiết kế RTL cho khối sigmod 59 5.4.2 Thiết kế RTL cho khối tansig 60 5.5 Khối thực hiện net 61 Trangviii
  11. ĐỒ ÁN TỐT NGHIỆP | 2015 5.5.1 Thiết kế RTL cho khối net 61 5.5.2 Kết quả mô phỏng khối net 62 5.6 Khối tình hàm Error 64 5.6.1 Thiết kế RTL cho khối hàm Error 64 5.6.2 Kết quả mô phỏng khối Error 65 5.7 Khối so sánh 65 5.7.2 Kết quả mô phỏng khối so sánh 66 5.8 Khối tính hàm lỗi δk ở ngõ ra 67 5.8.1 Thiết kế RTL cho khối tính hàm lỗi δk 67 5.8.2 Kết quả mô phỏng khối tính hàm lỗi δk 68 5.9 Khối tính hàm lỗi δh1 , δh2 68 5.9.1 Thiết kế RTL cho khối tính hàm lỗi δh1 , δh2 68 5.9.2 Kết quả mô phỏng khối tính hàm lỗi δh1 , δh2 69 5.10 Khối cập nhật trọng số 70 5.10.1 Thiết kế RTL cho khối cập nhật trọng số 70 5.10.2 Kết quả mô phỏng khối cập nhật trọng số 71 5.11 Thiết kế khối Pre_backpropagation 75 5.11.1 Thiết kế RTL cho khối Pre_backpropagation 75 5.11.2 Kết quả mô phỏng khối pre_backpropagation 77 5.12 Thiết kế khối Backpropagation 78 5.12.1 Thiết kế RTL khối Backpropagation 78 5.12.2 Kết quả mô phỏng khối backpropagation 80 5.13 Thiết kế khối network_control 81 5.13.1 Thiết kế RTL khối network_control 81 5.13.2 Kết quả mô phỏng khối network_control 82 Trangix
  12. ĐỒ ÁN TỐT NGHIỆP | 2015 5.14 Tổng hợp các khối thành khối top 83 5.14.1 Thiết kế RTL cho khối top 83 5.14.2 Kết quả mô phỏng khối top_layer 84 Chƣơng 6. KẾT LUẬN 87 TÀI LIỆU THAM KHẢO 88 Trangx
  13. ĐỒ Á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 55 Bảng 5.2: Kết quả sử dụng tài nguyên và thời gian khối côṇ g 57 Bảng 5.3: Kết quả sử dụng tài nguyên và thời gian khối tính sigmod 59 Bảng 5.4: Kết quả sử dụng tài nguyên và thời gian khối tính tansig 60 Bảng 5.5: Kết quả sử dụng tài nguyên và thời gian khối net 62 Bảng 5.6: Kết quả sử dụng tài nguyên và thời gian khối error 64 Bảng 5.7: Kết quả sử dụng tài nguyên và thời gian khối so sánh 66 Bảng 5.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 67 Bảng 5.9: Kết quả sử dụng tài nguyên và thời gian khối tính hàm δh 69 Bảng 5.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ố 71 Bảng 5.11: Kết quả sử dụng tài nguyên và thời gian khối khối pre_backpropagation . 76 Bảng 5.12: Kết quả sử dụng tài nguyên và thời gian khối khối backpropagation 79 Bảng 5.13: Kết quả sử dụng tài nguyên và thời gian khối network_control 82 Bảng 5.14: Kết quả sử dụng tài nguyên và thời gian khối top_layer 84 Bảng 5.15: So sánh kết quả thực hiện thuật toán trên FPGA và trên Matlab 86 Trangxi
  14. ĐỒ Á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 3 Hình 2.1: Mạng Neural thực 5 Hình 2.2: Cấu trúc của một nơron sinh học điển hình 6 Hình 2.3: Mô hình toán học một Neural nhân tạo 7 Hình 2.4: Mô hình Neural một ngõ vào không có hệ số bias 7 Hình 2.5: Mô hình Neural một ngõ vào có hệ số bias 8 Hình 2.6: Mô hình Neural tổng quát 8 Hình 2.7: Hàm kích hoạt hardlim loại 1 10 Hình 2.8: Hàm kích hoạt hardlim loại 2 10 Hình 2.9: Hàm kích hoạt purelin 11 Hình 2.10: Hàm kích hoạt Log-sigmod 11 Hình 2.11: Hàm kích hoạt Tansig 12 Hình 2.12: Mạng tự kết hợp 12 Hình 2.13: Mạng kết hợp khác kiểu 13 Hình 2.14: Mạng truyền thẳng 13 Hình 2.15: Mạng phản hồi 14 Hình 2.16: Perceptron 14 Hình 2.17: Mạng MLP tổng quát 15 Hình 2.18: Mối liên hệ giữa sai số và kích thước mẫu 18 Hình 2.19: Verilog Abstraction Level 24 Hình 3.1: Mô hình tính toán một Neural 26 Hình 3.2: Mô hình tính toán mạng Neural tổng quát 27 Hình 3.3: Sơ đồ thuật toán Backpropagation 29 Hình 3.4: Xác định tần số 32 Hình 3.5: Giảm kích thước của tần số không chắc chắn 33 Hình 3.6: Hàm Sigmoi 34 Hình 3.7: Hàm Tansig 35 Hình 3.8: Định dạng chung của chuẩn số thực dấu phẩy động 36 Hình 3.9: Chuẩn số thực 32bit (Float) và 64-bit (Double) 36 Hình 3.10: Tính hàm Sigmod 38 Hình 3.11:Hàm Sigmod gần đúng 39 Hình 4.1: Sơ đồ thực hiện thuật toán 40 Hình 4.2: Sơ đồ giá trị Net 45 Hình 4.3: Sơ đồ thực hiện mạng Neural lan truyền thẳng 46 Trangxii
  15. ĐỒ ÁN TỐT NGHIỆP | 2015 Hình 4.4: Sơ đồ tính E và so sánh 47 Hình 4.5: Sơ đồ hàm lỗi δk 48 Hình 4.6: Sơ đồ hàm lỗi δhi 49 Hình 4.7: Sơ đồ cập nhật bộ trọng số 50 Hình 4.8: Sơ đồ thuật toán huấn luyện mạng 51 Hình 5.1: Sơ đồ thực hiện các giai đoạn mô phỏng 53 Hình 5.2 Sơ đồ khối nhân 54 Hình 5.3 Ảnh mô phỏng kết quả mult 1 56 Hình 5.4 Ảnh mô phỏng kết quả mult 2 56 Hình 5.5 Sơ đồ khối cộng 57 Hình 5.6 Ảnh mô phỏng kết quả adder1 58 Hình 5.7 Sơ đồ khối tính sigmod 59 Hình 5.8 Ảnh mô phỏng khối tansig 1 61 Hình 5.9 Ảnh mô phỏng khối tansig 2 61 Hình 5.10 Sơ đồ khối Net 62 Hình 5.11 Ảnh mô phỏng kết quả khối tính Net_O(y3) 63 Hình 5.12 Ảnh mô phỏng kết quả khối tính sigmod từ Net_O(y3) 63 Hình 5.13 Sơ đồ khối tính hàm error 64 Hình 5.14 Kết quả mô phỏng khối tính hàm error 65 Hình 5.15 Sơ đồ khối so sánh error 65 Hình 5.16 Ảnh kết quả mô phỏng khối so sánh 66 Hình 5.17 Sơ đồ khối tính hàm lỗi δk ở ngõ ra 67 Hình 5.18 Ảnh mô phỏng khối tính hàm lỗi δk ở ngõ ra 68 Hình 5.19 Sơ đồ khối tính hàm lỗi lớp ẩn δh1 , δh2 69 Hình 5.20 Ảnh mô phỏng khối tính hàm lỗi lớp ẩn δh1 70 Hình 5.21 Ảnh mô phỏng khối tính hàm lỗi lớp ẩn δh2 70 Hình 5.22 Sơ đồ khối cập nhật trọng số 71 Hình 5.23 Ảnh mô phỏng cập nhật w1 72 Hình 5.24 Ảnh mô phỏng cập nhật w2 72 Hình 5.25 Ảnh mô phỏng cập nhật w3 73 Hình 5.26 Ảnh mô phỏng cập nhật w4 73 Hình 5.27 Ảnh mô phỏng cập nhật w5 74 Hình 5.28 Ảnh mô phỏng cập nhật w6 74 Hình 5.29 Sơ đồ khối pre_backpropagation 75 Hình 5.30 Ảnh mô phỏng khối pre_backpropagation 77 Hình 5.31 Sơ đồ khối backpropagation 79 Hình 5.32 Ảnh mô phỏng khối backpropagation 80 Hình 5.33 Sơ đồ khối network_control 81 Hình 5.34 Ảnh mô phỏng kết quả khối network_control 82 Hình 5.35 Sơ đồ khối top_layer 83 Trangxiii
  16. ĐỒ ÁN TỐT NGHIỆP | 2015 Hình 5.36 Ảnh mô phỏng khối top_layer 84 Trangxiv
  17. ĐỒ ÁN TỐT NGHIỆP | 2015 CHƢƠNG 1 TỔNG QUAN 1.1. Giới thiệu tình hình nghiên cứu hiện nay Cuối TK 19, đầu TK 20, sự phát triển chủ yếu chỉ là những công việc có sự tham gia của cả ba ngành Vật lý học, Tâm lý học và Thần kinh học, bởi các nhà khoa học như Hermann von Hemholtz, Ernst Mach, Ivan Pavlov. Các công trình nghiên cứu của họchủ yếu đi sâu vào các lý thuyết tổng quát về HỌC (Learning), NHÌN (vision) và LẬP LUẬN (conditioning), và không hề đưa ra những mô hình toán học cụ thể mô tả hoạt động của các nơron. Mọi chuyện thực sự bắt đầu vào những năm 1940 với công trình của Warren McCulloch và Walter Pitts. Họ chỉ ra rằng về nguyên tắc, mạng của các nơron nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào! Tiếp theo hai người là Donald Hebb, ông đã phát biểu rằng việc thuyết lập luận cổ điển (classical conditioning) (như Pavlov đưa ra) là hiện thực bởi do các thuộc tính của từng nơron riêng biệt. Ông cũng nêu ra một phương pháp học của các nơron nhân tạo. Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có được vào cuối những năm 50 cùng với phát minh của mạng nhận thức (perceptron network) và luật học tương ứngbởi Frank Rosenblatt. Mạng này có khả năng nhận dạng các mẫu. Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu mạng nơron. Tuy nhiên nó có hạn chế là chỉ có thể giải quyết một số lớp hữu hạn các bài toán. Cùng thời gian đó, Bernard Widrow và Ted Hoff đã đưa ra một thuật toán học mới và sử dụng nó để huấn luyện cho các mạng nơron tuyến tính thích nghi, mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt. Luật học Widrow- Hoff vẫn còn được sử dụng cho đến nay. Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề do Marvin Minsky và Seymour Papert phát hiện ra, đó là các mạng nhận thức chỉ có khả năng giải quyết các bài toán khả phân tuyến tính. Họ cố gắng cải tiến luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành công trong việc cải tiến luật học để có thể huấn luyện được các mạng có cấu trúc phức tạp hơn. Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơron gần như bị đình lại trong suốt một thập kỷ do nguyên nhân là không có được các máy tính đủ mạnh để có thể thực nghiệm. Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70. Năm 1972, Teuvo Kohonen và James Anderson độc lập nhau phát triển một loại mạng Trang 1
  18. ĐỒ ÁN TỐT NGHIỆP | 2015 mới có thể hoạt động như một bộ nhớ. Stephen Grossberg cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self organizing networks). Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh mẽ cùng với sự ra đời của PC. Có hai khái niệm mới liên quan đến sự hồi sinh này, đó là: Việc sử dụng các phương pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy (recurrent networks) có thể được dùng như bộ nhớ liên hợp (associative memory) trong công trình của nhà vật lý học Johh Hopfield. Sự ra đời của thuật toán lan truyền ngược (back-propagation) để luyện các mạng nhiều lớp được một vài nhà nghiên cứu độc lập tìm ra như: David Rumelhart, James McCelland, Đó cũng là câu trả lời cho Minsky-Papert. Trong quá trình phát triển, mạng nơron đã được ứng dụng thành công trong rất nhiều lĩnh vực. Dưới đây liệt kê ra một số ứng dụng chính của mạng nơron: Aerospace: Phi công tự động, giả lập đường bay, các hệ thống điều khiển lái máy bay, bộ phát hiện lỗi. Automotive: Các hệ thống dẫn đường tự động cho ô tô, các bộ phân tích hoạt động của xe. Banking: Bộ đọc séc và các tài liệu, tính tiền của thẻ tín dụng. Defense: Định vị - phát hiện vũ khí, dò mục tiêu, phát hiện đối tượng, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar, Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, điều khiển tiến trình, phân tích nguyên nhân hỏng chip, nhận dạng tiếng nói, mô hình phi tuyến. Entertainment: Hoạt hình, các hiệu ứng đặc biệt, dự báo thị trường. Financial: Định giá bất động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức độ hợp tác, phân tích đường tín dụng, chương trình thương mại qua giấy tờ, phân tích tài chính liên doanh, dự báo tỷ giá tiền tệ. Insurance: Đánh giá việc áp dụng chính sách, tối ưu hóa sản phẩm. 1.2. Tính cấp thiết 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 nhưng 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. Trang 2
  19. ĐỒ ÁN TỐT NGHIỆP | 2015 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. 1.3. Mục tiêu nghiên cứu 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. 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Ả NĂNG ỨNG DỤNG: 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 Trang 3
  20. ĐỒ ÁN TỐT NGHIỆP | 2015 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.4. Nhiệm vụ nghiên cứu  Nghiên cứu về mạng Neural, giải thuật Backpropagation,  Xây dưṇ g thuâṭ toán Backpropagation trên phần cứ ng FPGA để huấn luyêṇ cho maṇ g Neural 2x2x1 (có 2 neural lớp ngõ vào, một lớp ẩn với 2 neural và lớp ngõ ra với 1 neural). 1.5. Đố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.  Nghiên cứu về chuẩn chuyển đổi số thực sang số nhị phân IEEE 754. 1.6. Phƣơng pháp nghiên cứu  Nghiên cứu lý thuyết 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. 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 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. 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. 1.7. Bố cục của Đồ án Đồ án bao gồm các 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 Chƣơng 6– Kết luận: Đánh giá và mở rộng đề tài. Trang 4
  21. ĐỒ ÁN TỐT NGHIỆP | 2015 CHƢƠNG 2 CƠ SỞ LÝ THUYẾT 2.1. Giới thiệu mạng Neural nhân tạo Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 1011 nơron tham gia vào khoảng 1015 kết nối trên các đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não. Hình 2.1: Mạng Neural thực Mỗi tế bào nơron gồm ba phần: Thân nơ-ron với nhân bên trong (gọi là soma), là nơi tiếp nhận hay phát ra các xung động thần kinh. Một hệ thống dạng cây các dây thần kinh vào (gọi là dendrite) để đưa tín hiệu tới nhân nơ-ron. Các dây thần kinh vào tạo thành một lưới dày đặc xung quanh thân nơ-ron, chiếm diện tích khoảng 0,25 mm2. Trang 5
  22. S K L 0 0 2 1 5 4