1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY

75 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ NEURAL NETWORK TRÊN FPGA ĐỂ NHẬN DẠNG CHỮ SỐ VIẾT TAY Sinh viên thực hiện: ĐẶNG TÙNG LONG Lớp ĐT2 – K59 Giảng viên hướng dẫn: ThS NGUYỄN THỊ KIM THOA Hà Nội, 06-2019 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ NEURAL NETWORK TRÊN FPGA ĐỂ NHẬN DẠNG CHỮ SỐ VIẾT TAY Sinh viên thực hiện: ĐẶNG TÙNG LONG Lớp ĐT2 – K59 Giảng viên hướng dẫn: ThS NGUYỄN THỊ KIM THOA Cán phản biện: Hà Nội, 06-2019 ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn) Tên giảng viên đánh giá: Họ tên Sinh viên: MSSV: Tên đồ án: Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC 10a khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích 10b kỳ thi quốc gia quốc tế khác chuyên ngành TI contest 10c Khơng có thành tích nghiên cứu khoa học Điểm tổng Điểm tổng quy đổi thang 10 Nhận xét khác (về thái độ tinh thần làm việc sinh viên) 1 2 3 4 5 5 5 5 /50 Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho cán phản biện) Giảng viên đánh giá: Họ tên sinh viên: MSSV: Tên đồ án: Chọn mức điểm phù hợp cho sinh viên trình bày theo tiêu chí đây: Rất (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có kết hợp lý thuyết thực hành (20) Nêu rõ tính cấp thiết quan trọng đề tài, vấn đề giả thuyết (bao gồm mục đích tính phù hợp) phạm vi ứng dụng đồ án Cập nhật kết nghiên cứu gần (trong nước/quốc tế) Nêu rõ chi tiết phương pháp nghiên cứu/giải vấn đề Có kết mơ phỏng/thưc nghiệm trình bày rõ ràng kết đạt Có khả phân tích đánh giá kết (15) Kế hoạch làm việc rõ ràng bao gồm mục tiêu phương pháp thực dựa kết nghiên cứu lý thuyết cách có hệ thống Kết trình bày cách logic dễ hiểu, tất kết phân tích đánh giá thỏa đáng Trong phần kết luận, tác giả rõ khác biệt (nếu có) kết đạt mục tiêu ban đầu đề đồng thời cung cấp lập luận để đề xuất hướng giải thực tương lai Kỹ viết đồ án (10) Đồ án trình bày mẫu quy định với cấu trúc chương logic đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, đánh số thứ tự giải thích hay đề cập đến đồ án, có lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương kết luận chương, có liệt kê tài liệu tham khảo có trích dẫn quy định Kỹ viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic có sở, từ vựng sử dụng phù hợp v.v.) Thành tựu nghiên cứu khoa học (5) (chọn trường hợp) Có báo khoa học đăng chấp nhận đăng/đạt giải SVNC 10a khoa học giải cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải trở lên/ Có đăng ký phát minh sáng chế Được báo cáo hội đồng cấp Viện hội nghị sinh viên nghiên cứu khoa học không đạt giải từ giải trở lên/Đạt giải khuyến khích 10b kỳ thi quốc gia quốc tế khác chuyên ngành TI contest 10c Khơng có thành tích nghiên cứu khoa học Điểm tổng Điểm tổng quy đổi thang 10 Nhận xét khác cán phản biện 1 2 3 4 5 5 5 5 /50 Ngày: … / … / 20… Người nhận xét (Ký ghi rõ họ tên) LỜI NÓI ĐẦU Trước trình bày nội dung phần báo cáo đồ án mình, em xin gửi lời cảm ơn chân thành tới Th.S Nguyễn Thị Kim Thoa, người trực tiếp hướng dẫn, cung cấp tài liệu cho em suốt trình thực đồ án Em xin gửi lời cảm ơn chân thành đến Lab ESRC cho em mượn thiết bị để hồn thành đồ án Do thời gian có hạn hạn chế mặt kiến thức, báo cáo không tránh khỏi vài sai sót nhỏ Vì vậy, em mong nhận ý kiến đóng góp thầy cô giáo bạn để đề tài hoàn thiện Hà Nội, tháng 06 năm 2019 Sinh viên thực Đặng Tùng Long LỜI CAM ĐOAN Tôi Đặng Tùng Long, mã số sinh viên 20142642, sinh viên lớp Điện tử 2, khóa K59 Người hướng dẫn Th.S Nguyễn Thị Kim Thoa Tôi xin cam đoan tồn nội dung trình bày đồ án Thiết kế neural network FPGA để nhận dạng chữ số viết tay kết trình tìm hiểu nghiên cứu Các liệu nêu đồ án hoàn toàn trung thực, phản ánh kết đo đạc thực tế Mọi thông tin trích dẫn tuân thủ quy định sở hữu trí tuệ; tài liệu tham khảo liệt kê rõ ràng Tơi xin chịu hồn tồn trách nhiệm với nội dung viết đồ án Hà Nội, tháng 06 năm 2019 Người cam đoan Đặng Tùng Long MỤC LỤC DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT .i DANH MỤC HÌNH VẼ ii DANH MỤC BẢNG BIỂU iii TÓM TẮT ĐỒ ÁN .iv PHẦN MỞ ĐẦU CHƯƠNG GIỚI THIỆU 1.1 Giới thiệu Artificial Neural Network 1.1.1 Lịch sử hình thành phát triển 1.1.2 Nguyên lý hoạt động 1.1.3 Thuật toán Gradient Descent 1.2 Giới thiệu FPGA 10 1.2.1 Khái niệm FPGA 10 1.2.2 Schematic-based flow 11 1.2.3 HDL-based flow .13 1.4 Giới thiệu SystemVerilog 14 1.5 Giới thiệu mơ hình FSMD 14 1.6 Giới thiệu kiểm chứng thiết kế 16 1.7 Kết luận chương 17 CHƯƠNG THIẾT KẾ NEURAL NETWORK VỚI MATLAB .18 2.1 Thuật toán thiết kế 18 2.2 Huấn luyện Matlab 19 2.2.1 Chuẩn bị sở liệu .19 2.2.2 Tiền xử lý huấn luyện .20 2.2.3 Huấn luyện Neural Network 21 2.3 Kiểm tra Matlab 25 2.3.1 Chuẩn bị sở liệu .25 2.3.2 Tiền xử lý kiểm tra 25 2.3.3 Kiểm tra Neural Network 26 2.4 Kết luận chương 27 CHƯƠNG THIẾT KẾ NEURAL NETWORK TRÊN FPGA 28 3.1 Yêu cầu kỹ thuật 28 3.1.1 Đầu vào đầu .28 3.1.2 Hoạt động 29 3.2 Kế hoạch kiểm chứng .31 3.3 Thiết kế RTL 32 3.3.1 Khối DUT 32 3.3.2 Khối ann 34 3.3.3 Biểu diễn tham số Neural Network FPGA 45 3.4 Thiết kế testbench 46 3.4.1 Kiến trúc testbench 46 3.4.2 Kết kiểm chứng thiết kế 49 3.5 Kết luận chương 51 KẾT LUẬN 52 TÀI LIỆU THAM KHẢO 53 BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT 54 3.3.2.7 Sơ đồ FSM Sơ đồ FSM control path diễn tả chi tiết việc phối hợp hoạt động khối data path 45 Hình 3.21 Sơ đồ FSM ann_fsm 46 Hình 3.22 Sơ đồ FSM ann_fsm (tiếp tục) Trên Hình 3.9 Hình 3.10 sơ đồ FSM khối ann_fsm, với cặp state trùng tên hai hình (ST_START, ST_PAR_ADD, ST_ADDR_BLK) trạng thái Ta coi rst_n dù trạng thái mạch quay trạng thái ST_START, rst_n sườn lên clk, mạch chuyển sang trạng thái hình vẽ Các đầu ann_fsm control signal FSMD Loại FSM sử dụng FSM loại Moore với giá trị đầu trạng thái liệt kê Bảng 3.8 Ứng với trạng thái, đầu liệt kê cột Tín hiệu khẳng định nhận giá trị 1, đầu không liệt kê nhận giá trị 47 Bảng 3.10 Giá trị đầu trạng thái ann_fsm Trạng thái Công việc ann Tín hiệu khẳng định ST_START Khơng làm ST_HOLD Chờ để bắt đầu tính tốn ST_ADDR_BLK Tính tốn dải địa cần đọc từ load_addr_blk single_port_ram_with_init clr_mul_vec ST_MEM_CTL Bắt đầu đọc liệu từ start_mem_ctl single_port_ram_with_init ST_WAIT_MEM_CTL Đợi trình đọc liệu từ single_port_ram_with_init kết thúc ST_LOAD_REG_BLK_ Lưu liệu vừa đọc từ load_reg_blk_1 single_port_ram_with_init vào ghi ST_MUL_VEC Bắt đầu nhân hai vector start_mul_vec clr_add_parallel ST_WAIT_MUL_VEC Đợi trình nhân hai vector kết thúc ST_ADD_ACC Bắt đầu cộng tích lũy tích cặp add_acc vector clr_reg_blk_1 ST_WAIT_ADD_ACC Đợi trình cộng tích lũy kết thúc ST_LOAD_REG_BLK_ Lưu giá trị tổng vừa cộng tích lũy load_reg_blk_2 tích hai vector vào ghi clr_add_acc ST_PAR_ADD Bắt đầu cộng hai vector start_add_paralle l clr_mul_vec ST_WAIT_PAR_ADD Đợi trình cộng hai vector kết thúc ST_TANSIG Bắt đầu tính tansig vector start_tansig clr_reg_blk_2 ST_WAIT_TANSIG Đợi q trình tính tansig kết thúc ST_HARD_MAX Bắt đầu tính hàm hard_max vector start_hard_max ST_WAIT_HARD_MAX Đợi q trình tính hàm hard_max kết thúc ST_DONE Kết thúc nhận dạng done_st clr_layer clr_addr_blk clr_reg_blk_1 clr_mul_vec clr_add_acc clr_reg_blk_2 clr_add_parallel clr_tansig Trên Hình 3.7 ta thấy khối ann_dp gồm nhiều khối con, khối xây dựng theo mơ hình FSMD Như vậy, DUT thiết kế gồm có nhiều tầng FSMD 48 3.3.3 Biểu diễn tham số Neural Network FPGA Như biết, Neural Network có tham số: - W2 ma trận chứa weight lớp ẩn, cỡ 15x717 B2 ma trận chứa bias lớp ẩn, cỡ 15x1 W3 ma trận chứa weight lớp đầu ra, cỡ 10x15 B3 ma trận chứa bias lớp đầu ra, cỡ 10x1 Vậy tổng cộng mạng có chứa 10930 phần tử Khối single_port_ram_with_init cần phải lưu 10930 phần tử đó, cộng với 717 phần tử ảnh cần nhận dạng, tổng 11647 số Để lưu 11647 số vào nhớ kit DE2, ta cần phải có cách biểu diễn số phù hợp, để cân đối kích thước bit độ xác số Trước tiên, phần trình bày cách biểu diễn số thực theo chuẩn IEEE 754 single-precision binary floating-point format [9], gọi biểu diễn số thực dấu phẩy động 32 bit theo chuẩn IEEE 754 Số thực 32 bit chia thành trường theo thứ tự từ trái qua phải - Sign: rộng bit, ký hiệu s Exponent: rộng bit, ký hiệu e Fraction: rộng 23 bit, ký hiệu f Riêng số 0, ta biểu diễn 32 bit mà không tuân theo công thức (3.8) Đối với số khác 0, ta quy đổi theo công thức (3.8), với v số cần quy đổi v = (−1 )s ×2e−127 ×(1 f )2 (3.8) Ví dụ số +0.15625 biểu diễn theo chuẩn kết Hình 3.11 Hình 3.23 Kết biểu diễn số 0.15625 [9] Thật vậy, ta có: (01111100 ) −127 ×(1.010 … 0)2=1 ×2124 −127 × 1.25=0.15625 v =(−1) × 2 (3.9) Dựa vào chuẩn trên, ta hình thành ý tưởng biểu diễn tham số Neural Network FPGA Ta biểu diễn số thực dạng dấu phẩy động 16 bit gần giống với cách Cụ thể ta chia 16 bit thành trường: 49 - Sign: rộng bit, ký hiệu s Exponent: rộng bit, ký hiệu e Fraction: rộng bit, ký hiệu f Công thức quy đổi công thức (3.8) Thực tế cách biểu diễn số nhớ máy tính Matlab dấu phẩy động 64 bit, nên với cách biểu diễn 16 bit chắn gây sai số FPGA với Matlab Nhưng biểu diễn số 64 bit Matlab kit DE2 bị thiếu tài nguyên, ta phải đánh đổi độ xác kích thước 3.4 Thiết kế testbench 3.4.1 Kiến trúc testbench Testbench thiết kế theo kế hoạch kiểm chứng trình bày phần 3.2 Về testbench testbench có nhiều lớp, xây dựng dựa lý thuyết trình bày phần 1.5, tùy biến số lớp để phù hợp Hình 3.12 sơ đồ khối testbench 50 Hình 3.24 Sơ đồ khối testbench 51 Chức khối trình bày Bảng 3.9 SystemVerilog có hỗ trợ kiểu liệu phù hợp cho khối, điểm mạnh ngôn ngữ Bảng 3.11 Chức khối testbench Khối Loại Kiểu Chức liệu top top module module cao project, bao gồm DUT, interface test img_inv_tst test program Chứa enviroment cấu hình agent enviroment đưa transaction vào DUT thông qua interface img_env enviromen class Bao gồm 10 agent từ img_agent_0 đến t img_agent_9 từ img_agent_0 agent class Bao gồm generator, driver scoreboard đến img_agent_9 Mỗi agent chứa loại chữ số Các mẫu img_agent_0 có label số 0, mẫu img_agent_1 có label số 1, … Các mẫu img_agent_9 có label số img_generator generator class Tạo transaction img_drv driver class Biến đổi transaction thành tín hiệu logic để gán vào chân input DUT img_transaction transaction class Chứa giá trị điểm ảnh ảnh cần nhận dạng img_scoreboard scoreboard class Lấy đầu từ DUT để so sánh với giá trị mong muốn intf interface interfac Nhóm chân tín hiệu DUT lại thành e đối tượng để DUT dễ giao tiếp với test Về coi luồng liệu img_transaction testbench từ img_generator, qua img_driver đến DUT, cuối đến img_scoreboard Với img_transaction có label tương ứng Tại img_scoreboard so sánh label với đầu DUT, tức nhận dạng đúng, khác tức nhận dạng sai Tại img_scoreboard tiến hành kiểm tra Đặc tính kế hoạch kiểm chứng, là: Khi we = 0, tiến hành hoạt động nhận dạng, từ nhận dạng xong (done = 1) đến lúc start trở giá trị digit khơng thay đổi Trong testbench khơng có khối assertion u cầu kỹ thuật không đề cập đến mối quan hệ thời gian tín hiệu DUT Khối functional coverage khơng có testbench theo dõi thủ công theo thời gian để biết tiến độ kiểm chứng 52 3.4.2 Kết kiểm chứng thiết kế Trong phần kế hoạch kiểm chứng nói kịch hoạt động testbench Sau sử dụng kịch đó, tức kiểm tra tất mẫu tập kiểm tra MNIST, ta kết thống kê Bảng 3.10 Bảng 3.12 Kết kiểm chứng thiết kế Chữ số SUM 980 PASS FAIL 959 % PASS 1 1135 1117 103 963 935 932 892 806 958 913 102 966 8 892 100 928 94.9 90.3 95.3 93.9 91.5 91.9 8 92.5 974 93.3 6 98.4 982 101 97.8 CHANG E Hình 3.25 Biên dịch thành công cho kit EP2C35F672C6 Vậy tất Đặc tính thỏa mãn, thiết kế đạt yêu cầu kỹ thuật, ta có độ bao phủ chức đạt 100% 53 Ngoài ta cịn thống kê trễ xử lý trung bình theo đơn vị số lượng xung clk, thống kê Bảng 3.11 Bảng 3.13 Trễ xử lý trung bình với chữ số Chữ Trễ xử lý trung bình số 99380 99073 99228 99189 99171 99196 99260 99122 99158 99074 Từ việc tính trễ xử lý ta có nhận xét sau: Hiện video thường chạy với tốc độ 30 fps (30 frames per second), tức giây có 30 hình ảnh phát, hay tốc độ thay đổi hình ảnh 30 giây Giả sử với hình ảnh ta đưa qua hệ thống để nhận dạng chữ số theo real time Các trễ xử lý thống kê khơng có số vượt 100000 chu kỳ clk Ngay làm tròn trễ xử lý vừa thống kê lên thành 100000 số chu kỳ clk, độ dài chu kỳ tối đa để chạy real time là: 1 30 = 100000 3000000 (s), hay tần số tối thiểu để chạy real time MHz Tần số MHz tần số thấp thiết bị FPGA thị trường nay, thường chạy với tần số tối thiểu khoảng vài chục MHz Do việc áp dụng thiết kế vào hệ thống nhận dạng theo real time khả thi mặt công nghệ 54 3.5 Kết luận chương Thiết kế Neural Network FPGA thỏa mãn tất yêu cầu kỹ thuật So với độ xác 94.08% Matlab, độ xác FPGA đạt thấp chút 94.02%, nhiên đạt 90% yêu cầu đề Sự khác cách biểu diễn tham số Matlab 64 bit, cách biểu diễn tham số FPGA 16 bit Độ xác nêu độ xác tập kiểm tra MNIST, tập liệu cụ thể độ xác theo cách nói chung chung khơng có cụ thể, người dùng hình dung tin cậy thiết kế Kiến trúc RTL thiết kế xây dựng dựa theo mơ hình FSMD gồm nhiều tầng Tầng cao thiết kế gồm control path data path, data path lại xây dựng từ nhiều module mà module lại FSMD có control path data path riêng Chương khơng sâu vào trình bày module có kiến trúc FSMD cụ thể nào, trình bày tổng quan chức module con, người đọc dễ dàng hình dung hoạt động hệ thống Bên cạnh mã nguồn RTL thiết kế cịn có mã nguồn testbench, testbench có nhiều tầng, viết ngơn ngữ SystemVerilog theo kiểu hướng đối tượng Q trình kiểm chứng thiết kế đạt độ bao phủ chức 100% 55 KẾT LUẬN Trong báo cáo này¸ em trình bày vấn đề Neural Network FPGA Từ việc triển khai Neural Network Matlab, em triển khai thành công Neural Network FPGA để nhận dạng chữ số viết tay Kết thu độ xác đạt 94.02% tập kiểm tra MNIST Thiết kế chưa thể áp dụng vào lĩnh vực cụ thể sống, chưa thể tạo giá trị thương mại khoảng thời gian mà em học tập nhiều Neural Network FPGA Đó khoảng thời gian để thân em cải thiện nhiều kỹ sử dụng ngôn ngữ SystemVerilog, kỹ thiết kế phần cứng kỹ sử dụng phần mềm QuestaSim hệ điều hành Centos Tuy đạt mục tiêu đề ra, hạn chế mặt thời gian thực hiện, đồ án chưa phát triển hết tính Neural Network, cụ thể triển khai việc nhận dạng, việc huấn luyện Neural Network chưa triển khai Trong tương lai, có hội, em tiếp tục nghiên cứu phát triển loại Neural Network FPGA với nhiều tính 56 TÀI LIỆU THAM KHẢO [1] David Kriesel (2005, May 27) A brief introduction to neural network [Online] Available : http://www.dkriesel.com/en/science/neural_networks [2] http://www.lsi-contest.com/2018/shiyou_3e.html, truy nhập cuối ngày 29/4/2019 [3] Vũ Hữu Tiệp (2018, March 27) Machine learning [Online] Available : https://machinelearningcoban.com/ebook/ [4] Clive Maxfield, The design warrior’s guide to FPGAs Elsevier’s Science and Technology Right Department, Oxford, UK, 2004 [5] Stuart Sutherland, Simon Davidmann, Peter Flake, SystemVerilog For Design, Second Edition Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA, 2006 [6] Pong P.Chu, FPGA prototyping by verilog examples (Xilinx SpartanTM-3 Version) A John Wiley & Sons, 111 River Sheet, Hoboken, 2008 [7] Chris Spear, SystemVerilog for verification (Second Edition) Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA, 2006 [8] http://yann.lecun.com/exdb/mnist/, truy nhập cuối ngày 13/05/2019 [9] https://en.wikipedia.org/wiki/Single-precision_floating-point_format, truy nhập cuối ngày 13/05/2019 57 BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Arfitical Neural Network Mạng neuron nhân tạo Neural Network Mạng neuron (nhân tạo) Latency Trễ xử lý Input Layer Lớp đầu vào Hidden Layer Lớp ẩn Output Layer Lớp đầu Supervisor Giám sát viên Weight Trọng số Bias Hạng tử tự Activate function Hàm kích hoạt Square error function Hàm lỗi bình phương Cost function Hàm giá Backpropagation Lan truyền ngược Learning rate Tốc độ học Local minimum Cực tiểu cục Schematic-based flow Luồng thiết kế dựa sơ đồ nguyên lý HDL-based flow Luồng thiết kế dựa HDL Verification Kiểm chứng thiết kế Verification Plan Kế hoạch kiểm chứng Specification Yêu cầu kỹ thuật Functional Coverage Bao phủ chức Grayscale Ảnh xám 58 Pixel Điểm ảnh Train set Bộ huấn luyện Validation set Bộ xác nhận Test set Bộ kiểm tra Compile Biên dịch 59 ...TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ NEURAL NETWORK TRÊN FPGA ĐỂ NHẬN DẠNG CHỮ SỐ VIẾT TAY Sinh viên thực hiện:... tồn nội dung trình bày đồ án Thiết kế neural network FPGA để nhận dạng chữ số viết tay kết trình tìm hiểu nghiên cứu tơi Các liệu nêu đồ án hoàn toàn trung thực, phản ánh kết đo đạc thực tế Mọi... thiết kế hệ thống nhận dạng chữ số viết tay FPGA Báo cáo đồ án chia làm chương sau: Chương giới thiệu Neural Network, FPGA, ngơn ngữ SystemVerilog, mơ hình FSMD kiểm chứng thiết kế Chương trình

