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

(Đồ án tốt nghiệp) nghiên cứu thuật toán backpropagation trên fpga

122 18 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

Nội dung

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 TỐ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 SKL003931 Tp Hồ Chí Minh, tháng 7/2015 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ƯƠNGG̣ 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 ĐỒ Á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ọ 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:……………… Tên đề tài: ………………………………………………………………………… Các số liệu tài liệu ban đầu …………………………………………………………………………… Nội dung thực đề tài ………………………………………………………………………… Sản phẩm TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN Trangi ĐỒ Á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ọ tên sinh viên:………………………………… MSSV:……………………… Họ tên sinh viên:………………………………… MSSV:……………………… Nghành:……………………………………………………………………………… Tên đề tài:…………………………………………………………………………… ……………………………………………………………………………………… Họ tên giáo viên hướng dẫn……………………………………………………… NHẬN XÉT Về nội dung đề tài khối lượng thực hiện: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Ưu điểm: ………………………………………………………………………………… ………………………………………………………………………………… Khuyết điểm: ………………………………………………………………………………… ………………………………………………………………………………… Đề nghị bảo vệ hay không ? ………………………………………………………………………………… Đánh giá loại: ………………………………………………………………………………… Điểm:………………(bằng chữ…………………………………… …………) Tp Hồ Chí Minh, Ngày… tháng…năm… Giáo viên hướng dẫn Trangii ĐỒ Á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ọ tên sinh viên:………………………………… MSSV:……………………… Họ tên sinh viên:………………………………… MSSV:……………………… Nghành:……………………………………………………………………………… Tên đề tài:…………………………………………………………………………… ……………………………………………………………………………………… Họ tên giáo viên phản biện……………………………………………………… NHẬN XÉT Về nội dung đề tài khối lượng thực hiện: ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Ưu điểm: ………………………………………………………………………………… ………………………………………………………………………………… Khuyết điểm: ………………………………………………………………………………… ………………………………………………………………………………… Đề nghị bảo vệ hay không ? ………………………………………………………………………………… Đánh giá loại: ………………………………………………………………………………… Điểm:………………(bằng chữ…………………………………… …………) Tp Hồ Chí Minh, Ngày… tháng…năm… Giáo viên phản biện Trangiii ĐỒ Á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, dạy tận tình để chúng em hồn thành đồ án Đồng thời, chúng em 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 với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường… Nhóm xin cảm ơn bạn bè, gia đình người thân chia sẻ, giúp đỡ, động viên, tạo điều kiện thuận lợi để nhóm hồn thành nhiệm vụ học tập đồ án tốt nghiệp Đồ án thực khoảng thời gian gần tháng Bước đầu vào thực tế , tìm hiểu lĩnh vực sáng tạo nghiên cứu khoa học , kiến thức chúng em hạn chế nhiều bỡ ngỡ Do vậy, khơng tránh khỏi thiếu sót điều chắn, chúng em mong nhận ý kiến đóng góp q báu q Thầy Cơ bạn sinh viên để kiến thức chúng em lĩnh vực hồn thiện Nhóm Sinh Viên Thực Hiện Trangiv ĐỒ ÁN TỐT NGHIỆP | 2015 LỜI NÓI ĐẦU Với phát triển ngày mạnh mẽ công nghệ IC người tangày có khuynh hướng tích hợp nhiều IC Do chip PLD(Programmable Logic Device) FPGA (Field Programmable Gate Array) ngày nhỏ gọn tích hợp vào nhiều tiện ích mà cơng nghệ trước không thực Để sử dụng tiện ích mà chip mang lại phải lập trình cho chip theo ý tưởng thiết kế Cùng với rađời chip PLD FPGA ngôn ngữ mô tả phần cứng HDL(HardwaveDescription Language) mà thiết kế mạch số dùng để mô tả thiết kế cácmạch số chip Mạng Neural nhân tạo ứng dụng 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 phân loại liệu, chuẩn đoán bệnh,…Việc chuyển thểtừ giải thuật, 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) nghiên cứu gần Nên việc xây dựng thành công kiến trúc vi mạch cho mạng Neural tiền đồ quan trọng cho việc mạnh phát triền 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 việc kiểm tra đánh giá ứng dụng thực qua kiến trúc vi mạch cùa mạng Neural cho giải thuật Backpropagation Mạng Neural sau xây dựng có khả phát triền cho ứng dụng khác cách dễ dàng Trangv ĐỒ ÁN TỐT NGHIỆP | 2015 5.11.2 Kết mô khối pre_backpropagation Ta đưa ngõ vào ngõ vào nơ-ron lớp vào từ kiểm tra xem lần trọng số hội tụ chưa phát tín hiệu cập nhật tiếp lần nữa.Đồng thời xem số liệu có giống với số liệu mô khối hay không Các số liệu ban đầu:  Input1 = (01000000001000000000000000000000)2=(2,5)10  Input2 = (10111111100011001100110011001101)2=(-1,1)10  W1 = (00111101110011001100110011001101)2=(0.1)10  W2 = (00111101110011001100110011001101)2=(0.1)10  W3 = (00111101110011001100110011001101)2=(0.1)10  W4 = (00111101110011001100110011001101)2=(0.1)10  W5 = (00111101110011001100110011001101)2=(0.1)10  W6 = (00111101110011001100110011001101)2=(0.1)10 Hình 5.30 Ảnh mô khối pre_backpropagation Trang 77 ĐỒ ÁN TỐT NGHIỆP | 2015 Sau 30 chu kỳ xung clock số liệu ổn định Ta bắt đầu kiểm tra số liệu tính tốn từ khối pre_backpropagation có giống với kết từ khối trước không  Oh1 = hid_layer_output_01 = (00111110000011011100110000101000)2  Oh2 = hid_layer_output_02 = (00111110000011011100110000101000)2  Ok = ( 00111111000000101100110011110011)2= ( 0.5109398)10  Error = error_func = (00111101111101001110101110010111)2 Như vậy, với kết thu qua lần thực lan truyền thẳng khối pre_backpropagation cho kết giống với kết mà ta mô khối Kết có sai số chút so với tính toán Matlab nằm giới hạn cho phép Sau thực lần ta sai số bình phương 0.11958998 0.11958998 > 0.05 (E_target) Do khối phát tín hiệu is_cont_train = khối điều khiển network_control, tức cần phải lan truyền ngược khối Backpropagation cập nhật lại trọng số chuẩn bị lặp lần 5.12 Thiết kế khối Backpropagation 5.12.1 Thiết kế RTL khối Backpropagation Khối tiến hành lan truyền ngược thuật toán Backpropagation tiến hành cập nhật trọng số nhằm tạo trọng số tối ưu Trang 78 ĐỒ ÁN TỐT NGHIỆP | 2015 Hình 5.31 Sơ đồ khối backpropagation Ngõ vào khối backpropagation gồm:  ngõ vào data_input_01, data_input_02, tín hiệu từ nơ-ron lớp vào  Hid_layer_output_01, hid_layer_output_02, out_layer_output ngõ Net, oh1,oh2,ok  Old_weight_in_hid_01, old_weight_in_hid_02, old_weight_in_hid_03, old_weight_in_hid_04, old_weight_hid_out_01, old_weight_hid_out_02 trọng số w1,w2,w3,w4,w5,w6 cần cập nhật  Ena_backpropagation: tín hiệu cho phép khối thuật tốn cập nhật trọng số Ngõ khối backpropagation gồm:  New_weight_hid_out_01, new_weight_hid_out_02, new_weight_in_hid_01, new_weight_in_hid_02, new_weight_in_hid_03, new_weight_in_hid_04 trọng số w1,w2,w3,w4,w5,w6 cập nhật Bảng 5.12: Kết sử dụng tài nguyên thời gian khối khối backpropagation Selected Device : 3s500efg320-5 Device utilization summary Number of Slices Number of input LUTs Number of bonded IOBs Number of GCLKs Timing Summary- Speed Grade : -5 Minimum input arrival time before clock Maximum output required time after clock Cũng giống khối pre_backpropagation khối backpropagation chiếm lượng lớn tài nguyên vượt tài nguyên mà kit có sẵn Do việc kiểm tra hoạt động dựa vào phần mềm mô Trang 79 ĐỒ ÁN TỐT NGHIỆP | 2015 5.12.2 Kết mô khối backpropagation Với kết có từ khối pre_backpropagation oh1, oh2, ok trọng số cũ cần cập nhật khối backpropagation tiến hành tính hàm lỗi phụ vụ cho việc cập nhật, tối ưu trọng số cũ theo thuật toán Backpropagation Các liệu ban đầu để đưa vào mô phỏng:  Input1 = (01000000001000000000000000000000)2=(2,5)10  Input2 = (10111111100011001100110011001101)2=(-1,1)10  W1(old) = (00111101110011001100110011001101)2=(0.1)10  W2(old) = (00111101110011001100110011001101)2=(0.1)10  W3(old) = (00111101110011001100110011001101)2=(0.1)10  W4(old) = (00111101110011001100110011001101)2=(0.1)10  W5(old) = (00111101110011001100110011001101)2=(0.1)10  W6(old) = (00111101110011001100110011001101)2=(0.1)10  Oh1 = (00111110000011011100110000101000)2=(0.1384741)10  Oh2 = (00111110000011011100110000101000)2=(0.1384741)10  Ok = ( 00111111000000101100110011110011)2= ( 0.5109398)10 Kết sau thực khối backpropagation là: Hình 5.32 Ảnh mô khối backpropagation Trang 80 ĐỒ ÁN TỐT NGHIỆP | 2015 Sau 30 chu kỳ xung clock số liệu ổn định Ta bắt đầu kiểm tra số liệu tính tốn từ khối backpropagation có giống với kết từ khối trước không Bộ trọng số cập nhật là:  W1(new) = (00111110000111100110001001000010)2 = (0.1546717)10  W2(new) = (00111101100110111000100011000100)2 = (0.07594445)10  W3(new) = (00111110000111100110001001000010)2 = (0.1546717)10  W4(new) = (00111101100110111000100011000100)2 = (0.07594445)10  W5(new) = (00111110101101010010101000010011)2 = (0.35383663)10  W6(new) = (00111110101101010010101000010011)2 = (0.35383663)10 Như vậy, với kết thu từ q trình mơ kết hồn tồn giống với kết mà ta mô khối cập nhật trọng số Bộ trọng số đưa vào lại khối pre_backpropagation lần thứ hai để kiểm tra xem thỏa điều kiện sai số đề E_target = 0.05 Do chưa thỏa điều kiện nên khối network_control phát tín hiệu cho phép khối backpropagation thực tính hàm lỗi cập nhật lại trọng số Lần thứ hai, khối network_control phát tín hiệu cho phép khối pre_backpropagation thực việc lan truyền thẳng với trọng số cập nhật từ lần Sau kiểm tra error_function = (00111101110011011010101101111011)2 = ( 0.10042473) > E_target = 0.05 Kiểm tra lần lớn sai số cho phép nên khối network_control phát tín hiệu cho phép khối backpropagation thực tính lại hàm lỗi cập nhật trọng số Lần thứ ba, khối network_control phát tín hiệu cho phép khối pre_backpropagation thực việc lan truyền thẳng với trọng số cập nhật lần thứ Sau kiểm tra error_function = (00111100101001011101100101010011)2 = (0.02024523) < E_target = 0.05 Như lần thứ sai số tính nhỏ sai số cho phép nên khối network_control kết thúc thuật toán backpropagation Và trọng số trọng số tối ưu đề với yêu cầu mơ hình mạng nơron 2x2x1 với ngõ vào x1=2.5, x2=-1.1, ngõ mong muốn tk=1 Như sau lần thực thuật toán Backpropagation FPGA cho trọng số tối ưu, kết giống với kết thực Matlab Trang 85 ĐỒ ÁN TỐT NGHIỆP | 2015 Bảng 5.15: So sánh kết thực thuật toán backpropagaton FPGA Matlab X1 X2 tk n W1(old) W2(old) W3(old) W4(old) W5(old) W6(old) Error_function Số lần lặp W1(new) W2(new) W3(new) W4(new) W5(new) W6(new) Trang 86 ĐỒ ÁN TỐT NGHIỆP | 2015 CHƢƠNG KẾT LUẬN Với kết đạt được, đề tài đáp ứng mục tiêu nghiên cứu đặt ban đầu Cụ thể, đề tài đạt kết sau  Đề tài thiết kế cấu trúc vi mạch cho mạng Neural lan truyền thẳng huấn luyện theo giải thuật Backpropagation  Đề tài thiết kế giải thuật ứng dụng tạo cấu trúc vi mạch với hai ngõ vào ngõ mong muốn Bên cạnh đó, giới hạn thời gian hoàn thành đồ án, hạn chế điều kiện tiến hành thực nghiệm không cho phép thực nghiên cứu sâu lĩnh vực Chính vậy, xin đề xuất số hướng nghiên cứu tiếp tục sau  Mở rộng cấu trúc vi mạch cho mạng Neural đa lớp  Tìm phương pháp luận thực tối ưu cấu trúc vi mạch  Đề biện pháp tính “sai số” huấn luyện mạng Neural thiết kế vi mạch ảnh hưởng đến tốc độ chương trình  Thực cấu trúc vi mạnh cho đường sigmoid số (đây vấn đề cần nghiên cứu tương lai) Đây hướng nghiên cứu triển khai giới Những kết nghiên cứu lĩnh vực áp dụng trực tiếp vào sản xuất ứng dụng giảng dạy bậc đại học Để tiếp cận phát triển hướng nghiên cứu này, cần thực cơng việc sau  Tập trung trí tuệ tập thể cách xây dựng nhóm nghiên cứu Bên cạnh đó, thực liên kết trao đổi với trường đại học viện nghiên cứu khác nước giới lĩnh vực  Sử dụng cơng cụ tính tốn, thiết kế, lập trình mơ chun nghiệp cơng ty hàng đầu giới cung cấp Trang 87 ĐỒ ÁN TỐT NGHIỆP | 2015 DANH MỤC TÀI LIỆU THAM KHẢO [1] Sandige, R., “Top-Down Design Process for Gate-Level Combinational Logic Design”, IEEE Transactions on Education, Vol.35, No.3, August 1992, pp 247-252 [2] Wolf, W., “Synthesis Tools Help Teach Systems Concepts in VLSI Design”, IEEE Transactions on Education, Vol 35, No.1, February 1992,pp 11-16 [3] Phạm Thị Hồng Nhung (2007), Ứng dụng mạng Neural nhân tạo vào việc dự báo lưu lượng nước đến hồ Hịa Bình [4] Nguyễn Lâm Thương (2010), Nghiên cứu thực cấu trúc VLSI cho thuật tốn học [5] Bùi Hồng Khánh, Lê Duy Hưng, Hồng Mạnh Khơi (2010), Mạng Neural ứng dụng [6] Trần Đức Minh (2002), Mạng Neural [7] www.google.com [8] www.h-schmid.net/FloatConverter/IEEE754.html Trang 88 ... Neural Nghiên cứu thuật toán học Backpropagation Nghiên cứu công nghệ FPGA ngôn ngữ mô tả phần cứng Verilog Nghiên cứu 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. .. Với cơng trình nghiên cứu khoa học ứng dụng, mạng Neural thực thuật toán Backpropagation khẳng định giá trị tính hiệu Tuy nhiên, Thuật toán mạng Neural huấn luyện theo giải thuật Backpropagation. .. 3.4.3 Nhân 3.4.4 Cách tín Trangvii ĐỒ ÁN TỐT NGHIỆP | 2015 Chƣơng NGHIÊN CỨU THUẬT TOÁN 4.1 Sơ đồ thực thuật 4.2 Huấn luyện mạng Neu 4.3 Khảo sát thuật toán thự 4.4 Các module chương tr 4.4.1

Ngày đăng: 22/12/2021, 06:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w