1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Thiết kế bộ gia tốc trên FPGA cho mạng nơ-ron tích chập dựa trên tính toán ngẫu nhiên

103 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 103
Dung lượng 37,24 MB

Nội dung

Trong khóa luận này, đề tài hiện thực phương pháp tính toán ngẫu nhiên dựa trênkiến trúc mạng Lenet-5 và một mô hình CNN dùng trong việc phát hiện QRS.Trong đó, đề tài đã được các mục ti

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

NGO TAN BINH — 20521117

KHOA LUAN TOT NGHIEP

THIET KE BO GIA TOC TREN FPGA CHO MANG

NO-RON TICH CHAP DUA TREN TINH TOAN NGAU

NHIEN

ACCELERATOR ON FPGA FOR CONVOLUTION NEURAL

NETWORK BASED ON STOCHASTIC COMPUTING

CU NHAN KY THUAT MAY TINH

GIANG VIEN HUONG DAN

TS TRAN THI DIEM

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Mọi căn nhà luôn được xây dựng từ những viên gạch nhỏ, khóa luận nàycũng không thé đi được đến ngày hôm nay không chỉ nhờ ban thân cố gắng mà

còn nhờ tới sự giúp đỡ của những người xung quanh, đặc biệt là những người

bạn quý mến luôn hỗ trợ về mặt tinh thần, cũng như những kiến thức bổ ích;những thầy/cô đã luôn hết mình vì sinh viên với những lời khuyên quý báu,những phương pháp và cách thức nghiên cứu đề tài hiệu quả, và đồng thời là

sự hỗ trợ to lớn về kiến thức để có thể hoàn thành đề tài một cách hiệu quả và

nhanh chóng và bổ ích.

Lời đầu tiên xin được gửi tới giảng viên hướng dẫn của tác giả, TS Trần

Thị Điểm vì sự hỗ trợ cũng như sự đồng hành của cô trong suốt quá trình thực

hiện khóa luận tốt nghiệp Sự phong phú về kiến thức cũng như nghiên cứu của

cô đã giúp tác giả có những phương pháp nghiên cứu hiệu quả giúp nâng cao

hiệu quả nghiên cứu và thực hiện đề tài một cách chỉnh chu và hoàn thiện

nhất Ngoài sự hỗ trợ về mặt kiến thức, việc hỗ trợ tinh thần luôn là một độnglực giúp cho tác giả có thê vượt qua những giai đoạn khó khăn, những giai đoạn

căng thắng trong suốt quá trình hoàn thiện đề tài Ngoài ra, báo cáo có thể đượchoàn thiện có một sự góp sức không nhỏ đến từ những chính sửa mang day tínhxây dựng để có thể truyền đạt những ý tưởng một cách hiệu quả và súc tích.Chính vì vậy, đây chính là những trợ lực quý giá và tác giả cực kỳ trân trọng nó.

Kế đến, xin trân trọng gửi lời cảm kích sâu sắc đến khoa Kỹ thuật máy tính

vì đã tạo điều kiện dé hỗ trợ không gian học tập nghiên cứu, tạo ra những điều kiệnthuận lợi nhất có thé dé có thể hoàn thành nghiên cứu của khóa luận một cách hiệuquả Sự giúp đỡ về mặt vật chất và không gian đã luôn mang lại những sự thoải mái

dé có thé có được không gian nghiên cứu thoải mái dé có thé có những ý tưởng độtphá.

Và cuối cùng xin gửi lời cảm ơn đến những người bạn và cố vấn học tập Ngô

Hiếu Trường vì những định hướng trong suốt quá trình nghiên cứu Những lời

Trang 3

khuyên vê cách nghiên cứu, trao đôi đê tài với giảng viên hướng dẫn và những lời khuyên bô ích đã giúp đỡ rât nhiêu Ngoài ra, sự cô vũ và động viên vê mặt tinh

thần cũng đã mang lại nhiều sự tích cực

Lời kết xin một lần nữa cảm ơn giảng viên hướng dẫn, khoa và bạn bè vì những

sự giúp đỡ quý giá trong quãng thời gian dài thực hiện khóa luận tốt nghiệp

TP Hô Chí Minh, ngày 28 tháng 06 năm 2024

Ngô Tan Bình

Trang 4

Chương 2 TONG QUAN : 2e:tee2222EEE2EEE2 21111 111 1111 11 7

2.1 Cac hướng nghiên cứu hiện nay và đánh g1á -sescccseesccvsrerresrrrree 7

2.2 Những nội dung đề tài tập trung -css+eeceerreeeeerrrererrrrrrrrrirree 9

Chương 3 CƠ SỞ LÝ THUYẾT 22-+estce2terEtrrttrrrtrrrrrrrrre 10

3.1 Mang nơ ron tích chập là gÌ e ccxererrerrrkiirrriirrrriirrrriirrrriirrrrree 103.2 Cấu trúc mạng nơ-ron tích chập -« ce eeecetreeceerrreeverrrererrree 11

3.2.1 SO Oe, A i ee 11 3.2.2 - Tích chối 0m TE ss essesnencossnseceasensssensonsssonsnneseasenseronsen 11 3.2.3 Ham kích hoạt - ccccccccccrrcrrerrtertrrttsttsttsrtrrtrsrkrrkrrsrrsrrsrerik 13 3.2.4 Lớp gop - Pooling LAV€T -scscseekxtkkkrEkkkiEkkktirirerrieiiee 14

3.2.4.1 Max Pooling -«cc ceeketrietrirkiikiikiriiiiriiirree 14

3.2.4.2 Avarage POOling ccccceekiieErirtkiirtririiiiriiiirree 15

3.2.5 Lớp kết nối toàn bộ - Fully-Connected Layer -s: 16

3.2.6 Lớp phân loại — Classification Layer -c-eeecscecessrrsseersee 17

3.3 Giới thiệu về 1-D CNN cerieririiriirriririrrrie 173.4 Kiến trúc mạng Lenet-5 -::cecceerirteevvvttrtrarvrtrrrrrrrrrrrrrrrererrrre 193.5 Khai quát ECG va QRS cormpÏex -s«cccsecxiekrekririiiirrirrriiiee 203.6 Gidi thiệu về phương pháp tính toán ngẫu nhiên -: 22

3.6.1 Định dang của phương pháp tính toán ngẫu nhiên 24

Trang 5

3.6.1.1 Dinh dạng UnIpOlaT -s«ccs«ccesexeerexrekkeerteereerrerrerree 24 3.6.1.2 Định dạng BIpOlaT ccs<ccceerrrxeerrrrerrrrrrrrrrrrrrrerrrree 243.6.2 Cac phép tính số học ngẫu nhiên -cccesrrrcecccrtrrrecrert 25

3.6.2.1 NOT.G eceằsreccerrrererrrrrrrrrrirrrrrrrrrrrrrrrrrrrrrree 25 1a.” ,ôÔỎ 25 co.“ ÔỎ 26 1z” m9 26 3.6.2.5 MUX ‹«< .,Ô 27 3.6.2.6 Accumulation Paralle] Counter -. scc-sssecscsesessxsessrsess 28

3.6.3 | Ham kích hoạt bằng phương pháp tính toán ngẫu nhiên 29

3.6.3.1 Tanh€ Ak A 29 3.6.3.2 Hàwfuất 4, S% 30

Chương 4 KIEN TRÚC PHAN CỨNG -: :-:ceeet+eeetEtresvEErriesvrrrre 31

4.1 _ Kiến trúc phần cứng Lenet-5 -.-esseeeereceerreerrrrrerrrree 31

4.1.1 _ Kiến trúc tông quát ccccccrreeccverrrrrererrrrrrrserrrrrrree 31

4.1.2 Qué trình truyền dữ liệu cccccerrreeeeverrrrrevevrrrrrrrerrrrrrree 324.1.3 Bộ tạo chuỗi số ngẫu nhiên cccccccvcccvvvvvvvccrrrrrtrtrrrirrrrrrarererre 324.1.4 Kiến trúc lớp tích chập - eceecrcecerrrreeerrrereerrrerertrrrrrrrrre 34

4.1.4.1 Lớp tích chập thứ nhất -ccereeceerrrecerrrrecrrrree 34

4.1.4.2 Lớp tích chập thứ hai -ec2-ccccesrreeceerrrererrrrererrree 36 4.1.5 Lớp PoOoling -c-cxxererirtkrirtrirtriirtiiiriiriiiriiirirrire 37 SN ố :‹+T EB,.,.HDHĂA 38 4.1.7 Ham kích hoạt Tanh e sccs+cs+eerereresrterserserrrsrtsrsrrsrrsrrsree 39 4.1.8 Lớp Fully Connecfed -« -«cxxcererrsrrrrtrrrrrrrrirrrirrrrrrrrrrrreee 40

Trang 6

4.1.9 Phương pháp chia sẻ bộ tạo số ngẫu nhiên ss -s 414.2 Kiến trúc phần cứng phát hiện QRS - s2:+ccezrecetrrcee 43

4.2.1 Bộ tạo số bai 0 .).) 454.2.2 Kiến trúc lớp tích chập và fully-connected c-ee-:-.es 46

4.2.3 Bộ Tanh cau hình theo lớp -. +ceeeeeetreeeerrrvrrreerrrrerrre 48

4.3 Tit na 50 4.4 Lớp phân loại -«-cs Hà HH Hà Hàn nà Hàng 51

Chương 5 THU NGHIỆM VÀ DANH GIA KẾT QUẢ -s 54

5.1 Giới thiệu về phần cứng FPGA ZCU102 -.-cssecesree 54

5.1.1 Tổng quan 46 Z2 nn, 54

5.1.2 Tính năng chính -e -cxtcrrkerrtretrrtrrrrtirirrrrrrrkrrrrkerie 545.1.3 _ Tài nguyên phần cứng -2-+-ese+eeeetreertrrerrrrretrrrerrre 55

52 Kiểm thửnấ de Oe Oh ee 56

5.2.1 Qué trình kiểm thử :::teeeeeevvvertrrtrriesseerrrrrrrrrrrsee 56

5.2.2 _ Kiểm tra quá trình truyền đữ liệu -ccccerrrcecccrrrrreeccrr 585.3 Số chu kỳ hoạt động ccccctreeevettrrteeeErEtrirerrrtrrrrirrrrrrrrirererrrre 59

5.3.1 _ Số chu kỳ của quá trình ghi/đọc DMA ccccec:rcceccee 59

5.3.1.1 Lenet-5 eeeeereeeerrreeeerrriererrrrirrtrrirrrtrirrrrrrrrrrrrrrrree 59 5.3.1.2 Phát hiện QRS -ecccrrrecerrrireerrrrrrrrrrrrrrrrrrreee 60

5.3.2 _ Số chu kỳ của Btanh -e-iceececrrrrreeererrrirererrrrrrrserrrrrrree 605.3.3 Số chu kỳ bộ CounIer ::cccccertiteeevvEtrrreevvtrtrtrssertrrrrseerte 605.3.4 Số chu kỳ của từng lớp ec -eceerrreeeerrirreerrrrrrerrrrrrrrrrrree 60

“ăn 60 5.3.4.2 _ Phát hiện QRS HH HH ưng 61

Trang 7

5.7 Kết quả đạt được và đánh giá ASIC -ecccerirrecvevrrrrcrerrrrrre 71

"An 71

58 PháthiệnQRS 5 227775 74 5.9 Thời gian thực thi scsciceetreectrreerrreerrrireerrirertrrerrrrrerrrreerre 78

5.0.1 Lenet-5 6U 6 4£» ẽ 78

Chương 6 KẾT LUẬN - -::-e2t2SEEE 2EEEE 21111 2111 0 81Chương 7 HƯỚNG PHÁT TRIỂN TƯƠNG LAI -2.sze.eeree 82

Trang 8

DANH MỤC HÌNH

Hình 3.1 Cấu trúc của mang nơ-ron tích chập [Ø] - -++-++++<x++eex+eexssess 11Hinh 3.2 Phép tich Chap PP .‹., 12 Hình 3.3 Hàm ReLU - c2 2232331331351 E51E51 5511511111111 11 1g rry 13 Hình 3.4 Hàm s1ðTmOI( - - - (2c 22 8311831183918 8 E11 91118 11 81111 11 vn ng 13 Hinh 3.5 Ham Tan 0008 - 14 Hinh 3.6 MaxPooling Operation 0011 15 Hình 3.7 Avarage Pooling peraf1OI - - - - s + v1 ng ng c 15 Hình 3.8 Fully-Connected Lay€T (+ 14111211 E3 21 1 1 nh ng nàn 16 Hinh 3.9 Classification Layer 1 h 17Hình 3.10 Cấu trúc mạng 1D-CNN [10] ccscssccssesssessessesssessesssessecsesssessesssessessssseeses 18Hình 3.11 Cấu trúc mô hình Lenet-5 -c¿ 7cccc+ccvvverrrrrrverrrrrrrkeeree 20

Hinh 3.12 Tin 8i12ì0810i150569 6111 21 Hình 3.13 QRS Complex [ Ï [] - 6+2 333 **3E*E*EEEEEEEEeeEerererrrrkrrrreree 22

Hình 3.14 Ví dụ công NOT -.:- 2-56-9121 3E115112115212112112111111 11111111 c0 25Hình 3.15 Ví du công AND -.©c-52- St E1 E1 E12E1211211211211211211 211211111111 cye, 26Hình 3.16 Ví dụ công XNOR -¿- 2525222 E22212E121121121121121121121121121 1.1.1, 26Hình 3.17 Ví dụ công OR cho unipolar - 2-2 2 s+£+S£+£++£+££+EzE+zzzzzzzzzee 27Hình 3.18 Ví dụ công MUX ¿- 2522S22E22E12E12E12E121121121121122121121 2111 xe, 27Hình 3.19 Ví du bộ đếm song song [7] - 2: 2 2 2 £+E£+E++E2EE+E+zEzEezrezreee 28Hình 3.20 Ví dụ bộ đếm song song xấp xỉ [7] - 2-2 + s+£++x++x+zxzrzrszes 29Hình 3.21 Máy trạng thái của hàm Stanh [I2] - «+ «++s++eesseseeeresexs 30 Hình 3.22 Máy trạng thái của SExp [12] - 6 «+ Sky 30

Hình 4.1 Kiến trúc tổng quát của Lenet-5 -: ¿+2 ©++x++x++zx+zzxtzrxzzxez 31Hình 4.2 Bộ tạo chuỗi số ngẫu nhién eccecccescessessessessessessessessessessessessessesessessesees 33Hinh 601061101601 33

Hình 4.4 Kiến trúc phan cứng của lớp tích chập thứ nhất - 2-2 +: 35

Hình 4.5 Kiến trúc phần cứng của bộ MAC 2 5¿22+z+c+2zxvtrxerrsrrseees 36Hình 4.6 Kiến trúc phần cứng của lớp tích chập thứ hai :-5¿5+¿ 37

Trang 9

Hình 4.7 Kiến trúc phan cứng của lớp Pooling - 2 2 s2 s+++£++s++szzzzzxxzz 38

Hình 4.8 Mô tả trực quan sự tương tác giữa APC và BTanh [6] - - 39

Hinh 4.9 Thuat todn BT 010030 1-:›- 40

Hình 4.10 Bộ SuffleBox giúp tao số ngẫu MIEN eeccesesseeseesesesseseeseeseeseeseseesees 42 Hình 4.11 Kiến trúc phần cứng tổng quát của phát hiện QRS - 44

Hình 4.12 Kiến trúc của phan cứng có thé cấu hình - 2-2 z+sz+sz+sz+s++‡ 46 Hình 4.13 Kiến trúc phần cứng của khối MAC -. ¿-©¿©5+2c++2cxvszxccsez 48 Hình 4.14 Kiến trúc phần cứng của khối Btanh có thể cấu hình được 49

Hình 4.15 Lưu đồ của quá trình tìm seed 2-2 s+++E++E++EzEx+EzEzrerrerreee 50 Hình 4.16 Cách thức hoạt động của lớp phân loại truyền thống -. - 52

Hình 4.17 Cách thức hoạt động của lớp phân loại sau khi loại bỏ softmax 53

Hình 5.1 Bang mạch ZCU 1Ú/2 - ¿2262111131131 91013911 E930 991 19 vết 55 Hình 5.2 Quá trình kiêm thử mô hình 2-2 9S £££2EE2E+2EE+EE+E++E+zE+zEezzeez 56 Hình 5.3 Khối VIP được dùng dé kiểm tra AXI BUS -5¿-5¿552c5c2 59 Hình 5.4 Ví dụ về MNIST -5 - 552 HH T1 reeieg63 Hình 5.5 Hệ thống SoC cho FPGA -:- 2-52 252SE+EE£EE£EE2EE+EEEEEEEEzEerrerrerreee 66 Hình 5.6 Tàu nguyên hệ thống SoC trên FPGA cho kiến trúc Lenet-5 67

Hình 5.7 Mô tả chi tiết mức độ chiếm dung tài nguyên FPGA của kiến trúc Lenet-5 " ÖÖÐ-¬¬¬-.oòốa ố ố 68

Hình 5.8 Mô tả chỉ tiết năng lượng tiêu thụ của kiến trúc Lenet-5 trên FPGA 68

Hình 5.9 Mô tả phân bồ của kiến trúc Lenet-5 trên ZCU102 -. -2- 5:52 69 Hình 5.10 Tài nguyên hệ thống SoC trên FPGA dành cho phát hiện QRS 70

Hình 5.11 Mô tả chi tiết mức độ chiếm dụng tài nguyên FPGA của kiến trúc phát S89) S1 70

Hình 5.12 Năng lượng sử dụng của kiến trúc phát hiện QRS trên FPGA 70

Hình 5.13 Báo cáo về diện tích phần cứng của SC-Lenet5 -: 71

Hình 5.14 Báo cáo về năng lượng tiêu thụ của SC-Lenet-5 : -:- 72

Hình 5.15 Báo cáo về diện tích của phát hiện QRS - -ccSSs+seseresses 76 Hình 5.16 Báo cáo về năng lượng của kiến trúc phát hiện QRS 77

Trang 10

Hình 7.1 Waveform mô ta chu kỳ của quá trình Đọc dữ liệu - 86

Hình 7.2 Waveform mô tả số chu kỳ hoạt động của BTanh 2-2 5+: 86

Hình 7.3 Bộ Counter dùng dé đếm số lượng bit trong chuỗi -2- 2-5: 87

Hình 7.4 Số chu kỳ bộ Counter dùng dé đếm Bitstream - 2-2 252 5+: 87

Hình 7.5 Số chu kỳ của toàn bộ hệ thống - 2-2 2 £+++£++E++EzEzrzrerreee 87Hình 7.6 Số chu kỳ của lớp COnV- Ì cccecccscssssssessessessessesssssssssssssssssssssseesssssessesseesees 88Hình 7.7 Số chu kỳ của lớp Pool- -¿-¿- +¿©++2++2x++£E++£x++rx++rxezrxrzrxerrxee 88Hình 7.8 Số chu kỳ của lớp COIAV-2 ¿- 2 + ©s+SE+EE+EEEEESEE2EEEEEEEEEEEEEEEEEErrreree 88Hình 7.9 Số chu kỳ của lớp Pool-2 ccsscscsessesssessessessesssessessesssessecsusssessessusesessecssenses 89Hình 7.10 Số chu kỳ của lớp FC-1o.cecccscccscssesssesstessessecssessecsecssessecssessecsesauesseesecaseeses 89Hình 7.11 Số chu kỳ của lớp FFC-2 ¿ ¿- ¿2+ +2E+2E++EEt£E+2EEeEEvzEverxerxezrrerxee 89Hình 7.12 Số chu kỳ của lớp FC-3 cccccsccccsessesssessvsssessecssessessessssssessesssessessssssecseesseeses 90Hình 7.13 Số chu kỳ của quá trình tiên đoán .-. 2-22 ©£+£++£xzxezzxersez 90Hình 7.14 Số chu ky của quá trình truyền dữ liệu phát hiện QRS - 90

Trang 11

DANH MỤC BANG

Bang 3.1 Bang chi tiết kiến trúc Lenet-5 :- 2 2+5£+E+S££++E2EE+EEzEerrerrsree 20Bang 5.1 Bảng tài nguyên phần cứng ZCU 102 2 2 22 ++++E++E++£z£zzzez 55Bảng 5.2 Thể hiện số chu kỳ của từng lớp của Lenet-5 -¿ ¿- ¿5255522 61Bang 5.3 Thẻ hiện số chu kỳ của từng lớp của phát hiện QRS - 62Bang 5.4 So sánh kết quả giữa các phần cứng tính toán ngẫu nhiên 72Bảng 5.5 So sánh giữa kiến trúc SC và các kiến trúc Fix point được sử dụng trong

quá trình so sánh ở các bài báo về SC +: + + +++++E++E+E++EzEEzEzrerrerrerreee 73

Bảng 5.6 Kết quả của phát hiện QRS trên FPGA ZCU102 -2- 525522 76

Bảng 5.7 Thời gian thực thi của Lenef-5 - - c Sc xxx ngư 79 Bảng 5.8 Thời gian thực thi của phát hiện QRS - 2 S2 ssseseesek 79

Trang 12

DANH MỤC TU VIET TAT KLTN Khóa luận tốt nghiệp

GVHD Giảng viên hướng dẫn

SC Stochastic Computing

CNN Convolutional Neural Network LFSR Linear-feedback shift register SoC System on Chip

ASIC Application-specific integrated

circuit

FPGA | Field-programmable gate array

Trang 13

TÓM TẮT KHÓA LUẬN

Mạng nơ-ron tích chập (CNN) là một trong những mạng mô hình học sâu tiềm năng

và đầy hứa hẹn CNN đang trở thành một trong những mô hình hàng đầu được ứngdụng vào phân loại hoặc xác định vật thé CNN có mật độ tính toán toán cao chonhững đặc trưng đầu vào và sự liên kết giữa các nơ-ron Bên cạnh đó, việc tích hợpCNN vào các thiết bị nhúng IOT gọn nhẹ và các thiết bị deo tay đang trở nên phổbiến rộng rãi Các thiết bị này yêu cầu năng lượng tiêu thụ thấp và diện tích nhỏ

gon.

Bên cạnh các ứng dung về phân loại và xác định vật thể, CNN còn được ứngdụng vào các ứng dụng y sinh nhằm cải thiện độ hiệu quả trong chuẩn đoán bệnhsớm và từ đó có những trị liệu hiệu quả ở những giai đoạn đầu Các bệnh về timmạch đang được dan trở nên trẻ hóa do đó, việc có thé xác định các rối loạn về timmạch từ sớm sẽ mang lại hiệu qua chữa tri cao Các tín hiệu ECG đặc biệt là QRSđóng một vai trò quan trọng trong việc quan sát các hoạt động về tim

Phương pháp tính toán ngẫu nhiên được xem như một phương pháp hứa hẹn có

thé thay thé được các tính toán nhị phân với chi phi và năng lượng thấp Phươngpháp tập trung vào đơn giản hóa phan cứng của phép tính số hoc SC cho phép thựchiện các phần cứng số học vốn chiếm nhiều diện tích bằng việc sử dụng những phầncứng đơn giản hơn Phương pháp đạt được những hiệu quả về diện tích và nănglượng với một sự giảm độ chính xác có thê châp nhận được.

Trong khóa luận này, đề tài hiện thực phương pháp tính toán ngẫu nhiên dựa trênkiến trúc mạng Lenet-5 và một mô hình CNN dùng trong việc phát hiện QRS.Trong đó, đề tài đã được các mục tiêu đề ra trong khóa luận với diện tích và nănglượng của kiến trúc Lenet-5 trên ASIC lần lượt là 1.56 mm? và 0.56W Còn đối vớikiến trúc phần cứng của phát hiện QRS trên ASIC, diện tích phần cứng và nănglượng tiêu thụ lần lượt là 0.82 mm? và 0.49W Diện tích và năng lượng tiêu thụ đã

đạt được các tiêu chí mà đề tài đã đề ra Đối với FPGA, hệ thống SoC dành choLenet-5 sử dụng 73902 LUT và 73056 FF với năng lượng tiêu thụ chiếm 5.399W

Trang 14

Với hệ thống phát hiện QRS, thiết kế chiếm 26712 LUT và 57377 FFs với lượngđiện năng tiêu thụ chiếm 4.54W.

Ngoài diện tích và năng lượng tiêu thụ, phần cứng được thiết kế đạt được tần số

cho Lenet-5 là 540MHz và cho phát hiện QRS trên ASIC là 666MHz Đối với

FPGA thì cả hai mạch đều hoạt động ở tần số lần lượt là 250MHz đối với Lenet-5

và 257MHz đối với phát hiện QRS Đây là hai tần số khá cao đối với cả ASIC và

QRS, từ đó giúp cho hiệu năng của mạch có thé hoạt động một nhanh chóng đồngthời cải thiện nhược điêm của mạch.

Các phương pháp được đề xuất trong bài đã hoạt động đúng như chức năng của

nó giúp cải thiện về cả phần cứng và sai số của mô hình Các đề xuất cũng đã thểhiện sự hiệu quả qua các kết quả phần cứng thu được và cho thấy tiềm răng của

phương pháp tính toán ngẫu nhiên.

e Chương | Mở đầu

e Chương 2 Tổng quan

© Chương 3 Cơ sở lý thuyết

e_ Chương 4 Kiến trúc phan cứng

© Chương 5 Thử nghiệm và đánh giá kết qua

e Chương 6 Kết luận

e_ Chương 7 Hướng phát triển

Trang 15

Chương 1 MỞ DAU

1.1 Lí do chọn đề tài

Ngày nay các công nghệ máy học đang trở nên phát triển và được áp dụng vàonhiều khía cạnh của cuộc sống ví dụ tìm kiếm trang web, khuyến khích mua sắm và

lọc nội dung trên các trang mạng xã hội [1] Tuy nhiên, các kỹ thuật máy học ngày

nay bị giới hạn bởi khả năng tự động trích xuất các đặc trưng quan trọng mà phảithực hiện một công bởi các bộ trích xuất đặc trưng Do đó, phương pháp học sâu rađời với nhiều ưu điểm nổi bật nhờ tận dụng kiến trúc của các biểu diễn da mức déhọc được các đặc trưng phức tạp [1] Mỗi biểu diễn đa mức sẽ được tính toán thôngqua biến đổi từ mức trừu tượng thấp bởi những hàm phi tuyến tính đơn giản Họcsâu đóng vai trò đáng ké trong việc tăng cường khả năng học hỏi của máy hoc thôngqua học những dữ liệu từ những lớp này với những đặc trưng khác nhau mà không cân sự can thiệp của con người vào quá trình trích xuât đặc trưng [2].

Mạng nơ-ron tích chập là một trong những mạng trí tuệ nhân tạo đầy tiềm năng dựatrên học sâu và có thê được xem như là một cách tiếp cận cho hầu hết các ứng dụng

về nhận diện và phát hiện vật thé [2] DCNNs đã chứng minh được độ hiệu qua củaminh qua các ứng dụng về hiểu nội dung ảnh, phân loại anh, phân loại video và xácđịnh vật thể [2]

Tuy nhiên, bởi vì cấu trúc theo chiều sâu của nó, hiệu năng của mạng nơ-ron tích

chập phụ thuộc rất nhiều khả năng của tài nguyên phần cứng Những phần cứng này

có thể trải dài từ những máy chủ hiệu suất cao cho đến các vi xử lí đồ họa cho tới bộ

gia tốc khả năng tính toán song song được sử dụng rộng rãi từ học thuật cho tớicông nghiệp Hơn thế nữa, các bộ gia tốc CNN luôn được sự quan tâm lớn và đượcđầu tư rất lớn vào các nghiên cứu nhằm có thể cải thiện cũng như nâng cao hiệusuất của CNN Gần đây, việc nhúng các mô hình CNN vào những thiết bị nhúnggon nhẹ yêu cầu năng lượng cũng như mức độ tiêu thụ năng lượng thấp Vì lí do đó,

sự cấp thiết cho một thiết kế cũng như kỹ thuật có thé đảm bảo được tài nguyênphần cứng nhỏ gọn với một nguồn năng lượng thấp là thực sự cần thiết [3] [2]

Trang 16

Tính toán ngẫu nhiên (SC) là một mô hình tính toán mới có tiềm năng trong việcđáp ứng được những ràng buộc về diện tích và năng lượng Phương pháp này có thểthể đơn giản hóa những hiện thực phức tạp của các bộ tính toán số học Từ đó đơn

sẽ giảm đi diện tích cần thực hiện và kéo theo mức độ tiêu thụ năng lượng thấp [3].Phương pháp tinh toán ngẫu nhiên sử dụng một số xác suất được biểu diễn dướidạng một chuỗi bit Điều này giúp cho việc thực hiện các phép tính nhân hoặc cộngtrở nên đơn giản bằng các công AND và MUX Bởi vi ưu điểm này, nó có tiềmnăng trong việc ứng dụng kỹ thuật tính toán này vào các mô hình máy học và được

kỳ vọng có thê giảm đi điện năng tiêu thụ và diện tích phần cứng [3]

Dựa theo nghiên cứu của tô chức y tế thế giới (WHO), các bệnh tim mạch

(CVDs) đang dẫn đầu thé giới về tỉ lệ tử vong [4] Tỉ lệ mắc và tử vong của nhiềubệnh đang có tăng dần trong những năm gần đây và có xu hướng trẻ hóa qua từngnăm ECG là một yếu tô quyết định trong việc quan sát các chức năng của tim mạch

và xác định được các rối loạn nhịp tim bằng cách trích xuất các thông tin cần thiếtnhư QRS, khoảng thời gian RR, biên độ và hình dạng sóng [5] ECG phản ánh cáchoạt động điện của tim bao gồm các dạng sóng khác nhau biểu thị sự phân cực hoặckhử cực của tim Phức hợp QRS là một yếu tố quan trọng trong đó, phản ánh sự cobóp của tim Bởi vì hình dạng đặc biệt của nó, và thực tế là các sóng ECG thườngnhỏ do đó phức hợp QRS đóng một vai trò quan trọng trong việc cung cấp nhữngthông tin quan trọng nhất trong việc tự động xác định nhịp tim Ngoài ra phức hợpQRS được ứng dụng trong việc đo nhịp tim và xác định được rất nhiều bệnh tim

mạch khác nhau.

1.2 Mục đích

Đề tài được thực hiện với mục đích ứng dụng một giải pháp trong việc giảm di

lượng tài nguyên phần cứng trong quá trình hiện thực các mạng nơ-ron nhân tạo Việc giảm đi diện tích dẫn đến giảm đi mức tiêu thụ năng lượng từ đó đáp ứng được

các ràng buộc về mặt năng lượng đối với các thiết bị nhỏ gọn Các yếu tố về năng

lượng luôn là một van dé cap thiệt đôi với các nhà sản xuât các thiệt bị di động và

Trang 17

đeo tay bởi vì người dùng luôn đòi hỏi thời gian sử dụng đủ lâu mà vẫn đáp ứng

được độ nhỏ gọn của các thiết bị dẫn tới sự hạn chế về dung lượng pin Ngoài ra,việc giảm đi tài nguyên phần cứng còn có ích cho việc đủ không gian cho việc tích

hợp các chức năng khác nhưng vẫn đảm bảo được diện tích nhỏ gọn.

Các thiết bị đeo tay hoặc các thiết bị y tế nhỏ gọn được tích hợp máy học nhằm

nâng cao hiệu quả ngày càng phô biến rộng rãi vì nhu cầu giám sát sức khỏe cá

nhân tăng, đặc biệt là việc theo dõi sức khỏe tim mạch luôn được chú trọng bởi vì

số lượng người mắc và chết vì các bệnh về tim mạch luôn tăng qua từng năm Do

đó việc giảm đi kích thước các mô hình máy học sẽ có lợi trong việc tích hợp thêm nhiêu các mô hình máy học phục vụ cho những nhu câu khác nhau.

Hiện nay, việc ứng dụng phương pháp tính toán ngẫu nhiên vào các mô hình máy

học cho y sinh chưa từng có vì sự sụt giảm về độ chính xác của nó, do đó, đề tài còn

hướng đến việc đánh giá tiềm năng của phương pháp tính toán ngẫu nhiên ở trêncác mô hình y sinh Việc đánh giá được tiềm năng là cần thiết vì sẽ phát hiện đượcnhững ưu điểm cũng như nhược điểm Do đó sẽ thuận lợi cho việc phát các nghiêncứu trong tương lai nhăm cải thiện các yêu điêm hiện tại.

Tiềm năng của phương pháp tính toán ngẫu nhiên là rất lớn vì phương pháp nàycho phép hiện thực tính toán song song nhiều phép tính những vẫn đảm bảo đượclượng tài nguyên phần cứng nhỏ Đối với các mô hình máy học, việc sử dụng GPU

nhằm dé được hiệu quả về mặt tính toán nhưng đồng thời GPU luôn là một thiết bị

tiêu thụ năng lượng lớn đồng thời còn có diện tích lớn Phương pháp tính toán ngẫunhiên có thể đảm khả năng thực hiện song song nhưng vẫn đảm bảo được các yếu tốdiện tích và năng lượng.

1.3 Đối tượng và phạm vi nghiên cứu

Đề tài tập trung vào mô hình Lenet-5 dé ứng dụng phương pháp tính toán ngẫunhiên từ đó có thé so sánh và đánh giá với các nghiên cứu khác Ngoài ra đề tài còn

sử dụng một mô hình phát hiện QRS dé thử nghiệm phương pháp tính toán ngẫu

nhiên vào một ứng dụng y sinh nhằm phát hiện ưu nhược điểm của phương pháp

Trang 18

này vào các ứng dụng y sinh từ đó có thể cải thiện các nhược điểm này trong tươnglai Bang mạch có thé cấu hình được (FPGA) sẽ được sử dung dé đánh giá hiệu quảthực tế của cả hai mô hình Công cụ Synopsys Design Compiler được sử dụng vớimục đích tổng hợp thiết kế từ đó có được những kết quả về diện tích và năng lượngcũng như tần số của mạch Mô hình Lenet-5 sẽ được đánh giá trên tập dữ liệuMNIST và phát hiện QRS sẽ được đánh giá trên tập MIT-BIH.

Trang 19

Chuong 2 TONG QUAN

Chương 2 sé mô tả các hướng nghiên cứu về SC trên thé giới cũng như đánh giá

về các nghiên cứu đã được thực hiện ngày nay Những điều này sẽ giúp có nhữngcái nhìn tổng quan hơn về đề tài cũng như những cải tiến đã giúp cho việc tối ưu vềdiện tích và năng lượng.

2.1 Các hướng nghiên cứu hiện nay và đánh giá

Hiện nay, trên thế giới đã có nhiều nghiên cứu về phương pháp tính toán ngẫunhiên Những nghiên cứu này đã được cho thấy cũng như chứng minh được độ hiệuquả của về mặt diện tích cũng như mức tiêu thụ năng lượng của mô hình khi ápdụng phương pháp Việc này cho thấy cũng kết quả tích cực và thé hiện rõ tiềm

năng của nó Các nghiên cứu luôn hướng tới việc đạt được các diện tích nhỏ gọn

nhất đồng thời vẫn giữ được độ chính xác ở mức tốt so với các hiện thực thông

thường.

Các tác giả [6] đã dé xuất một giải thuật cho hàm kích hoạt, loại bỏ đi các phéptính chia và mũ trong hàm tanh và thay thế bằng một máy trang thái (FSM) Việcnày giúp loại bỏ đi phép tính chia cũng như hàm mũ giúp đạt được diện tích nhỏgọn hơn so với các hiện thực tanh trên phần cứng Các tác giả [2] đã đề đưa ra mộtgiải thuật về hàm kích hoạt của ReLU mới dựa trên phương pháp hàm kích hoạt củatanh đã được đề xuất bởi tác giả [6] Tuy nhiên, [6] đã chứng minh về sự ảnh hưởngcủa giá trị gần 0 sẽ có giá trị sai lệch lớn hơn so với các giá trị nằm xa giá trị 0 [7]

đã đề xuất một phương pháp sử mới cho việc tính toán phép cộng bằng việc sử dụngmột bộ đếm song song (APC), thay thế cho phép tính cộng bằng cổng OR hoặccông MUX [2] cũng đã đưa ra những phép đo thể hiện ưu điểm của bộ APC trongviệc tăng số lượng đầu vào cho bộ APC cũng giúp giảm đi sộ sai lệch của nó, mở rakhả năng tính toán song song một cách tối ưu nhất Các nghiên cứu này đã tạo ranhiều tiền đề cho việc cải tiến các mạch tính toán sau này, và mang lại nhiều giá trịtrong việc tôi ưu các mạch tính toán cua SC.

Trang 20

Bên cạnh những ý tưởng cải tiến về các mạch cho các phép tính cũng như hàmkích hoạt Việc tối ưu bộ tạo số ngẫu nhiên trong cách thiết kế sử dụng phươngpháp tính toán ngẫu nhiên là thật sự sự cần thiết dé có thé dam bảo được độ chínhxác cao [8] đã đề suất một phương pháp cải tiến bộ tạo số ngẫu nhiên sử dụngLinear Feedback Shift Register (LESR) bằng một phương pháp low-disperency giúpchuỗi số đầu ra trở nên ngẫu nhiên hơn từ đó đạt được mức độ chính xác cao hơn.

Tuy nhiên, mặc dù giải pháp đề xuất đã chứng minh được ưu điểm của nó về mặc

chính xác nhưng vẫn có nhược điểm là yêu cầu nhiều LFSR hơn và cần nhiều mạch

tổ hợp hơn trong quá trình tạo ngẫu nhiên Dẫn đến mật độ diện tích so với LFSRtruyền thống cao hơn Ngoài ra có một trong những ý tưởng có thé nghĩ đến đóchính là sử dụng dung một bộ LFSR cho việc tạo ra nhiều chuỗi ngẫu nhiên khácnhau Tuy nhiên, yếu tố này cũng mang đến những nhược điểm đó là sẽ giảm đi độ

chính xác của mỗi phép tính do tính tương quan chéo (cross-correlation) và có thé

ảnh hưởng xa hơn khi đi qua nhiều phép tính ở những bước sau Do đó, cần phải sửdụng một vài bộ tô hợp nhỏ dé có thé giảm đi tính tương quan chéo từ đó giúp cảithiện đi nhược điểm của việc chia sẽ LFSR

Các mạch SC có ưu điểm trong việc khai thác khả năng tính song song rất lớn vàphù hợp với các ứng dụng sử dụng nhiều phép tính song song, do đó rất phù hợpcác mô hình CNN Từ đó đã dẫn đến nhiều nghiên cứu khai thác khía cạnh này của

SC, và các thiết kế sử dụng song song hoàn toàn các phép tính trong mô hình CNN

đã được ra đời nhưng vẫn đảm bảo được tính hiệu quả của nó về mặt diện tích cũngnhư năng lượng.

Ngoài những điều trên, một cách tiếp cận giảm đi năng lượng là giảm đi tần số

hoạt động của mạch Điều này là không nên bởi vì tần số hoạt động cao sẽ khiến

hiệu suất mô hình được nâng cao và nhanh chóng, việc giảm tần số là không cầnthiết và có thể khiến người dùng quan ngại về khả năng xử lý của mạch Do đó, một

thiết kế SC cần nên có tần số cao, diện tích và năng lượng thấp Việc đạt được cả ba

tiêu chí luôn là một điêu khó khăn, vì vậy sẽ cân một thiệt kê có tính hiệu quả mà có

Trang 21

thé đáp ứng được cả ba tiêu chí đề ra, đặc biệt là ở diện tích và năng lượng vì đâyvốn là hai ưu điểm của phương pháp tính toán ngẫu nhiên.

2.2 Những nội dung đề tài tập trung

Từ những đánh giá ở mục 2.1, dé tài sẽ tập trung vào việc khai thác điểm mạnh của

SC ở khả năng song song Đồng thời, đề xuất một phương pháp chia sẽ các bộLFSR đơn giản, đồng thời cải thiện được độ chính xác của mạch Một bộ thuật toán

dé tìm seed cho LFSR đơn giản nhằm tìm được chuỗi seed phù hợp dé đưa vào các

bộ LESR như một phương pháp tìm ra seed phù hợp.

Hiện nay, các mô hình SC đa số vẫn được kiểm chứng trên kiến trúc Lenet-5, đềtài sẽ khai thác một khía cạnh ứng dụng của nó vào một mô hình CNN dành cho ysinh nhằm đánh giá độ mức độ tiềm năng của SC khi được áp dụng vào các ứngdụng sinh học Điều này sẽ giúp việc đưa các mô hình máy học dành cho giám sátsức khỏe lên các thiết bị cầm tay dé dang hơn nhưng vẫn giữ được độ chính xác cần

thiết của nó

Ngoài những cải tiễn vào độ chính xác của mô hình cũng như tiềm năng của mô

hình Đề tài còn hướng đến việc đưa ra hai kiến trúc phần cứng khác nhau để thé

hiện rõ tác dụng của khả năng song song ở phương pháp tính toán ngẫu nhiên đốivới các mô hình CNN Và lợi ích của phương pháp này trong việc giảm di tainguyên phan cứng mà không cần thông qua việc chia sẻ các bộ LFSR

Ngoài những sự tập trung vào phương pháp tính toán ngẫu nhiên, đề tài còn chútrọng vào cách thức thiết kế phần cứng nhằm tối ưu thời gian thiết kế thông qua việctăng khả năng tái sử dụng kiến trúc nhằm giảm thời gian hiện thực các kiến trúctương tự và tăng tốc thời gian kiểm thử thiết kế

Trang 22

Chương 3 CƠ SỞ LÝ THUYET

3.1 Mạng nơ ron tích chập là gì

Mạng nơ-ron tích chập là một mô hình học sâu mà quá trình xử lý dữ liệu đượcthực hiện theo dạng lưới, ví dụ như các bức ảnh và lấy ý tưởng dựa trên cấu trúc vỏ

não thị giác của động vật CNN được thiết kế sao cho quá trình học một cách tự

động và thích ứng với cấu trúc đa tầng của các đặc trưng theo mức độ từ thấp tớicao CNN là một cấu trúc toán học bao gồm 3 lớp: lớp tích chập (convolution), lớpgop (pooling), và lớp kết nối toàn bộ (fully-connected) Trong đó, quá trình tríchxuất các đặc trưng của dữ liệu được thực hiện ở hai lớp đầu tiên và lớp còn lại sẽthực hiện quá trình kết nối các đặc trưng đã được trích xuất ở hai lớp trước đó thànhmột đầu ra hoàn chỉnh chăng hạn như phân loại Trong một mô hình CNN, lớp tíchchập đóng một vai trò cực kì quan trọng: trong lớp này bao gồm nhiều quá trình tínhtoán Ở bên trong một bức ảnh số, các giá trị pixel được lưu trữ trong một mảng haichiều các số đại diện cho mỗi giá trị pixel Bên cạnh đó còn có một mảng có kíchthước nhỏ hơn gọi là kernel và mảng này được xem như một máy trích xuất đặctrưng có thé được tối ưu và được áp dụng vào mỗi bị trí của ảnh, điều này làm choCNN cực kỳ hiệu quả cho các ứng dụng về xử lý ảnh bởi vì các đặc trưng này cóthé ở bat cứu đâu trong ảnh Đồng thời, đầu ra của mỗi lớp sẽ trở thành đầu vào củalớp kế tiếp sẽ khiến cau trúc tầng của các đặc trưng đã được trích xuất có thé trở nênphức tạp Quá trình học tập của các mô hình CNN sẽ thông qua việc tối ưu các tham

số như kernels để giảm đi sự khác biệt giữa các đầu và và giá trị đã gán nhãn thông

qua một thuận toán gọi và backpropagation và những mô hình khác [9].

Ngoài sự phổ biến trong việc sử dung CNN trong các ứng dụng sử lý ảnh, mangCNN còn được sử dụng trong các ứng dụng y sinh, cụ thể trong KLTN là phát hiệnQRS Ứng dụng CNN vào việc phát hiện giúp phân loại nhanh chóng đồng thời cóhiệu quả cao hơn giúp giảm thời gian chuẩn đoán bệnh, tăng hiệu quả khám chữabệnh cũng như phát hiện bệnh sớm để có được những lược đồ điều trị phù hợp với

người bệnh.

10

Trang 23

3.2 Cấu trúc mạng nơ-ron tích chập

Hình 3.1 mô tả cau trúc của một mạng gồm các lớp trong đó sẽ bao gồm

những lớp cơ bản nhất như lớp convolution, lớp pooling và lớp fully-connected

Một kiến trúc cơ bản sẽ bao gồm sự lặp lại của những lớp cơ bản này, và sau cùng

sẽ là các lớp kết nối toàn bộ Quá trình trích xuất đặc trưng từ ảnh đầu vào thông

qua các lớp này gọi là forward propagation.

CNN

=>.

Forward propagation

| — Bế

Max Pooling Max Pooling

Convolution + ReLU Convolution + ReLU

Back propagation Update

Hình 3.1 Cấu trúc của mạng nơ-ron tích chập [9]

3.2.1 Lớp tích chập

Lớp tích chập là một trong những lớp thiết yếu trong một kiến trúc mạng CNNdùng dé thực hiện quá trình trích xuất đặc trưng Quá trình này sẽ thông qua một tổhợp các phép tuyến tính và phi tuyến tính hoặc có thé nói là sự kết hợp giữa các lớp

tích chập và các hàm kích hoạt và đầu ra là đặc trưng đã được trích xuất

3.2.2 Tích chập

Tính chập là một phép tính tuyến tính được sử dụng trong quá trình trích xuất đặctrưng Mảng giá trị kernel sẽ được ứng dụng vào các mảng giá trị đầu vào hay còn

gọi là tensor Các giá trị tương ứng ở mỗi điểm sẽ được nhân lại với nhau, sau đó

cộng các giá trị đã được nhân lại để ra được kết quả cuối cùng tương ứng với giá trị

dau ra của tensor; các giá tri dau ra của tensor nay được gọi là một feature map (ảnh

11

Trang 24

đặc trưng) Hình 3.2 giúp mô tả quá trình tích chập được thực hiện một cách trựcquan Quá trình này sẽ được lặp đi lặp lại nhiều lần với các kernel dé tạo thành cácfeature map tùy ý Cac feature map sẽ đại dieenjc ác đặc trưng khác nhau của tensorđầu vào Việc các kernels khác nhau tạo ra những đặc trưng khác nhau Nhờ vàotính chất này, các kernels có thể được xem như là các bộ trích xuất đặc Có hai siêutham số (hyperparameter) quan trọng và thường được dùng dé định nghĩa quá trình

trình tích chập là kích thước và số lượng của kernels Có hai dạng kích thước

thường hay được sử dụng là 3x3 với dài và rộng của kernel đều là 3, tuy nhiên, kích

thước này đôi khi có thể là 5x5 hoặc là 7x7, việc chọn kernel sẽ phụ thuộc vào môhình cũng như ứng dụng dé mang lại kết quả chính xác nhất Số lượng kernel là tùy

ý, VIỆC Các nhiều kernel sẽ trích xuất được nhiều đặc trưng và từ đó sẽ đạt được độ

chính xác cao nhưng cũng làm cho mô hình mạng trở nên phức tạp hơn cũng như

tiêu tốn nhiều thời gian trong quá trình huan luyện mô hình [9]

Trang 25

ở ngoài các cạnh của tensor để khi áp vào một kernel thì giá trị đầu ra sẽ ngay ởtrung tâm của kernel Padding sẽ giữ nguyên kích thước giữa đầu vào và đầu ra củatensor trong suốt quá trình tích chập Trong những mô hình CNN hiện đại ngày nay,người ta thường sử dụng zero padding nhằm dé bảo toàn kích thước của dé áp vàonhững lớp tích chập tiếp theo.

3.2.3 Hàm kích hoạt

Đầu ra của phép tính tuyến tích chăng hạn như tích chập được đưa qua các hàm

phi tuyến tính Trước đâu có hai loại hàm tuyến tuyến tính được sử dụng rộng rãi làsigmoid hoặc hyperbolic tangent (tanh) function lần lượt được biểu diễn ở Hình 3.4

và Hình 3.5 và có thé được xem như một cách biểu diễn toán học của các hành vicủa các neuron Tuy nhiên, trong các mô hình máy học hiện đại ngày nay, hàmReLU được mô tả ở Hình 3.3 được sử dụng rộng rãi và gần như trong hầu hết các

mô hình mạng bởi vì ưu diém của nó trong việc training nhanh cũng như độ phứctạp trong tính toán cũng giảm đi.

Hình 3.3 Hàm ReLU

Sigmoid Function

10 08

06

fx)

04 02 60

Hình 3.4 Hàm sigmoid

13

Trang 26

Lớp pooling là một phép tinh downsampling điển hình, bằng cách làm giảm đikích thước chiều của các feature map đầu vào dé làm giảm đi những chuyên dichnhở từ đó giữ được tính bat biến của các đặc trưng và biến dạng của đầu vào Bên

cạnh đó, nó lớp pooling còn được sử dụng như phương thức giúp giảm đi dộ phức

tạp tính toán, từ đó giảm đi lượng tham số của mô hình Ở lớp pooling vẫn có cáctham số như kernel size, stride Kích thước của kernel window sẽ quyết định kíchthước của đầu ra của các feature map Bên cạnh đó, stride cũng thường được dùng

để làm giảm đi kích thước cũng như đây nhanh quá trình pooling Trong lớp

pooling có hai phương thức được sử dụng phố biến là avarage pooling và max

pooling.

3.2.4.1 Max Pooling

Max pooling là phương pháp được sử dụng rộng rãi và phổ biến nhất trong

các mô hình máy học hiện đại ngày nay Max pooling được thực hiện băng cách tìm

ra giá trị lớn trong kernel và sau đó giá trị lớn nhất sẽ được gán vào feature map đầu

ra Hình 3.6 mô tả cách thức hoạt động của max pooling [9] Ngoài ra, max pooling

rất có ưu điểm trong việc chống nhiễu của các feature map đầu vào hoặc các bứcảnh đầu vào Bằng cách lấy giá trị lớn nhất, max pooling tập trung vào các giá trịđặc trưng có tính hiện diện cao và loại bỏ đi những đặc trưng không cần thiết Ngoài

ra, max pooling còn được sử dụng phần lớn ngày nay chính là do thời gian thựchiện huân luyện trên các mô hình sử dụng max pooling được rút gọn đáng kê so với

14

Trang 27

avarage pooling, từ đó giảm đi độ phức tạp của mô hình Max pooling còn có lợi thếcực lớn đối với hiện thực phần cứng do phép tính đơn giản giúp giảm đi tài nguyênphân cứng hiệu quả.

3.2.4.2 Avarage Pooling

Ngoài max pooling, còn có một phương pháp cũng thường được sử dung là avarage pooling được mô tả ở Hình 3.7 Average Pooling sẽ tính giá trị trung bình

cộng trên mỗi kernel window, sau đó, giá trị trung bình cộng sẽ được gán vào

output feature map Điều này Khác với Max pooling chỉ tập trung vào các đặc

trưng mạnh, Average Pooling vẫn đảm được các đặc trưng Hàm average pooling

được sử dụng chủ yếu trước các lớp kết nối toàn bộ Nhược điểm của averagepooling so với max pooling là nó sẽ làm mượt các cạnh do đó sẽ khó khăn trongtrích xuất các đặc trưng cạnh

Average(3, 4, 1, 2} = 2.5

Hình 3.7 Avarage Pooling Operation

15

Trang 28

3.2.5 Lớp kết nối toàn bộ - Fully-Connected Layer

Các feature map đầu ra sau lớp tích chập và lớp pooling thường sẽ được làm

phang đề chuyền từ mang 3 chiều (3-D) sang mang một chiều (1-D) và sẽ được kếtnối với một hoặc nhiều lớp kết nối toàn bộ, hay còn được biết đến là Dense layers.Trong lớp này, mỗi giá trị đầu vào sẽ được kết nối toàn bộ với các giá trị đầu rabằng một giá trị weight Khi mỗi đặc trưng được trích xuất bởi các lớp tích chập vàđược lây mẫu xuống bởi các pooling layer được tạo ra, chúng được kết nối bởi môtnhóm các lớp tích chập đến các giá trị đầu ra của mạng Chắng hạn như xác suấtcho mỗi lớp đối với các nhiệm vụ về phân loại Lớp kết nối toàn bộ cuối cùng sẽ có

cùng số giá trị tương đương với số lớp Mỗi lớp kết nối toàn bộ sẽ được theo bởi

một hàm kích hoạt chang hạn như ReLU tương tự như lớp tích chập Hình 3.8 mô tảmột cách trực quan cách hoạt động của lớp fully-connected Layer Như có thé thấy,giá trị của output layer sẽ tương ứng với số lượng nhãn Lớp fully-connected cuốicùng kết hop với một hàm softmax thường sẽ được gọi là lớp phân loại -

Hình 3.8 Fully-Connected Layer

16

Trang 29

3.2.6 Lớp phân loại — Classification Layer

Day là một lớp quan trong dùng dé xác định nhãn và đưa ra dự đoán Việc dựđoán sẽ được xác định dựa trên xác suất của mỗi node trong vector ở lớp cuối, node

mang xác suất lớn nhất sẽ được làm dự đoán như đầu ra của mô hình Trong đó,khác với các lớp kết nối toàn bộ sử dụng các hàm kích hoạt là ReLU hoặc tanh,

Lớp cuối cùng của mô hình sẽ sử dụng hàm softmax dé thực hiện tính các giá trịtrong vector thành một mảng xác suất thê hiện cho mỗi nhãn Xác suất càng cao thểhiện mức độ tin cậy của môi nhãn.

Hình 3.9 giúp trực quan hóa cách hoạt động của lớp Classificaion để có thé đưa

ra các giá trị xác suất cho từng nhãn như đã mô tả ở đoạn văn trên Trong hình cũng

mô tả công thức của hàm softmax được sử dụng để tính toán giá trị xác suất Hàmsoftmax thé hiện vai trò cực ki quan trọng nhằm dé đưa ra dự đoán của mô hìnhmáy học.

3.3 Giới thiệu về 1-D CNN

Thông thường CNN được biết đến với việc sử dụng dé xử lý ảnh nên các mô hình

CNN hiện nay thường sẽ được coi như là 2D-CNN, tuy nhiên, CNN còn có một

phiên bản khác đã được phát triển giúp xử lý các dữ liệu có 1 chiều và đặc biệt là

17

Trang 30

hữu ích với việc xử lý tín như ECG như được mô tả ở Hình 3.10 Những nghiên cứu

đã được thực hiện trên 1D-CNN đã chỉ ra rằng có những ứng dụng nhất định mà1D-CNN có thé mang lại hiệu quả hơn khi thực hiện trên các tập dữ liệu tín hiệu 1chiều bởi vì các lí do sau đây [10]:

24x1 24x1

Output

e_ Có sự khác biệt đáng kê trong sự phức tạp tính toán của các phép tính tích

chập giữa 1D va 2D ví dụ, một bức anh với N * N chiều tích chập với một

kernel có kích thước K * Ksẽ có độ phức tap tính toán xap xi O(N?K?) trongkhi đó một phép tích chập tương đương trên 1D (với cùng kích thước N vaK) sẽ là N xK Điều này có nghĩa là đưới cùng một cấu hình tương đương

giữa kích mạng và siêu tham SỐ, độ phức tạp tính toán của 1D-CNN sẽ nhỏ

hon đáng ké so với 2D-CNN [10]

e Theo những quan sát của Serkan và các cộng sự [10] trên các nghiên cứu về

những ứng dụng của ID-CNN, và cho thấy rang các ứng dụng này thường cócấu kính vừa phải và khá khiêm tốn với khoảng từ 1 đến 2 lớp tương đươngvới Lenet-5 với số lượng tham số nhỏ hơn 10 nghìn trong khi đó hau hết các

18

Trang 31

ứng dụng 2D-CNN đều sử dụng cấu trúc "sâu" với nhiều hơn 1 triệu tham số

và các mô hình hiện đại ngày nay thường sẽ có nhiều hon 10 triệu tham số

Do có, có thé dé dàng nhận ra rang các cau trúc mạng của 1D-CNN dễ dànghơn trong việc huấn luyện và hiện thực [10]

e Việc đào tạo mạng học sâu 2D-CNN luôn luôn yêu cầu những phần cứng đặc

biệt như GPU Mặt khác, bất kỳ việc triển khai CPU nào trên một máy tínhtiêu chuẩn đều khả thi và tương đối nhanh để đào tạo các CNN 1D nhỏ gọnvới số lượng lớp ít hơn (ví dụ: 2 hoặc ít hơn) và nơ-ron (ví dụ: < 50) [10]

e©_ Bởi vì mật độ tính toán yêu cầu thấp, các 1D-CNN nhỏ gon phù hợp cho các

ứng dụng thời gian thực với chi phí thấp đặc biệt là các thiết bị di động vàthiết bị cam tay [10]

3.4 Kiến trúc mạng Lenet-5

Mang Lenet-5 là một cau trúc mạng no-ron tích chập sớm nhất trên thế giới

được đề suất bởi LeCun, và có thé được xem như là một mô hình mạng đơn giản

Mạng tích chập là một dạng mạng no-ron feed-forward mà mỗi nơ-ron có thé phanhồi đến các cells xung quanh nó ở một mức độ bao quát và có thé thực hiện tốt cácứng dụng xử lý ảnh quy mô lớn Mạng Lenet-5 thường được sử dụng cũng nhưđánh giá các ứng dụng về phát hiện chữ số viết tay và có thể đảm bảo mức độ chínhxác cao Mặc dù Lenet-5 nhỏ nhưng nó vẫn đảm bảo những cấu trúc cơ bản của một

mạng nơ-ron tích chập.

Hình 3.11 mô tả cau trúc mạng của kiến trúc Lenet-5 Trong đó, giá trị ảnhđầu vào là 32 + 32 đã được padding, sẽ được qua 1 cặp gồm lớp tích chập va lớp

pooling sau đó sẽ được làm phăng va đưa vào lớp fully-connected Lớp kết nối toàn

bộ cuối cùng sẽ có 10 node đại diện cho các nhãn đánh dấu từ 1 đến 9 Bang 3.1 mô

ta chi tiết kiến trúc Lenet-5 được sử dung trong khóa luận; lớp pooling được sử

dụng sẽ là max pooling và hàm kích hoạt là tanh.

19

Trang 32

| Full condection | Gaussian connections

Convolutions Subsampling Convolutions Subsampling Full connection

Hình 3.11 Cấu trúc mô hình Lenet-5

Lớp Feature Size Kernel Stride | Activation

Bang 3.1 Bang chi tiết kiến trúc Lenet-5

3.5 Khai quat ECG va QRS complex

Electrocardiogram (ECG) là một trong những tín hiệu sinh ly được ghi nhận

thường xuyên nhất và là thành phan quan trọng của tat cả các phân tích chan đoán

liên quan đến tình trạng tim Tín hiệu ECG bao gồm báo cáo về hoạt động điện của

20

Trang 33

tim Tín hiệu ECG có dạng đều đặn (như trong Hình 3.12) được tạo ra ở mỗi nhịpđập của tim.

RR interval (distance between R-waves)

PP interval (distance between P-waves)

J-60 point: measurement of ST-segment

depression in exercise stress testing.

<0,12 s

ST segment depression in most instances.

QT duration The reference level for measuring ST-segment Corrected QT duration men: < 0,45 s deviation (depression or elevation) is not the Corrected QT duration women: < 0,47 s TP interval The correct reference level is the

PR segment This level is also called baseline level or isoelectric level.

Hình 3.12 Tin hiệu sóng ECG

Trong số rất nhiều dấu hiệu hình thái của điện tâm đồ, phức bộ QRS (QRScomplex) và đỉnh R được mô tả ở Hình 3.13 là hữu ích nhất trong việc phát hiện rốiloạn nhịp tim và các phép đo chức năng tim khác Tần số của đỉnh R liên quan đếntốc độ bơm của tim (nhịp mỗi phút) Nó có thể dao động từ 60 đến 100 bpm trong

điều kiện bình thường của con người Phức bộ QRS cung cấp thông tin quan trọng

như sự thay đổi nhịp tim và phân loại chu kỳ tim

Rối loạn nhịp tim là sự bất thường liên quan đến nhịp tim Một thay đổi nhỏ trong

điều này có thé dẫn đến các van đề nghiêm trong Dé chan đoán bệnh tim, cần phải

xem điện tâm đồ để biết sự hiện diện của các dấu hiệu bất thường như nhịp timkhông đều, độ rộng QRS thay déi, Tim có thé đập quá nhanh (nhip tim nhanh),hoặc quá chậm (nhịp tim chậm) Phạm vi điển hình cho nhịp tim bình thường là 60đến 100 nhịp mỗi phút Nếu nhịp tim ở người lớn đưới 60 nhịp mỗi phút được coi lànhịp tim chậm Nếu nhịp tim ở người lớn hơn 100 nhịp mỗi phút được gọi là nhịp

21

Trang 34

tim nhanh Xác định nhịp tim bằng cách kiểm tra khoảng R-R để xác định các hộichứng rối loạn nhịp tim.

e Heart Rate (HR, bpm) = 60/RR interval in sec.

e Phạm vi HR bình thường: 60 — 100 bpm.

e Nhip chậm (Bradycardia) ở người trưởng thành: HR < 60 bpm.

e Nhip nhanh (Tachycardia) ở người trưởng thành: HR >100 bpm.

3.6 Giới thiệu về phương pháp tinh toán ngẫu nhiên

Nguyên lí tính toán số học ngẫu nhiên đã được biết trong nhiều năm Nguồn động

lực cho việc nghiên cứu phương pháp tính toán sử dụng ngẫu nhiên là đơn giản hóa

các phan tử tính toán Những người tiên phong trong lĩnh vực học máy luôn đối mặtvới những thách thức trong lúc hiện thực phần cứng bởi vì độ phức tạp tính toán củacác mô hình máy học cao dẫn tới cần nhiều bộ tính toán do đó sẽ dẫn đến diện tích

lớn, và năng lượng tiêu thụ cao Vì vậy, các phép tính toán ngẫu nhiên cho phép

thực hiện những tính toán phức tạp này với một phần cứng đơn giản hơn Nhữngcông nghệ hiện đại ngày nay cho phép thực hiện hàng triệu phần tử tính toán với chi

22

Trang 35

phí cực kỳ thấp Trong khi điều này có thể làm cho việc xử lý ngẫu nhiên không cònphù hợp nữa, có một nhóm các hệ thống đòi hỏi số lượng gần như không giới hạncác phần tử xử lý và được chuẩn bị như một sự đánh đổi độ chính xác của các thànhphần riêng lẻ Các mạng neuron (Neural Network) là một hệ thống tính toán songsong cực kỳ lớn mà có thê tận dụng công nghệ này cho phép hiện thực một lượnglớn các phép tính toán mà chỉ sử dụng một mạch tích hợp Không giống như các

phần tử tính toán truyền thống như vi xử lý, các mô hình neuron nhất định được đặc

trưng bởi dung sai cho các tính toán riêng lẻ ít chính xác hon Các phép tính toán

ngẫu nhiên có thể được thực hiện bởi các phần tử tính toán nhỏ và có thé tươngthích với các thiết kế VLSI và cả công nghệ sản xuất hiện đại [12]

Những phép tính ngẫu nhiên mang lại những lợi ích hơn những kỹ thuật tính toán

khác:

e Mật độ diện tích phan cứng thấp

e Dung sai lỗi.

© Giao tiếp đơn giản thông qua một dây cho mỗi tín hiệu

e _ Hiện thực phần cứng đơn giản cho phép tan số cao

e Khả năng đánh đôi giữa thời gian tính toán và độ chính xác với diện tích

phần cứng thấp

Mặc dù có những lợi ích tuyệt vời, nhưng phương pháp này cũng đi kèm nhữngnhược điểm chăng hạn như phương sai có hữu trong việc ước tính giá tri của tínhiệu ngẫu nhiên và số chu kỳ xung nhịp tăng lên cần thiết để thực hiện một tính

toán nhất định Tiềm năng lớn trong việc thực hiện khả năng tính toán song song bởi vì diện tích mạch nhỏ có thé loại bỏ đi những bat cập này Tuy nhiên, vẫn còn

một điều quan trọng nữa là phương pháp tính toán ngẫu nhiên không sử dụng hệ

thống số như tính toán nhị phân, định dạng tín hiệu trong các phép tính toán ngẫu

nhiên rất khỏe đối với nhiễu hoặc các lỗi đơn bit và độ phức tạp phần cứng của tínhtoán ngẫu nhiên thường thấp Và cũng không như nhị phân, độ chính xác có thé

23

Trang 36

được điều khiên bằng cách sử dụng chiều thời gian Và cơ chế pipeline cũng có thểđược áp dung dé dàng dé có thể tối da được tần số của hệ thống [12].

3.6.1 Dinh dang của phương pháp tính toán ngẫu nhiên

Trong tính toán ngẫu nhiên có vài định dạng cho bitstream tuy như Unipolar (Đơn

cực), Bipolar(Đa cuc),Likelihood Ratio (LR) và Log Likelihood Ratio (LLR) Tuynhiên, trong đó có hai dang được sử dung nhiều nhất là Unipolar va Bipolar

3.6.1.1 Định dang Unipolar

Cho một số thực không âm gọi là $x$ và một tham số dương M, cho rằng như 0 <

x < M, sô ngau nhiên X sẽ được gọi là unipolar nêu x = Mp,

Dinh dang don cực ánh xạ một cách trực tiếp từ số thực Sang số stochastic Cácphép tính đơn cực định dạng dé dé phân tích vì có một ánh xa tỷ lệ đơn giản giữa sốthực và xác suất chuỗi Trong một số ứng dụng, sẽ thuận tiện hơn khi sử dụng hệ số

ty lệ đơn vị (M = 1), sao cho tat cả các giá trị được giới han trong miễn từ 0 đến 1

Một hạn chế đối với định dang unipolar là nó nghiêm cắm các số thực âm Điềunày thúc đây những nghiên cứu và định dạng Bipolar ra đời để loại bỏ đi hạn chếnày của định dạng đơn cực.

3.6.1.2 Dinh dang Bipolar

Cho một số thực x và một tham số dương M, cho rằng —M < x < M số ngẫu nhiên

X được gọi là bipolar néu x = M(2p, — 1) và tương đương với py = 0.5(1 + 9)

Mot vi du don gian cua thé đơn cực như sau, có một chuỗi $X = 011000$ có xác

AK 2 so ca +2 v2 TA h sử Q2 Ũ `

suat p, = z Gia sử răng giá trị tỉ lệ M = 1, ta có được giá tri thực tương ứng là x =

2 () -1=- > Chúng ta có thể ánh xạ được giá của chuỗi nhị phân thành chuỗi bipolar tương ứng là -1, +1, +1, -1, -1, -1 có trung bình là _: = —s:

24

Trang 37

3.6.2 Cac phép tính số học ngẫu nhiên

Phương pháp tính toán ngẫu nhiên có thể giảm đi phần lớn tài nguyên phần

cứng khi thực hiện các phép tính cộng, trừ, nhân, và cũng đã có những nghiên

cứu áp dụng tính toán ngẫu nhiên vào hiện thực các hàm tanh và sigmoid Chúng ta

sẽ xem xét một vài công cũng như luận lý đã được hiện thực trong các phép tính

ngẫu nhiên.

3.6.2.1 NOT

Chức năng của công NOT là đảo bit, do đó, các bit trong chuỗi bitstream sé đượcđảo, từ đó, ta có thé suy ra được mối quan hệ giữa xác suất của chuỗi đầu ra chuỗiđầu vào va được biéu diễn Nhưng có hai định dạng của số stochastic, vì vậy, hành

vi của cổng NOT cũng sẽ có những khác biệt ở mỗi định dạng

Khi ở định dang unipolar, công thức của công NOT sẽ được biểu diễn như sau

Do = M — px với M là scale unit Đối với khi thực hiện ở dang bipolar thì biểu thức

của cong NOT sé đơn giản là đổi dau của giá trị x Po = —Px Hình 3.14 giúp mô tảcách thức hoạt động của công NOT trong một phép tính ngẫu nhiên ở thé đơn cực,

ta có thê thay rằng kết ø„ = : sau khi đi qua công not giá trị Po =1- : =

A A ^ Z An aaa Vey 2 +LÄ ;hÁ«, US he 1.

đê thực hiện một phép nhân ở thê đơn cực, từ ví dụ ta có thê thay rang với p, = ;và

25

Trang 38

Dp = : ta thu được kết quả Po = ĐA *p = s* : = s: Tuy nhiên khi thực hiện phép

a+b+ab-—1

nhân ở thể bipolar, giá trị biểu thức đầu ra sẽ là q = Vì vậy, dé có théthực hiện phép nhân, ta cần một cách hiện thực khá và sẽ được trình bày ở mục tiếptheo 3.6.2.3

Ở trên đã trình bay cách thức hoạt động của phép nhân nhưng chỉ ở thé unipolar, do

đó dé thực hiện được phép nhân ở thé bipolar, ta sẽ sử dụng một cổng khác là công

XNOR Hình 3.16 là một ví dụ về cách hoạt động của XNOR khi thực hiện phépnhân ở dang bipolar

Dé có thé thực hiện được phép cộng, công OR được sử dụng dé thực hiện nhưng

công OR không thé cho ra một biểu thức trực tiếp như pg = py + pp Giả sử giá trị

scale M=1, ta có thé thu được biểu thức như sau:

Po = Pat Pe — PaPp (3.])

Từ biểu thức 3.1 ta có thé dé dang thấy rằng giá trị cộng sẽ bị ảnh hưởng bởi py 0g

và giá trị cộng sẽ gần chính xác nêu pxpg đủ nhỏ Bên cạnh đó, công OR chỉ thực

26

Trang 39

hiện được với định dạng unipolar Hình 3.17 ví dụ về một phép tính cộng thực hiệnbằng cổng OR.

Vì nhược điểm của công OR chỉ có thé thực hiện được cho Unipolar, do đó,

sự cần thiết cho những nghiên cứu về phép cộng va công MUX đã giải quyết đượcvan dé nay Hon thé nữa, céng MUX có thé được thực hiện cho cả hai định dạnglàm nó trở nên nồi bật Bộ MUX cung cấp một cơ chế đơn giản dé trộn hai chuỗingẫu nhiên lại với nhau, điều này dẫn đến công MUX còn được gọi là bộ cộng có

trọng số Đầu vào a và b, cùng với đầu ra q được cho là có cùng hệ số Bat ké địnhdạng đầu vao là gì, đầu vào lựa chọn của công MUX, S, là chuỗi đơn cực với một

hệ số scale Giá trị thực tương đương với S được gọi là hằng số trọng số giữa 0 và 1(hầu như là 1/2) Một ví dụ đơn giản của phép tính cộng MUX đơn cực được biểu

Trang 40

Cũng dé dàng nhận thấy răng đầu ra của cng MUX là một sự pha trộn tỉ lệ giữa hai

đâu vào do đó giá trị đầu ra xác suât là 3.2

Po = (1—s)pa + pspg (3.2)

Do đó, giá trị S thường được chon là 1/2 thì khi đó giá tri biểu thức sẽ là 3.3:

Tuy nhiên khi số lượng công MUX càng nhiều, giá trị sẽ càng ngày càng bị scale

xuống, dễ dẫn đến sai số lớn Tạo thành nhược điểm lớn khi sử dụng trong các hệ

thống máy học.

3.6.2.6 Accumulation Parallel Counter

Ngoài những công MUX hay OR, bộ đếm song song, APC, đã được nghiên cứu vaphát triển và hầu như được sử dụng trong các nghiên cứu sau này những ưu điểm

như độ chính xác cao do không bị scale, hỗ trợ cho cả unipolar và bipolar, và thích

hợp thực hiện các phép tính song song hơn so với MUX Hình 3.19 Ví dụ bộ đếmsong song.mô tả cấu trúc của bộ APC được thực hiện

Ngày đăng: 06/12/2024, 15:30