Ngày đăng: 02/12/2022, 18:17

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Cấu trúc 3 lớp [2] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.1 Cấu trúc 3 lớp [2] (Trang 20)
Hình 1.2 Cấu trúc 3 lớp với các tham số [2] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.2 Cấu trúc 3 lớp với các tham số [2] (Trang 21)
Hình 1.3 Khảo sát sự biến thiên của một đa thức bậc 2 một biến [3] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.3 Khảo sát sự biến thiên của một đa thức bậc 2 một biến [3] (Trang 26)
Hình 1.4 Thiết kế FPGA theo schematic-based flow [4] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.4 Thiết kế FPGA theo schematic-based flow [4] (Trang 28)
Hình 1.5 Mapping các cổng logic vào LUT [4] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.5 Mapping các cổng logic vào LUT [4] (Trang 28)
Hình 1.6 Thiết kế FPGA theo HDL-based flow [4] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.6 Thiết kế FPGA theo HDL-based flow [4] (Trang 30)
Hình 1.7 Sơ đồ khối của FSMD [6] - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 1.7 Sơ đồ khối của FSMD [6] (Trang 32)
Testbench có thể được xây dựng theo kiến trúc phân lớp như Hình 1.8. - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
estbench có thể được xây dựng theo kiến trúc phân lớp như Hình 1.8 (Trang 33)
Việc thiết kế được thực hiện theo lưu đồ thuật tốn như Hình 2.1. - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
i ệc thiết kế được thực hiện theo lưu đồ thuật tốn như Hình 2.1 (Trang 35)
Hình 2.10 Cơ sở dữ liệu MNIST - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 2.10 Cơ sở dữ liệu MNIST (Trang 37)
Bảng 2.1 Mã hóa giám sát viên theo chữ số - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Bảng 2.1 Mã hóa giám sát viên theo chữ số (Trang 39)
Hình 2.12 Hiệu suất huấn luyện - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 2.12 Hiệu suất huấn luyện (Trang 42)
Bảng 2.2 Kết quả kiểm tra Neural Network trên Matlab - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Bảng 2.2 Kết quả kiểm tra Neural Network trên Matlab (Trang 45)
Hình 3.13 Các chân I/O của DUT - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.13 Các chân I/O của DUT (Trang 46)
DUT có các chân I/O (Input/Output) như trên Hình 3.1. - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
c ó các chân I/O (Input/Output) như trên Hình 3.1 (Trang 46)
Hình 3.14 Hoạt động ghi vào bộ nhớ - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.14 Hoạt động ghi vào bộ nhớ (Trang 47)
Hình 3.15 Hoạt động nhận dạng chữ số - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.15 Hoạt động nhận dạng chữ số (Trang 49)
Hình 3.16 Khối DUT - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.16 Khối DUT (Trang 51)
Hình 3.17 Ghi vào và đọc ra với single_port_ram_with_init - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.17 Ghi vào và đọc ra với single_port_ram_with_init (Trang 52)
Hình 3.18 Khối ann - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.18 Khối ann (Trang 54)
Hình 3.20 Hàm tansig thực sự và hàm tansig đã tuyến tính hóa - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.20 Hàm tansig thực sự và hàm tansig đã tuyến tính hóa (Trang 58)
Bảng 3.8 Các tín hiệu control signal trong khối ann - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Bảng 3.8 Các tín hiệu control signal trong khối ann (Trang 59)
Hình 3.21 Sơ đồ FSM của ann_fsm - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.21 Sơ đồ FSM của ann_fsm (Trang 62)
Hình 3.22 Sơ đồ FSM của ann_fsm (tiếp tục) - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.22 Sơ đồ FSM của ann_fsm (tiếp tục) (Trang 63)
Bảng 3.10 Giá trị đầu ra bằng 1 tại mỗi trạng thái của ann_fsm - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Bảng 3.10 Giá trị đầu ra bằng 1 tại mỗi trạng thái của ann_fsm (Trang 64)
Hình 3.24 Sơ đồ khối testbench - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.24 Sơ đồ khối testbench (Trang 67)
Hình 3.25 Biên dịch thành công cho kit EP2C35F672C6 - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Hình 3.25 Biên dịch thành công cho kit EP2C35F672C6 (Trang 69)
Bảng 3.13 Trễ xử lý trung bình với từng chữ số - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
Bảng 3.13 Trễ xử lý trung bình với từng chữ số (Trang 70)
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT (Trang 74)
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT - (TIỂU LUẬN) đồ án tốt NGHIỆP đại học đề tài THIẾT kế NEURAL NETWORK TRÊN FPGA để NHẬN DẠNG CHỮ số VIẾT TAY
BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH VIỆT (Trang 74)
w