Ứng dụng mạng nơ ron nhân tạo trong nhận dạng chữ số viết tay trên FPGA

26 214 2
Ứng dụng mạng nơ ron nhân tạo trong nhận dạng chữ số viết tay trên FPGA

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN THỊ KIM ANH ỨNG DỤNG MẠNG NƠ-RON NHÂN TẠO TRONG NHẬN DẠNG CHỮ SỐ VIẾT TAY TRÊN FPGA Chuyên ngành : Kỹ thuật điện tử Mã số : 60.52.02.03 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2015 Cơng trình hồn thành ĐẠI HỌC ĐÀ NẴNG Ngƣời hƣớng dẫn khoa học: TS HUỲNH VIỆT THẮNG Phản biện 1: TS NGUYỄN THỊ ANH THƢ Phản biện 2: PGS TS LÊ TIẾN THƢỜNG Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Kỹ thuật h p Đại h c Đà Nẵng vào ngày 05 tháng 12 năm 2015 Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin – H c liệu, Đại h c Đà Nẵng MỞ ĐẦU Tính cấp thiết đề tài Mạng nơ-ron nhân tạo (Artificial Neural Network) sử dụng cho nhiều lĩnh vực khác Chúng sử dụng để giải vấn đề đa dạng mà khó để giải sử dụng phương pháp khác Mạng nơ-ron nhân tạo sử dụng nhiều ứng dụng khoa h c cơng nghệ như: xử lý tín hiệu, phân tích ảnh, hệ thống chuẩn đốn y khoa, dự báo tài chính, nhận dạng chữ số viết tay, Trong nhận dạng chữ số viết tay cần thiết ứng dụng rộng rãi nhiều lĩnh vực nhận dạng chữ số chi phiếu ngân hàng, mã số bì thư dịch vụ bưu hay chữ số biểu mẫu nói chung Vấn đề nhận dạng chữ số viết tay thách thức nhà nghiên cứu Bài tốn lớn ln đặt phía trước phức tạp việc nhận dạng chữ số viết tay phụ thuộc nhiều vào phong cách viết người viết Chúng ta luôn viết chữ số theo cách Do vậy, xây dựng hệ thống nhận dạng chữ số nhận dạng ký tự cách đáng tin cậy tất ứng dụng điều không dễ dàng Sự thực thi mạng nơ-ron nhân tạo chia làm hai phần: thực thi phần mềm thực thi phần cứng Mạng nơ-ron nhân tạo thực phần mềm huấn luyện, mơ chuỗi máy tính liên tiếp để mô khoảng lớn mô hình mạng nơ-ron Sự thực thi phần mềm có ưu điểm tính mềm dẻo, dễ dàng cài đặt có nhược điểm khó khăn việc thực Để khắc phục nhược điểm phiên phần cứng sử dụng để thay cho phiên phần mềm Mặt khác thực thi phần cứng mang đến khả ứng dụng thực tế tận dụng ưu điểm đặc tính song song vốn có mạng nơ-ron Thêm vào đó, thực thi mạng nơ-ron phần cứng tốc độ thực nhanh hai lý sau: ₋ Mạng nơ-ron có kích thước đáng kể thuật tốn lan truyền ngược ln thực phần mềm với tốc độ huấn luyện chậm Nhưng thực thi phần cứng tốc độ thực tốt ₋ Mạng nơ-ron gồm lớp song song khổng lồ mà điều giúp chúng thực tốt thực thi phần cứng FPGA (Field Programmable Gate Array) ASIC (Application Specific IC) FPGA vi mạch tích hợp chuyên dụng thiết kế với tính khả tái cấu hình khả thực phép tính toán số h c logic với tốc độ cao Các vi mạch sử dụng cách rộng rãi thiết bị công nghiệp dân dụng vi điều khiển, thiết bị quảng cáo, loại máy ảnh số, Việc thiết kế mạng nơ-ron nhân tạo thực ASIC VLSI đắt đỏ tiêu tốn thời gian thiết kế chip lớn Tuy nhiên thực thi mạng nơ-ron nhân tạo FPGA mang lại ưu điểm sau [15]: - Chúng áp dụng khoảng cổng logic từ 10 nghìn đến vài tỷ cổng - Chúng cấu hình lại để thay đổi chức logic tích hợp hệ thống - FPGA có chu kỳ thiết kế ngắn dẫn đến thiết kế logic rẻ tiền - FPGA có tính song song chất nên tính toán song song cho phép thiết kế chu kỳ logic để làm việc song song phù hợp với mạng nơ-ron nhân tạo - Chúng có cơng cụ thiết kế, lập trình tổng hợp mạnh mẽ Vì lý nên tác giả ch n đề tài “Ứng dụng mạng Nơ-ron nhân tạo nhận dạng chữ số viết tay FPGA” Mục tiêu nghiên cứu Mục đích nghiên cứu đề tài: ₋ Nghiên cứu thiết kế kiến trúc mạng nơ-ron nhân tạo (thuật toán lan truyền thẳng nhiều lớp) ₋ Thử nghiệm mạng nơ-ron thiết kế FPGA ₋ Ứng dụng mạng nơ-ron thiết kế toán nhận dạng chữ số viết tay Kết đạt đề tài làm tảng cho nghiên cứu ứng dụng lĩnh vực thực thi mạng nơ-ron phần cứng Đối tƣợng phạm vi nghiên cứu a Đối tượng nghiên cứu ₋ Nghiên cứu mơ hình mạng nơ-ron nhân tạo khả ứng dụng mạng nơ-ron nhân tạo hệ thống nhận dạng mẫu ₋ Nghiên cứu tập liệu để phục vụ toán nhận dạng chữ số viết tay ₋ Nghiên cứu công nghệ FPGA, công cụ hỗ trợ thiết kế số phát triển hệ thống nhúng FPGA ₋ Nghiên cứu kỹ thuật cơng cụ để thực tính tốn với số thực phần cứng FPGA b Phạm vi nghiên cứu Thử nghiệm khối nhận dạng sử dụng mạng nơ-ron nhân tạo FPGA Phƣơng pháp nghiên cứu Phương pháp nghiên cứu xuyên suốt luận văn kết hợp nghiên cứu lý thuyết, tính tốn với mơ phần mềm, thực thi phần cứng để so sánh đánh giá kết đạt Cụ thể phương pháp nghiên cứu bao gồm giai đoạn sau: ₋ Thu thập tổng hợp tài liệu tác giả ngồi nước có liên quan đến đề tài ₋ Nghiên cứu lý thuyết phục vụ đề tài như: Lý thuyết mạng nơ-ron nhân tạo, thuật toán h c, thư viện để thực phép toán dấu phẩy động FPGA ₋ Dựa vào sở lý thuyết đề xuất phương án thiết kế cho lõi IP ANN thực mạng nơ-ron nhân tạo nhận dạng chữ số viết tay ₋ Xây dựng lõi IP ANN kiểm tra độ xác lõi IP ANN chương trình kiểm tra viết Matlab ₋ Ghép nối lõi IP ANN xây dựng với MicroBlaze 32 bit Xilinx, thực thi phần cứng FPGA kiểm tra hoạt động lõi IP ANN ₋ Cuối thực ứng dụng nhận dạng chữ số viết tay đánh giá hoạt động lõi IP ANN Ý nghĩa khoa học thực tiễn đề tài Việc nghiên cứu thực thi mạng nơ-ron nhân tạo FPGA nhằm xây dựng mạng nơ-ron nhận dạng chữ số viết tay Việc xây dựng mạng nơ-ron phần cứng FPGA làm sở cho việc thực hóa giải thuật huấn luyện cho mạng nơ-ron chip từ mở hướng thiết kế ứng dụng mang tính thực tiễn cao với tích hợp hệ thống xử lý thông minh chip Cấu trúc luận văn Ngoài phần mục lục, mở đầu, kết luận, danh mục tài liệu tham khảo phụ lục đề tài luận văn chia làm chương sau: - Chương 1: Tổng quan - Chương 2: Ứng dụng mạng nơ-ron nhân tạo nhận dạng chữ số viết tay máy tính - Chương 3: Thực phép toán với dấu phẩy động sở cho thực hóa mạng nơ-ron nhân tạo FPGA - Chương 4: Thực mạng nơ-ron nhân tạo nhận dạng chữ số viết tay FPGA Kết luận hướng phát triển đề tài: Từ kết đạt lõi IP ANN thiết kế, tác giả phân tích đánh giá để đưa kết luận hướng phát triển đề tài Tổng quan tài liệu tham khảo Các tài liệu tham khảo để hoàn thiện luận văn bao gồm: - Các tài liệu liên quan đến mạng nơ-ron nhân tạo, thuật toán lan truyền ngược mạng nơ-ron truyền thẳng nhiều lớp - Các tài liệu liên quan đến FPGA ngôn ngữ mô tả phần cứng VHDL - Các tài liệu liên quan đến xử lý ảnh, cụ thể trích ch n đặc trưng PCA - Các trang web liên quan đến kit FPGA Virtex-5 XUPV5LX110T Xilinx tất nguồn đáng tin cậy Internet - Các báo thực thi mạng nơ-ron phần cứng FPGA nghiên cứu IBM CHƢƠNG TỔNG QUAN 1.1 TỔNG QUAN VỀ MẠNG NƠ-RON NHÂN TẠO (ARTIFICIAL NEURAL NETWORK – ANN) 1.1.1 Tổng quan [3] Mạng nơ-ron nhân tạo (ANN) mô hình xử lý thơng tin theo cách thức xử lý thông tin nơ-ron sinh h c phần não người Bộ não người bao gồm khoảng 1011 nơ-ron tham gia vào khoảng 1015 kết nối đường truyền Mỗi đường truyền dài khoảng mét Các nơ-ron có nhiều đặc điểm chung với tế bào khác thể Ngồi chúng có khả mà tế bào khác khơng có được, khả nhận, xử lý truyền tín hiệu điện hóa đường mòn nơron Các đường tạo nên hệ thống giao tiếp não Hình 1.1 Cấu trúc nơ-ron sinh học điển hình Hình 1.2 Cấu trúc nơ-ron nhân tạo 1.1.2 Mơ hình mạng nơ-ron nhân tạo a Mạng nơ-ron lớp Hình 1.3 Mạng nơ-ron lớp gồm S nơ-ron R đầu vào[16] b Mạng nơ-ron nhiều lớp Hình 1.4 Mơ hình mạng nơ-ron lớp [16] 1.1.3 Hàm truyền Các hàm truyền hay g i hàm kích hoạt f ANN chủ yếu hàm phi tuyến Mạng ANN lan truyền thẳng nhiều lớp thường sử dụng hàm phi tuyến để làm hàm truyền đầu nơ-ron Một vài hàm truyền hay sử dụng trình bày Bảng 1.1 Bảng 1.1 Một số hàm truyền thông dụng Hàm truyền Đồ thị Định nghĩa Symmetrical Hard Limit (hardlims) y = - x < y = +1 x ≥ Linear (purelin) y=x Saturating Linear (satlin) y = x < y=x 0≤x≤1 y=1 x>1 Log-Sigmoid (logsig) y= 10 Bài báo Kiến trúc mạng nơ-ron dấu phẩy động xác giảm tài nguyên phần cứng tác giả Huỳnh Việt Thắng [20] Tác giả báo xác định số nơ-ron lớn theo lý thuyết mơ đưa định dạng số thực dấu phẩy động xác tốt để thực thi Xilinx Virtex-5 FPGA Bài báo Khảo sát tài nguyên cho FPGA đơn sử dụng hệ thống nhận dạng chữ số viết tay tác giả Huỳnh Việt Thắng [21] Trong báo tác giả đưa hiệu cân số đầu vào mạng nơ-ron, kích thước mạng (số nơ-ron lớp ẩn), tốc độ nhận dạng tài nguyên phần cứng thực thi mạng nơ-ron giảm độ xác phần cứng cấu hình lại Qua tác giả nhận thấy lĩnh vực nghiên cứu thực thi mạng nơron phần cứng FPGA nhiều tác giả nước quan tâm Hơn mạch điện tử mô não mạch điện tử mô mạng nơ-ron nhân tạo hướng nghiên cứu mang lại nhiều triển v ng Các công ty lớn IBM đầu tư tiền bạc sức lực để phát triển hướng nghiên cứu Chip SyNAPSE (chip thuộc dự án Chương trình mơ hệ thống thần kinh vi mạch điện tử) IBM giới thiệu vào ngày 07/08/2014 [23] có tiềm thúc đẩy đổi xung quanh lớp ứng dụng với khả giác quan mức công suất tiêu thụ thấp Điều cho phép phát triển cơng nghệ mang tính cách mạng lấy cảm hứng từ não người IBM xây dựng chip có kiến trúc tính tốn lấy cảm hứng từ não người chip trang bị với triệu nơ-ron 256 triệu liên kết Đây chip lớn IBM xây dựng với 5.4 tỷ transistor (bóng bán dẫn) có mạng chip 4096 lõi liên kết nơ-ron Tuy nhiên tiêu thụ cơng suất 70mW suốt hoạt động thời gian thực, tiêu thụ lượng so với chip truyền thống trước Đây hoàn toàn hệ sinh thái phần mềm phần cứng nhận 11 thức Công nghệ mở hướng cho ngành điện tốn ứng dụng siêu máy tính phân phối cảm biến Ngồi có sản phẩm thương mại thiết bị BrainCard bo mạch thu nhỏ dùng để h c nhận dạng thời gian thực cho video, audio, tín hiệu liệu khác nhờ chip mạng nơ-ron NeuroMem CM1K BrainCard tái cấu hình nhờ FPGA dễ dàng giao tiếp với Arduino, Raspberry Pi bo Intel Edison [24] 1.4 CÔNG NGHỆ FPGA [1] 1.4.1 Kiến trúc FPGA [5] Hình 1.5 Kiến trúc tổng quát FPGA 1.4.2 Ứng dụng FPGA ứng dụng điển hình lĩnh vực như: Xử lý tín hiệu số, xử lý ảnh, thị giác máy, nhận dạng gi ng nói, mã hóa, mơ (emulation) FPGA đặc biệt mạnh lĩnh vực ứng dụng mà kiến trúc yêu cầu lượng lớn xử lý song 12 song, đặc biệt mã hóa giải mã FPGA sử dụng ứng dụng cần thực thi thuật toán FFT, nhân chập (convolution), thay cho vi xử lý Hiện công nghệ FPGA sản xuất hỗ trợ phần mềm hãng như: Xilinx, Altera, Actel, Atmel Trong Xilinx Altera hãng hàng đầu Xilinx cung cấp phần mềm miễn phí Windows, Linux, Altera cung cấp công cụ miễn phí Windows, Linux, Solaris 1.5 GIỚI THIỆU KIT FPGA VIRTEX-5 XUPV5LX-110T CỦA XILINX [8] 1.5.1 Giới thiệu 1.5.2 Định vị số thành phần kit 1.5.3 Sơ đồ khối kit 1.5.4 Cài đặt driver máy tính 1.6 NGƠN NGỮ MƠ TẢ PHẦN CỨNG VHDL [2] 1.6.1 Giới thiệu ngôn ngữ VHDL 1.6.2 Ƣu điểm ngôn ngữ VHDL 1.6.3 Mô tả thiết kế VHDL a Các mô tả giao tiếp (entity) b Kiến trúc chương trình (Architecture) c Các tốn tử 1.7 THIẾT KẾ HỆ THỐNG NHÚNG TRÊN FPGA [4] Một hệ thống FPGA hoàn chỉnh hệ thống logic bao gồm nhiều IP logic Tuy nhiên để kết hợp điều khiển IP với tạo thành hệ thống có chức mong muốn lại đòi hỏi cần có vi điều khiển trung tâm phần mềm nhúng 1.7.1 Giới thiệu 1.7.3 Kiến trúc Pipeline vi xử lý mềm MicroBlaze 1.7.4 Giao tiếp tín hiệu MicroBlaze 13 1.8 CÁC CÔNG CỤ HỖ TRỢ THIẾT KẾ NHÚNG CỦA XILINX 1.8.1 ISE (Intergrated Software Environment) Là công cụ xây dựng lập trình FPGA ISE thực mơi trường tổng hợp thực thi tồn diện cho chip khả trình Xilinx Với ISE, người thiết kế lập trình, gỡ lỗi, mơ phỏng, dịch nạp chương trình cách nhanh chóng dễ dàng Người thiết kế thiết kế hệ thống theo nhiều cách khác nhau: với mã vhd, với sơ đồ RTL, với sơ đồ trạng thái (state machine) 1.8.2 EDK (Embedded Development Kit) Là cơng cụ để xây dựng hệ thống có vi xử lý nhúng FPGA MicroBlaze (cho tất h FPGA) Power PC (chỉ cho h Virtex) EDK không giúp tạo vi xử lý nhúng mà hỗ trợ thiết kế ngoại vi giao diện cho chúng Với thư viện ngoại vi đồ sộ, cho phép vi xử lý thực thi nhiệm vụ mà vi xử lý thơng thường thực giao tiếp UART, Ethernet, nhớ RAM, ROM, I/O, Các thiết kế vi xử lý nhúng tối ưu hóa 1.9 PHẠM VI VÀ NHIỆM VỤ CỦA ĐỀ TÀI Thực thi mạng nơ-ron nhân tạo FPGA hướng phát triển hứa hẹn mang lại nhiều ứng dụng tương lai Ở Việt Nam hướng nghiên cứu nơ-ron FPGA nhiều công ty thiết kế vi mạch trường Đại h c, viện Nghiên cứu vi mạch quan tâm Chính nghiên cứu ứng dụng mạng nơ-ron nhân tạo nhận dạng chữ số viết tay dựa FPGA bước khởi đầu lĩnh vực nghiên cứu thực thi mạng nơron phần cứng 14 Nghiên cứu kiến trúc mơ hình mạng nơ-ron, từ đề suất hệ thống nhận dạng Matlab Tiếp theo tác giả xây dựng mơ hình thiết kế lõi IP ANN nhận dạng chữ số viết tay ghép nối với vi xử lý mềm MicroBlaze Nhúng MicroBlaze xuống FPGA thực nhận dạng CHƢƠNG ỨNG DỤNG MẠNG NƠ-RON NHÂN TẠO TRONG NHẬN DẠNG CHỮ SỐ VIẾT TAY TRÊN MÁY TÍNH 2.1 GIỚI THIỆU CHƢƠNG Chương giới thiệu tập sở liệu chữ số viết tay MNIST, phương pháp trích ch n đặc trưng cho ảnh PCA, thuật toán h c lan truyền ngược cho mạng nơ-ron truyền thẳng nhiều lớp BP xây dựng mơ hình hệ thống nhận dạng chữ số viết tay MNIST, thực huấn luyện mạng Matlab lưu kết để thực cho công việc 2.2 TẬP CƠ SỞ DỮ LIỆU MNIST [18] Hình 2.1 Mẫu ký tự số MNIST 15 2.3 KỸ THUẬT TRÍCH CHỌN ĐẶC TRƢNG PCA [19] 2.3.1 Giới thiệu Các liệu tiền xử lý trước mô Matlab Mục đích để xây dựng, sử dụng đặc trưng có giá trị để thực tốt Phân tích thành phần (Principal Component Analysis - PCA) phương pháp trích ch n đặc trưng phổ biến Mục tiêu PCA giảm số chiều tập vec-tơ cho đảm bảo tối đa thơng tin quan tr ng PCA tìm tập thành phần trực giao để tối thiểu hóa lỗi liệu xây dựng lại Một cơng thức tương đương PCA tìm tập vectơ trực giao để tối đa hóa phương sai liệu xây dựng Nói cách khác, PCA tìm kiếm biến đổi liệu vào khung tham chiếu với lỗi có thể, cách sử dụng yếu tố so với liệu gốc Hơn nữa, PCA giúp giảm đặc trưng liệu PCA xây dựng đặc trưng sở cũ Vì vậy, đặc trưng đảm bảo thay đổi tập liệu không gian Trên không gian mới, số mối quan hệ đặc trưng phát dễ dàng so với không gian cũ Trong luận văn tác giả sử dụng phương pháp PCA để xử lý ảnh tập liệu MNIST trước đưa xuống bo mạch (kit) phần cứng FPGA khơng thể xử lý q nhiều tính lúc 2.3.2 Thuật tốn phân tích thành phần PCA [19], [26] 16 2.4 ĐỀ SUẤT HỆ THỐNG THIẾT KẾ 2.4.1 Mơ hình hệ thống thực thi matlab Hình 2.2 Sơ đồ khối trình huấn luyện kiểm tra Matlab 2.4.2 Thuật toán lan truyền ngƣợc BP sử dụng huấn luyện mạng [16], [22] 2.5 HUẤN LUYỆN MẠNG NƠ-RON BẰNG PHẦN MỀM MATLAB [9] 2.6 KẾT LUẬN CHƢƠNG Chương trình bày mơ hình đề suất thiết kế mạng nơ-ron nhận dạng tập chữ số viết tay MNIST thực huấn luyện mạng nơ-ron Matlab Kết sau huấn luyện tác giả lưu lại ma trận W1 W2 tối ưu để sử dụng cho việc xây dựng lõi IP ANN chương CHƢƠNG THỰC HIỆN CÁC PHÉP TOÁN VỚI DẤU PHẨY ĐỘNG CƠ SỞ CHO HIỆN THỰC HÓA MẠNG NƠ-RON NHÂN TẠO TRÊN FPGA 3.1 GIỚI THIỆU CHƢƠNG Trong chương này, tác giả trình bày lý thuyết tổng quan, số thực dấu phẩy động, lịch sử đời, chuẩn IEEE- 17 754 cho tính tốn với dấu phẩy động máy tính chế độ làm tròn phép tốn liên quan, bao gồm phép cộng, phép trừ, phép nhân, phép chia số thực dấu phẩy động Tiếp theo đó, tác giả giới thiệu thư viện mã nguồn mở FloPoCo điều cần ý sử dụng thư viện Cuối cùng, tác giả mô tả sơ lược sơ đồ khối mô hoạt động lõi IP mà tác giả kế thừa từ thư viện mã nguồn mở PloPoCo 3.2 TỔNG QUAN VỀ SỐ THỰC DẤU PHẨY ĐỘNG [2] 3.2.1 Lịch sử 3.2.2 Chuẩn IEEE-754 cho tính tốn với dấu phẩy động máy tính 3.2.3 Các chế độ làm tròn (rounding modes) 3.3 TÍNH TỐN VỚI SỐ THỰC DẤU PHẨY ĐỘNG 3.3.1 Phép cộng phép trừ 3.3.2 Phép nhân phép chia 3.4 GIỚI THIỆU THƢ VIỆN MÃ NGUỒN MỞ FLOPOCO [7] 3.5 THỰC HIỆN CÁC PHÉP TOÁN CƠ SỞ CHO MẠNG NƠRON BẰNG FLOPOCO 3.5.1 Bộ cộng Addition Hình 3.2 Sơ đồ khối cộng 3.5.2 Bộ nhân Multiplication 18 Hình 3.4 Sơ đồ khối nhân 3.5.3 Bộ chia Divider Hình 3.6 Sơ đồ khối chia 3.5.4 Bộ thực hàm mũ Exponential Hình 3.8 Sơ đồ khối thực hàm mũ 3.5.5 Bộ nhân cộng tích lũy MAC 3.5.6 Bộ thực hàm truyền Logsigmoid 3.6 KẾT LUẬN CHƢƠNG 19 Trong chương này, tác giả trình bày lý thuyết liên quan đến số thực dấu phẩy động phép tốn liên quan chuẩn IEEE-754 tính tốn dấu phẩy động máy tính Đồng thời tác giả giới thiệu sơ lược thư viện PloPoCo, sơ đồ khối mô cách hoạt động lõi IP kế thừa luận văn Qua cho thấy việc xử lý số thực dấu phẩy động cần phải tuân thủ theo quy định, khuôn khổ định, người thiết kế phải nắm rõ quy định Bên cạnh đó, việc nắm bắt cách thức hoạt động lõi IP thư viện FloPoCo cần thiết để dựa vào thiết kế, xây dựng lõi IP Trong chương tiếp theo, tác giả trình bày chi tiết bước thiết kế lõi IP thực mạng nơ-ron nhân tạo dựa lõi IP thư viện FloPoCo CHƢƠNG THỰC HIỆN KIẾN TRÚC MẠNG NƠ-RON NHÂN TẠO NHẬN DẠNG CHỮ SỐ VIẾT TAY TRÊN FPGA 4.1 GIỚI THIỆU CHƢƠNG Chươngtrình tác giả trình bày việc thực kiến trúc mạng nơ-ron nhân tạo (ANN) ứng dụng cho toán nhận dạng chữ số viết tay FPGA Tác giả sử dụng định dạng số dấu phẩy động bán xác tất tính tốn kiến trúc ANN thiết kế Để thuận tiện trình bày, tác giả g i kiến trúc ANN lõi IP ANN Từ kiến thức lý thuyết mạng nơ-ron, tác giả thiết kế sơ đồ khối lõi IP ANN 20 4.2 SƠ ĐỒ KHỐI CHUNG Hình 4.1 Sơ đồ khối chung lõi IP ANN 4.3 KIẾN TRÚC CỦA MỘT NƠ-RON Hình 4.3 Sơ đồ khối kiến trúc nơ-ron thứ i 4.4 KIẾN TRÚC LÕI IP ANN CHO NHẬN DẠNG CHỮ SỐ VIẾT TAY Hình 4.5 Sơ đồ khối lõi IP ANN lớp ứng dụng nhận dạng chữ số viết tay: lớp ẩn gồm 12 nơ-ron, lớp gồm 10 nơ-ron 21 4.5 KẾT QUẢ 4.5.1 Kết tổng hợp lõi IP ANN phần cứng FPGA Tác giả sử dụng công cụ ISE 14.1 bo mạch FPGA Virtex-5 XUPV5LX-110T Xilinx [8] để thực tổng hợp kiểm tra thiết kế lõi IP mạng nơ-ron nhân tạo ANN Kết tổng hợp lõi IP ANN phần cứng FPGA đánh giá theo tiêu chí: tốc độ nhận dạng (latency), tần số hoạt động tối đa (fmax) vàlượng tài nguyên sử dụng (used resources), thông số cụ thể sau: a Tần số hoạt động tối đa Theo kết tổng hợp (Synthesize – XST) ISE, ta có tần số tối đa để lõi IP ANN làm việc fmax = 205 MHz Trong tần số làm việc MicroBlaze sử dụng 100 MHz, nhỏ tần số fmax, nên ghép lõi IP ANN với MicroBlaze hoạt động tốt b Tài nguyên phần cứng sử dụng H Hình 4.7 Kết tổng hợp lõi IP ANN từ ISE 14.1 c Tốc độ nhận dạng Thời gian nhận dạng lõi IP ANN thiết kế 566chu kỳ đồng hồ/mẫu 22 4.5.2 Đánh giá độ xác kiểm tra tỉ lệ nhận dạng Hình 4.11 Hệ thống kiểm tra đánh giá thực lõi IP ANN nhận dạng chữ số viết tay FPGA Virtex-5 Tác giả sử dụng tập liệu kiểm tra MNIST gồm 10000 mẫu liệu Quá trình kiểm tra thực với lõi IP ANN FPGA Matlab để đối sánh Tỉ lệ nhận dạng lõi IP ANN chạy FPGA Virtex-5 90.88 % Thời gian nhận dạng lõi IP ANN 7.99 μs/mẫu Tác giả thực việc nhận dạng 10000 mẫu kiểm tra MNIST Matlab với tr ng số ngưỡng đạt kết 91.33% Nhận thấy lõi IP ANN cho tỉ lệ nhận dạng xấp xỉ gần tỉ lệ nhận dạng thực Matlab Sự sai khác hoàn toàn chấp nhận được, tính tốn Matlab sử dụng định dạng số với độ xác kép 64-bit lõi tính tốn IP ANN FPGA sử dụng định dạng số bán xác với 16-bit 4.6 KẾT LUẬN CHƢƠNG Chương trình bày việc thiết kế, thực thi đánh giá lõi IP ANN cho toán nhận dạng chữ số viết tay FPGA Virtex-5 23 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI KẾT LUẬN Trên sở nghiên cứu, tìm hiểu, xây dựng thiết kế lõi IP ANN nhận dạng chữ số viết tay từ tập sở liệu MNIST, luận văn đạt số kết sau: ₋ Thiết kế thực thi mộtkiến trúcmạng nơ-ron nhân tạo lớp (lõi IP ANN) FPGA ứng dụng toán nhận dạng chữ số viết tay ₋ Lõi IP ANN dễ dàng mở rộng theo hướng thay đổi số lượng nơ-ron lớp ứng dụng để thực nhận dạng nhiều tập liệu khác tùy theo mục đích người sử dụng ₋ Việc xây dựng mạng nơ-ron phần cứng FPGA làm sở cho việc thực hóa giải thuật huấn luyện cho mạng nơron chip từ mở hướng thiết kế ứng dụng mang tính thực tiễn cao với tích hợp hệ thống xử lý thông minh chip, nghiên cứu thực thi kiến trúc ANN tảng công nghệ ASIC HƢỚNG PHÁT TRIỂN ĐỀ TÀI Do thời gian tiếp cận với FPGA không nhiều, tác giả chưa có nhiều kinh nghiệm thực hành lĩnh vực nên luận văn dừng lại việc nhận dạng chữ số viết tay từ tập MNIST FPGA sau trích ch n 20 đặc trưng ảnh chữ 24 số viết tay Matlab Do hướng phát triển đề tài tương lai là: - Tối ưu hóa kiến trúc lõi IP ANN thiết kế theo hướng tăng tốc độ nhận dạng - Ứng dụng lõi IP ANN toán nhận dạng khác nhận dạng khuôn mặt hay dấu vân tay - Thực trích ch n đặc trưng PCA ảnh số viết tay MNIST FPGA đưa kết đến lõi IP ANN mà không cần sử dụng Matlab để thực PCA - Thiết kế mạng nơ-ron nhân tạo FPGA với định dạng số thực dấu phẩy động có độ xác lớn giúp tăng tỷ lệ nhận dạng ... 2: Ứng dụng mạng nơ- ron nhân tạo nhận dạng chữ số viết tay máy tính 5 - Chương 3: Thực phép toán với dấu phẩy động sở cho thực hóa mạng nơ- ron nhân tạo FPGA - Chương 4: Thực mạng nơ- ron nhân tạo. .. Cấu trúc nơ- ron sinh học điển hình Hình 1.2 Cấu trúc nơ- ron nhân tạo 1.1.2 Mơ hình mạng nơ- ron nhân tạo a Mạng nơ- ron lớp Hình 1.3 Mạng nơ- ron lớp gồm S nơ- ron R đầu vào[16] b Mạng nơ- ron nhiều... ứng dụng nhận dạng chữ số viết tay đánh giá hoạt động lõi IP ANN Ý nghĩa khoa học thực tiễn đề tài Việc nghiên cứu thực thi mạng nơ- ron nhân tạo FPGA nhằm xây dựng mạng nơ- ron nhận dạng chữ số

Ngày đăng: 26/05/2020, 17:35

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan