Th詠c hi羽n ki院n trúc mô hình m衣ng th 亥p"mkpj"8隠 xu 医t

Một phần của tài liệu Nghiên cứu, thiết kế và thực hiện cấu trúc vi mạch cho mạng lưới thần kinh tích chập convolutional neural network, hướng ứng dụng chẩn đoán bệnh ung thư vú (Trang 44)

3. THI蔭T K蔭 VÀ TH衛C HI烏N KI蔭N TRÚC M萎NG TH井N KINH TÍCH CH 一R"A陰 XU 遺T

3.2 Th詠c hi羽n ki院n trúc mô hình m衣ng th 亥p"mkpj"8隠 xu 医t

M瓜t m衣ng th亥n kinh tích ch壱p luôn bao g欝m 4 l噂r"e挨"d違n sau. - Tích ch壱p (convolution)

- Pooling

- Làm ph鰯ng (flatenning) - Fully connection (Dense)

A隠 tài s穎 d映pi"htcogyqtm"Vgpuqthnqy"8吋 th詠c hi羽n ki院n trúc c栄a m衣ng th亥n kinh nhân t衣o bao g欝m 2 l噂p tích ch壱p kèm theo hàm kích ho衣t và maxpooling 荏 m厩i l噂p. Maxpooling 8„pi"xck"vt”"swcp"vt丑ng trong vi羽c giúp gi違m thi吋u các tính toán thông qua vi羽c gi違o"m ej"vj逢噂c không gian c栄a các features. Sau các l噂p kích ho衣v"n "e»pi"8q衣n reshape hay còn g丑i là flatten v噂i m映e"8 ej"ejw{吋p"8鰻i t医t c違 các m違ng k院t qu違 2 chi隠u thành m瓜v"xfiev挨"vw{院n tính dài liên t映c. M厩k"xfiev挨"p {"8衣i di羽n cho m瓜t xác xu医t feature thu瓜c v隠 l噂r"pj«p"p q"8„0"Eƒe"xfiev挨"p {" ucw"8„"vk院p t映e"8k"x q"n噂p Fully connected, l噂p này ho衣v"8瓜pi"v逢挨pi"v詠 pj逢"o瓜t m衣pi"8c"n噂p 8«"8逢嬰c trình bày 荏 m映e"vt逢噂c. V噂k"pi "x q"n "eƒe"xfiev挨"ikƒ"vt鵜 8逢嬰c nhân v噂i các tr丑ng s嘘, scw"8„"eƒe"ikƒ"vt鵜 p {"8逢嬰c truy隠n ti院p sang hàm kích ho衣t (ReLU) và tr違 v隠 k院t qu違 d詠 8qƒp0"""

Ki院p"vt¿e"o»"j·pj"8隠 xu医v"8逢嬰c trình bày 荏 j·pj"48"ucw"8¤{0"A欝ng th運i bi吋w"8欝 荏 m泳c

8瓜 th詠c thi c栄a Tensorflow (tensorflow operations Î qru" ngxgn" itcrj+" 8逢嬰c t衣o ra b荏i

Tensorboard[21̲"e pi"8逢嬰c trình bày 荏 hình 27 nh茨m cung c医p cái nhìn sâu s逸c v隠 cách mô hình m衣ng th詠c s詠 ho衣v"8瓜ng. B違ng 1 cung c医p s嘘 li羽u tóm t逸t c栄c"o»"j·pj"8隠 xu医t.

33

34

35

B違ng 1 B違ng t鰻ng h嬰p thông s嘘 các l噂p m衣ng

Layer Name Tensor Size Weights Biases Parameters

Input image 50x50x3 0 0 0 Conv-1 50x50x8 216 8 224 MaxPool-1 25x25x8 0 0 0 Conv-2 25x25x16 1152 16 1168 MaxPool-2 12x12x16 0 0 0 Flatten 2304 0 0 0 FC-1 20 46080 20 46100 FC-2 2 40 2 42 Nh壱n xét:

Thông qua vi羽c ki吋m tra mô hình m衣ng th亥n kinh s穎 d映ng Tensorboard, ta xác nh壱n r茨ng o»"j·pj"8«"8逢嬰c thi院t k院 8¿pi"vjgq"mk院p"vt¿e"8隠 xu医t. A欝ng th運i t鰻ng thông s嘘 c亥n cho các l噂p m衣pi"n "69756."8¤{"n "8k吋m cái ti院n quan tr丑ng m医u ch嘘t trong vi羽e"o»"j·pj"8隠 xu医t có kh違 p<pi"vtk吋n khai ph亥n c泳ni"8逢嬰c hay không, c映 th吋 s胤 8逢嬰c trình bày 荏 ph亥n sau.

3.2.2 Th詠c hi羽n ki院n trúc ph亥n c泳ng cho m衣ng th亥n kinh tích ch壱r"8隠xu医t xu医t

3.2.2.1 LegUp

LegUp là m瓜t công c映 mã ngu欝n m荏 giúp các nhà phát tri吋n có th吋 t鰻ng h嬰p ngôn ng英

b壱e"ecq"8逢嬰c phát tri吋n b荏k"A衣i h丑c Toronto, Canada[28]. LegUp có th吋 t鰻ng h嬰p h亥u h院t ngôn

ng英 C cho ph亥n c泳ng, bao g欝m m違pi"8c"ejk隠w"e„"m ej"vj逢噂c c嘘8鵜nh, c医u trúc, bi院n toàn c映c và s嘘 h丑c con tr臼. K院t qu違8逢嬰c công b嘘 cho th医y công c映 này t衣o ra các gi違i pháp ph亥n c泳ng có ch医v"n逢嬰pi"v逢挨pi"8逢挨pi"x噂i m瓜t công c映 t鰻ng h嬰p ngôn ng英 b壱c cao dùng trong vj逢挨pi" m衣i.

36

3.2.2.2 LeFlow

Có r医t nhi隠u công c映 có th吋8逢嬰c s穎 d映pi"8吋 t鰻ng h嬰p các lo衣i mã khác nhau thành mã Verilog[29̲0"A隠 tài này s穎 d映ng công c映 có tên LeFlow[30̲"8吋 chuy吋p"8鰻i Tensorflow thành mã biên d鵜ch Verilog. LeFlow không ch雨 gi違o"8ƒpi"m吋 kh嘘k"n逢嬰ng công vi羽c chuy吋p"8鰻i m衣ng th亥p"mkpj"ucpi"Xgtknqi"o "e”p"8違m b違o quy trình có th吋8逢嬰c tái thi院t l壱p m瓜t cách linh ho衣t n院u có s詠vjc{"8鰻i c亥n c壱p nh壱t trong ki院n trúc m衣ng thi院t k院0"Ak隠w"p {"8員c bi羽t h英u ích trong o»k"vt逢運ng th詠c t院."p挨k"8”k"j臼i m衣ng có th吋 8逢嬰c tái hu医n luy羽n nh茨o"8ƒr"泳ng các yêu c亥u m噂i và tri吋p"mjck"pjcpj"ej„pi0"J·pj"4;"ucw"8¤{"ejq"vj医y cách LeFlow chuy吋p"8鰻i m衣ng th亥n kinh sang ph亥n c泳ng.

Hình 29 Mô hình chuy吋p"8鰻i ho衣v"8瓜ng t瑛 ph亥n m隠m sang ph亥n c泳ng

T衣i quy trình ph亥n m隠m, tensorflow biên d鵜ch mã thành t鰻 h嬰p c栄c"E--"x "EWFC"8吋 s穎 d映ng trên CPU ho員e"IRW0"Vtqpi"mjk"8„"荏 phía quy trình ph亥n c泳ng, LeFlow s穎 d映ng XLA[22], m瓜t backend khác c栄a tensorflow t衣o ra LLVM[31] thay vì C++ và CUDA. Ti院r"8„."NgiWr"u胤 ti院n hành biên d鵜ch LLVM thành mã Verilog.

3.2.2.3 Ki院n trúc ph亥n c泳ng cho m衣ng th亥n kinh tích ch壱p

A隠 v k"8«"vtk吋n khai m瓜v"o»"j·pj"x "8逢c"o瓜t khung hình ngõ vào vào b瓜 nh噂 8吋 ti院n hành phân lo衣k."vw{"pjk‒p"8隠 tài v磯p"ej逢c"vj吋 tìm ra cách chuy吋n m瓜t s嘘 n逢嬰ng vô h衣n các khung hình ngõ vào vào m衣ng. C亥n ph違i vi院t verilog tùy ch雨pj"8吋 liên t映c nh壱n ngõ vào t瑛 ngu欝n GPIO ho員c USB. M員c dù không th吋vj‒o"v pj"p<pi"p {."8隠 tài v磯n có th吋 ngo衣i suy kho違ng th運i gian c亥p"8吋 d詠8qƒp"m院t qu違 ngõ ra trên m瓜v"mjwpi"j·pj"pi "x q"8吋 tìm ra kho違ng th運i gian c亥n thi院t cho m瓜t t壱p 違nh ngõ vào.

37

Hình 30 Ki院n trúc ph亥n c泳ng m衣ng th亥n kinh (post-mapping)

CLOCK_50 KEY[0] rtl~[0..2] rtl~[4..6] rtl~[12..36] rtl~8 rtl~39 rtl~42 y_Q.s_START ~GND add_sub_mlf:auto_generated:op_1~22 add_sub_mlf:auto_generated:op_1~24 alt_u_div_qdg:divider:add_sub_7_result_int[4]~8 alt_u_div_qdg:divider:add_sub_7_result_int[5]~10 alt_u_div_qdg:divider:add_sub_7_result_int[6]~12 alt_u_div_qdg:divider:add_sub_7_result_int[7]~14 alt_u_div_qdg:divider:add_sub_7_result_int[8]~16 alt_u_div_qdg:divider:DFFDenominator[447] main:main_inst:finish main:main_inst:memory_controller_address_a[2]~133 main:main_inst:memory_controller_address_a[3]~146 main:main_inst:memory_controller_address_a[4]~159 main:main_inst:memory_controller_address_a[56]~55 main:main_inst:memory_controller_address_a[57]~41 main:main_inst:memory_controller_address_a[58]~68 main:main_inst:memory_controller_address_a[59]~14 main:main_inst:memory_controller_address_b[2]~108 main:main_inst:memory_controller_address_b[3]~116 main:main_inst:memory_controller_address_b[4]~124 main:main_inst:memory_controller_address_b[56]~47 main:main_inst:memory_controller_address_b[58]~59 main:main_inst:memory_controller_address_b[59]~13 main:main_inst:memory_controller_write_enable_a~1 main:main_inst:memory_controller_write_enable_b~4 main:main_inst:return_val[0..31] memory_controller:memory_controller_inst:Equal0~19 memory_controller:memory_controller_inst:Equal0~47 memory_controller:memory_controller_inst:Equal0~57 memory_controller:memory_controller_inst:Equal0~59 memory_controller:memory_controller_inst:Equal1~0 memory_controller:memory_controller_inst:Equal2~3 memory_controller:memory_controller_inst:Equal4~1 memory_controller:memory_controller_inst:Equal14~1 memory_controller:memory_controller_inst:Equal24~[48..50] memory_controller:memory_controller_inst:Equal24~45 memory_controller:memory_controller_inst:Equal25~0 memory_controller:memory_controller_inst:Equal26~[0..1] memory_controller:memory_controller_inst:Equal28~1 memory_controller:memory_controller_inst:Equal38~1 memory_controller:memory_controller_inst:Equal44~2 D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR DATAA DATAB DATAD COMBOUT LOGIC_CELL_COMB (1100) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (88A8) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (A888) DATAA DATAC DATAD COMBOUT LOGIC_CELL_COMB (F500) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (4000) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (FF7F) DATAA DATAB COMBOUT LOGIC_CELL_COMB (8888) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (4000) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (FF7F) DATAA DATAB DATAC DATAD COMBOUT LOGIC_CELL_COMB (4000) DATAA DATAB DATAD COMBOUT LOGIC_CELL_COMB (0088) DATAA DATAB DATAD COMBOUT LOGIC_CELL_COMB (0088) DATAA DATAB DATAD COMBOUT LOGIC_CELL_COMB (0088) rtl~33_COMBOUT rtl~32_COMBOUT rtl~31_COMBOUT rtl~30_COMBOUT rtl~29_COMBOUT rtl~28_COMBOUT rtl~27_COMBOUT rtl~26_COMBOUT rtl~25_COMBOUT rtl~24_COMBOUT rtl~23_COMBOUT rtl~22_COMBOUT rtl~21_COMBOUT rtl~20_COMBOUT rtl~19_COMBOUT rtl~18_COMBOUT rtl~17_COMBOUT rtl~16_COMBOUT rtl~15_COMBOUT rtl~14_COMBOUT rtl~13_COMBOUT rtl~12_COMBOUT rtl~8_COMBOUT rtl~39_COMBOUT rtl~42_COMBOUT ~GND_COMBOUT top:top_inst_alt_u_div_qdg:divider:add_sub_7_result_int[7]~14 top:top_inst_alt_u_div_qdg:divider:add_sub_7_result_int[8]~16 top:top_inst_alt_u_div_qdg:divider:DFFDenominator[447] top:top_inst_main:main_inst:finish top:top_inst_main:main_inst:memory_controller_address_a[2]~133 top:top_inst_main:main_inst:memory_controller_address_a[3]~146 top:top_inst_main:main_inst:memory_controller_address_a[4]~159 top:top_inst_main:main_inst:memory_controller_address_a[56]~55 top:top_inst_main:main_inst:memory_controller_address_a[57]~41 top:top_inst_main:main_inst:memory_controller_address_a[58]~68 top:top_inst_main:main_inst:memory_controller_address_a[59]~14 top:top_inst_main:main_inst:memory_controller_address_b[2]~108 top:top_inst_main:main_inst:memory_controller_address_b[3]~116 top:top_inst_main:main_inst:memory_controller_address_b[4]~124 top:top_inst_main:main_inst:memory_controller_address_b[56]~47 top:top_inst_main:main_inst:memory_controller_address_b[58]~59 top:top_inst_main:main_inst:memory_controller_address_b[59]~13 top:top_inst_main:main_inst:memory_controller_write_enable_a~1 top:top_inst_main:main_inst:memory_controller_write_enable_b~4 top:top_inst_main:main_inst:return_val top:top_inst_memory_controller:memory_controller_inst:Equal0~19 top:top_inst_memory_controller:memory_controller_inst:Equal0~47 top:top_inst_memory_controller:memory_controller_inst:Equal0~57 top:top_inst_memory_controller:memory_controller_inst:Equal2~3 top:top_inst_memory_controller:memory_controller_inst:Equal4~1 top:top_inst_memory_controller:memory_controller_inst:Equal14~1 top:top_inst_memory_controller:memory_controller_inst:Equal24~ top:top_inst_memory_controller:memory_controller_inst:Equal24~45 top:top_inst_memory_controller:memory_controller_inst:Equal25~0 top:top_inst_memory_controller:memory_controller_inst:Equal26~ top:top_inst_memory_controller:memory_controller_inst:Equal28~1 top:top_inst_memory_controller:memory_controller_inst:Equal38~1 top:top_inst_memory_controller:memory_controller_inst:Equal44~2 return_val_reg~3_COMBOUT return_val_reg[1]_REGOUT return_val_reg~1_COMBOUT return_val_reg[3]_REGOUT y_Q.s_EXE_REGOUT return_val_reg~7_COMBOUT return_val_reg[5]_REGOUT y_Q.s_WAIT_REGOUT return_val_reg~5_COMBOUT return_val_reg[7]_REGOUT return_val_reg~11_COMBOUT return_val_reg[9]_REGOUT return_val_reg~9_COMBOUT return_val_reg[11]_REGOUT return_val_reg~15_COMBOUT return_val_reg[13]_REGOUT return_val_reg~13_COMBOUT return_val_reg[15]_REGOUT return_val_reg~19_COMBOUT return_val_reg[17]_REGOUT return_val_reg~17_COMBOUT return_val_reg[19]_REGOUT return_val_reg~23_COMBOUT return_val_reg[21]_REGOUT return_val_reg~21_COMBOUT return_val_reg[23]_REGOUT return_val_reg~27_COMBOUT return_val_reg[25]_REGOUT return_val_reg~25_COMBOUT return_val_reg[27]_REGOUT return_val_reg~31_COMBOUT return_val_reg[29]_REGOUT return_val_reg~29_COMBOUT return_val_reg[31]_REGOUT return_val_reg~0_COMBOUT return_val_reg[0]_REGOUT return_val_reg~2_COMBOUT return_val_reg[2]_REGOUT y_Q.s_DONE_REGOUT LEDG~3_COMBOUT LEDG~2_COMBOUT return_val_reg~4_COMBOUT return_val_reg[4]_REGOUT return_val_reg~6_COMBOUT return_val_reg[6]_REGOUT return_val_reg~8_COMBOUT return_val_reg[8]_REGOUT return_val_reg~10_COMBOUT return_val_reg[10]_REGOUT return_val_reg~12_COMBOUT return_val_reg[12]_REGOUT return_val_reg~14_COMBOUT return_val_reg[14]_REGOUT return_val_reg~16_COMBOUT return_val_reg[16]_REGOUT return_val_reg~18_COMBOUT return_val_reg[18]_REGOUT return_val_reg~20_COMBOUT return_val_reg[20]_REGOUT return_val_reg~22_COMBOUT return_val_reg[22]_REGOUT return_val_reg~24_COMBOUT return_val_reg[24]_REGOUT return_val_reg~26_COMBOUT return_val_reg[26]_REGOUT return_val_reg~28_COMBOUT return_val_reg[28]_REGOUT return_val_reg~30_COMBOUT return_val_reg[30]_REGOUT rtl~38_COMBOUT rtl~40_COMBOUT top:top_inst CLOCK_50 KEY[0..3] return_val_reg[1] return_val_reg[3] y_Q.s_EXE return_val_reg[5] y_Q.s_WAIT return_val_reg[7] return_val_reg[9] return_val_reg[11] return_val_reg[13] return_val_reg[15] return_val_reg[17] return_val_reg[19] return_val_reg[21] return_val_reg[23] return_val_reg[25] return_val_reg[27] return_val_reg[29] return_val_reg[31] return_val_reg[0] return_val_reg[2] y_Q.s_DONE LEDG[0..7] 5' h00 -- return_val_reg[4] y_Q.s_START return_val_reg[6] return_val_reg[8] return_val_reg[10] return_val_reg[12] return_val_reg[14] return_val_reg[16] return_val_reg[18] return_val_reg[20] return_val_reg[22] return_val_reg[24] return_val_reg[26] return_val_reg[28] return_val_reg[30]

y_Q~12 y_Q~9 y_Q~11

rtl~2 rtl~1 rtl~0 rtl~6 rtl~5 rtl~4 rtl~36 rtl~35 rtl~34 y_Q~10

38

Hình 31 Ki院n trúc ph亥n c泳ng Register-transfer level (RTL) c栄a m衣ng th亥n kinh Nh壱n xét:

Thông qua vi羽c s穎 d映ng LeFlow, mã verilog th詠c thi ph亥n c泳ng cho ki院n trúc m衣ng th亥n mkpj"8«"8逢嬰c t衣o. S穎 d映ng quartus v噂k"v pj"p<pi"Cpcn{uku"("U{pvjguku."8隠 v k"8«"vj詠c hi羽n thành công vi羽c t鰻ng h嬰p và t嘘k"逢w"j„c"mk院n trúc ph亥n c泳pi"8逢嬰c mô t違 trong mã verilog thành các c鰻ng logic. x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] x[3..0] hex_LEDs[6..0] clk reset start finish return_val[31..0] clk top:top_inst:finish KEY[1..0] s_DONE s_EXE s_START s_WAIT D Q PRE ENA CLR SEL DATAA DATAB OUT0 MUX21 SEL DATAA DATAB OUT0 MUX21 0 hex_digits:h7 hex_digits:h6 hex_digits:h5 hex_digits:h4 hex_digits:h3 hex_digits:h0 top:top_inst always3 LEDG~1 return_val_reg[31..0] return_val_reg~[31..0] 32' h00000000 -- return_val_reg~[63..32] CLOCK_50 UART_RXD (GND) UART_TXD KEY[3..0] SW[17..0] HEX0[6..0] HEX1[6..0] HEX2[6..0] HEX3[6..0] HEX4[6..0] HEX5[6..0] HEX6[6..0] HEX7[6..0] LEDG[7..0] 5' h00 -- y_Q LEDG~0 hex_digits:h1 hex_digits:h2

39

4. KT QU THC HIN

4.1Tóm t逸t k院t qu違8衣v"8逢嬰c

Ü M映c tiêu:

‚ Xây d詠ng mô hình m衣ng th亥n kinh tích ch壱p 泳ng d映ng trong chu育p"8qƒp"wpi" thu mô t院d q"x¿"8衣v"8瓜 chu育p"zƒe"v逢挨pi"8逢挨pi"vtqpi"d k"dƒq"8逢嬰c công b嘘 b荏i A. Cruz-Roa at al.[32] trên cùng t壱p d英 li羽u.

‚ A欝ng th運i n厩 l詠c biên d鵜ch ki院n trúc m衣ng th亥p"mkpj"8隠 xu医t sang mã verilog và ch泳ng minh tính kh違 thi c栄a ki院n trúc trong vi羽c t鰻ng h嬰p ph亥n c泳ng.

Ü T壱p d英 li羽u:

‚ D詠a trên t壱p d英 li羽w"8院n th運k"8k吋o"8隠 v k"p {"8逢嬰c báo cáo bao g欝m 277 524

違pj"m ej"vj逢噂c 50x50 pixels.

‚ Eƒe"vt逢運ng h嬰r"8逢嬰c ti院n hành th詠c nghi羽o"8逢嬰c li羽t kê 荏 b違ng sau

B違ng 2 B違ng th嘘ng kê d英 li羽u D英 li羽u Nhãn d英 li羽u Âm tính F⇔¬pi"v pj Hu医n luy羽n 126 986 50 630 Xác nh壱n 31 819 12 584 Ki吋m tra 39 933 15 572 Ü Cách th泳c th詠c thi:

‚ Ki院n trúc mô hình m衣ng th亥n kinh tích ch壱r"8隠 xu医v"8逢嬰c xây d詠ng s穎 d映ng framework tensorflow, ph亥n c泳ng c栄a ki院p"vt¿e"8逢嬰c biên d鵜ch s穎 d映ng LeFlow. Các k院t qu違 8瓜 chính xác c栄a ki院n trúc d衣ng 荏 d衣pi"itcrj"vgpuqthnqy"8逢嬰c ti院n hành kh違o sát trên GPU Nvidia GTX 1050 và ki院n trúc ph亥n c泳pi"8逢嬰c kh違o sát s穎 d映ng ModelSim.

Ü Tóm t逸t k院t qu違:

277 524 違pj"8逢嬰c chia làm hai nhóm chính riêng bi羽t v噂i nhóm g欝m 222 019 違nh và 55 505 違nh. Nhóm 222 019 違pj"8亥w"vk‒p"8逢嬰c s穎 d映ng cho quá trình hu医n luy羽n và xác nh壱n. 55 505 違nh còn l衣k"8逢嬰c s穎 d映ng cho quá trình nh壱n d衣ng.

T鰻ng k院t qu違 nh壱n d衣pi"8衣v"8逢嬰c AUC t鰻ng th吋 trên GPU là 0.922. K院t qu違 nh壱n

d衣ng trên ph亥n c泳pi"8逢嬰c n瓜k"uw{"n "v逢挨pi"8欝ng v噂i GPU sau m瓜t s嘘 th詠c nghi羽m v噂i

các 違pj"pi "x q"v逢挨pi"泳ng 荏 GPU. B違ng 3 so sánh k院t qu違vjw"8逢嬰c t瑛 công trình này

v噂i eƒe"e»pi"vt·pj"8逢嬰c công b嘘vt逢噂e"8¤{0

B違ng 3 Th嘘pi"m‒"uq"uƒpj"CWE"ejq"eƒe"rj逢挨pi"rjƒr

Rj逢挨pi"rjƒr AUC

A逢嬰c công b嘘 trong bài báo [32] 0.935 A逢嬰c công b嘘 trong bài báo [33] 0.902

40 Ki院n trúc 1 (s穎 d映ng b瓜 l丑c 5x5) Adadelta 0.920 Ki院n trúc 2 (s穎 d映ng b瓜 l丑c 3x3) Adam 0.914 Adadelta 0.922

Tuy nhiên trong mô hình [32] có t噂i 458498 tham s嘘."pij c"n "n噂p"j挨p";0868"n亥n so v噂i 47534 tham s嘘 c栄c"o»"j·pj"8逢嬰e"8隠 xu医v"vtqpi"8隠 tài này. Chính s嘘n逢嬰ng tham s嘘 kh鰻ng l欝 là m瓜t trong nh英ng nguyên nhân chính d磯p"8院n rào c違n tri吋n khai ph亥n c泳ng cho các mô hình m衣ng CNN sâu.

T鰻ng s嘘 xung clock cho quá trình nh壱n d衣ng là kho違ng 99 237 343 xung clock v噂i t亥n s嘘 50MHz (chu k 42pu+0"Ak隠u này có th吋 kh鰯pi"8鵜nh v噂i xung clock 50MHz thì t嘘e"8瓜 nh壱n d衣ng c栄a m衣ng th亥n kinh tích ch壱r"n "3";:6"968":82"pu"v逢挨pi"8逢挨pi"30;:"ik¤{0"Vw{"8¤{"ej逢c ph違i

là t嘘e"8瓜 ch衣y chính xác trong quy trình thi院t k院CUKE"pj逢pi"mj鰯pi"8鵜nh m瓜v"8k隠u ch逸c ch逸n

là t嘘e"8瓜 xung clock trong quy trình ASIC s胤 l噂p"j挨p"72OJ¦0"Aƒr"泳ng tính kh違 thi trong th運i

gian th詠c 荏 thi院t k院.

Hình 32 Tóm t逸t k院t qu違 mô ph臼ng ph亥n c泳ng

4.2Các c違i ti院n và k院t qu違 chi ti院t 4.2.1 Quy trình hu医n luy羽n m衣ng

Trong công trình này, m衣pi"8逢嬰e"8 q"v衣o trong 200 epochs và t亥n su医t xác nh壱n m厩i 1388 l亥n l員p, v噂i hai thu壱t toán t嘘k"逢w"j„c"mjƒe"pjcw."Cfco"]56] - Thu壱t toán t嘘k"逢w"j„c"v嘘c 8瓜 h丑c thích 泳ng và Adadelta [35] - M瓜v"rj逢挨pi"rjƒr"v嘘e"8瓜 h丑c thích 泳ng. Ngoài ra, c違 hai t嘘k"逢w"j„c"p {"m院t h嬰p v噂i m瓜t k悦 thu壱v"8逢嬰c g丑i là t嘘e"8瓜 h丑c t壱p theo l鵜ch trình v噂i giá tr鵜 0,0001 8逢嬰c kh荏i t衣o dcp"8亥u cho Adam và 1 cho Adadelta, gi違m d亥n sau m厩k"3222"d逢噂c v噂i t益 l羽 2.;0"Swƒ"vt·pj"8 q"v衣o này c栄a hai ki院p"vt¿e"8逢嬰e"8隠 xu医t l亥p"n逢嬰v"8逢嬰c th吋 hi羽n trong Hình 33, Hình 34, Hình 35 và Hình 36 ucw"8¤{.

41

Hình 33 Bi吋w"8欝 traning mô hình phân lo衣i 8逢嬰e"8隠 xu医v"8亥u tiên c栄a chúng tôi s穎 d映ng

Adam

Hình 34 Bi吋w"8欝 traning mô hình phân lo衣i 8逢嬰e"8隠 xu医v"8亥u tiên c栄a chúng tôi s穎

d映ng Adadelta

Hình 35 Bi吋w"8欝 traning mô hình phân lo衣i 8逢嬰e"8隠 xu医t th泳 hai c栄a chúng tôi s穎 d映ng

Adam

Hình 36 Bi吋w"8欝 traning mô hình phân lo衣i

8逢嬰e"8隠 xu医t th泳 hai c栄a chúng tôi s穎 d映ng

Adadelta

Trong các hình này, có th吋 ch雨 ra r茨ng m衣ng liên t映e"v<pi"8瓜 chính xác c栄a quá trình hu医n luy羽n và quá trình xác nh壱p"8院n các giá tr鵜 t嘘k"逢w"e栄a chúng.

Tính nh医t quán c栄a quá trình xác nh壱n fcq"8瓜ng khó d詠8qƒp"j挨p"uq"x噂i s詠 suôn s飲 và nh医t quán c栄c"swƒ"vt·pj"8 q"v衣q0"J pj"xk"pj逢"x壱y có th吋 là do m泳e"8瓜 thách th泳e"e pi"pj逢"v pj" th詠c ti宇n c栄a t壱p d英 li羽u xác nh壱p"8逢嬰c s穎 d映ng, d磯p"8院n s詠 khác bi羽v"ecq"j挨p"vtqpi"8 q"v衣o. Vw{"pjk‒p."vtqpi"j挨p"422"m益 nguyên, s詠 bi院p"8瓜ng t鰻ng th吋 c栄a quá trình xác nh壱n v磯n có xu j逢噂pi"vw¤p"vjgq"swƒ"vt·pj"8 q"v衣o c栄a o»"j·pj."8k隠u này ch泳ng t臼 r茨ng mô hình không b鵜 overfitting hay underfitting.

42

4.2.2 Ki院n trúc m衣ng th亥n kinh tích ch壱r"8隠 xu医t

A吋8ƒpj"ikƒ"v pj"jk羽u qu違 c栄a ki院n trúc m衣ng th亥p"mkpj"8逢嬰e"8隠 xu医v."ucw"8¤{"8隠 tài s胤

rj¤p"v ej"Ðeqphwukqp"ocvtkzÑ"e栄a mô hình m衣ng và trình bày các thông s嘘.

B違ng 4 Confusion matrix c栄a mô hình th泳 nh医t

Thu壱t toán t嘘k"逢w T羽p d英 li羽u ki吋m tra Ch育p"8qƒp<"n pj"v pj Ch育p"8qƒp<"ƒe"v pj

Adam Th詠c t院: lành tính True Neg.: 36553 False Pos.: 3380

Th詠c t院: ác tính False Neg.: 4481 True Pos.: 11091

Adadelta Th詠c t院: lành tính True Neg.: 36820 False Pos.: 3113

Th詠c t院: ác tính False Neg.: 4438 True Pos.: 11134

B違ng 5 Confusion matrix c栄a mô hình th泳 hai

Thu壱t toán t嘘k"逢w T羽p d英 li羽u ki吋m tra Ch育p"8qƒp<"n pj"v pj Ch育p"8qƒp<"ƒe"v pj

Adam Th詠c t院: lành tính True Neg.: 36415 False Pos.: 3518

Th詠c t院: ác tính False Neg.: 4289 True Pos.: 11283

Adadelta Th詠c t院: lành tính True Neg.: 36737 False Pos.: 3196

Th詠c t院: ác tính False Neg.: 4143 True Pos.: 11429

True positive (TP): A¤{"n "eƒe"ikƒ"vt鵜 f逢挨pi"8逢嬰c d詠 8qƒp"ej pj"zƒe"e„"pij c"n "ikƒ"vt鵜 c栄a l噂p th詠c t院 là có và giá tr鵜 c栄a l噂p d詠 8qƒp"e pi"n "e„0 Ví d映: n院u giá tr鵜 l噂p th詠c t院 ch雨 ra r茨ng b羽nh nhân này f逢挨pi"v pj và l噂p d詠8qƒp"u胤 cho chúng ta k院t qu違v逢挨pi"v詠.

True negative (TN): A¤{"n "eƒe"ikƒ"vt鵜 ¤o"8逢嬰c d詠 8qƒp"ej pj"zƒe"e„"pij c"n "ikƒ"vt鵜 c栄a l噂p th詠c t院 là không và giá tr鵜 c栄a l噂p d詠8qƒp"e pi"n "mj»pi0"X "f映: n院u l噂p th詠c t院 nói r茨ng b羽nh nhân p {"8«"âm tính và l噂p d詠8qƒp"u胤 cho chúng ta k院t qu違v逢挨pi"v詠.

F逢挨pi"v pj"ik違 và âm tính gi違, nh英ng giá tr鵜 này x違y ra khi l噂p th詠c t院 c栄a mô hình m衣ng

mâu thu磯n v噂i l噂p d詠8qƒp0

False positive (FP): Khi l噂p th詠c t院 là không và l噂p d詠8qƒp"n "e„0"X "f映: n院u l噂p th詠c t院 nói r茨ng b羽nh nhân này âm tính pj逢pi"n噂p d詠8qƒp"ejq"m院t qu違 r茨ng b羽pj"pj¤p"p {"f逢挨pi" tính. Chúng ta không mong mu嘘n phân lo衣i nh亥m m瓜t b羽pj"pj¤p"p q"8„"n "f逢挨pi"v pj"x "d逸t h丑 tr違k"swc"eƒe"8k隠u tr鵜8cw"8噂n, xâm l医n và t嘘n kém trong khi h丑 không th詠c s詠 c亥p"8院n nó.

43 False negative (FN): Khi l噂p th詠c t院n "e„"pj逢pi"n噂p d詠8qƒp"n "mj»pi0"X "f映: n院u giá tr鵜 l噂p th詠c t院 ch雨 ra r茨ng b羽nh nhân này f逢挨pi"v pj pj逢pi l噂p d詠 8qƒp"ejq"m院t qu違 âm tính. Chúng ta c亥n ph違i th詠c s詠 c育n tr丑ng n院u không mu嘘n phân lo衣i b羽nh pj¤p"p q"8„"n "o瓜v"pi逢運i không m逸c b羽nh trong khi h丑 th詠c s詠 8cpi"o逸c b羽nh và c亥n các gi違k"rjƒr"8k隠u tr鵜.

Trong nhi羽m v映 zƒe"8鵜nh xem b羽nh nhân có b鵜 wpi"vj逢"x¿"jc{"mj»pi."eƒe"o違ng hình 違nh ƒe"v pj"8逢嬰c phân lo衣i là lành tính (âm tính gi違+"p‒p"8逢嬰c quan t¤o"j挨p"pjk隠u so v噂i các m違ng hình 違pj"n pj"v pj"8逢嬰c phân lo衣k"n "ƒe"v pj"*f逢挨pi"v pj"ik違). Âm tính gi違 e„"pij c"n "mj»pi" c違nh báo v隠 wpi"vj逢"x¿"vtqpi"mjk"vj詠c t院 8„"n "vt逢運ng h嬰r"wpi"vj逢"f磯p"8院n các v医p"8隠 s泳c kh臼e do không có bi羽n pháp phòng ng瑛c0"F逢挨pi"tính gi違 e„"pij c"n "eƒe"vt逢運ng h嬰p s胤 có bi羽n pháp phòng ng瑛a ngay c違 khi h丑 không th詠c s詠 c亥n thi院v0"Fq"8„."vj»pi"swc"xk羽c so sánh các ma tr壱n nh亥m l磯p."o»"j·pj"8隠 xu医t th泳 hai và thu壱t toán t嘘k"逢w"Cfcfgnvc"p鰻i lên là s詠 l詠a ch丑n phù h嬰p nh医t.

Ucw"mjk"8« làm rõ 4 thông s嘘 trên, d詠c"x q"8„"ej¿pi"vc"e„"vj吋v pj"8逢嬰e"A瓜 nh衣{"x "A瓜 8員c hi羽u c栄a m衣ng th亥n kinh tích ch壱r"8逢嬰c thi院t k院. T瑛 các thông s嘘p {"8欝 th鵜 bi吋u di宇n các

8逢運pi"eqpi"8員c tính ho衣v"8瓜ng c栄a máy thu *TQE"Ewtxgu+"8逢嬰c bi吋u di宇n 荏 hình 37. A逢運ng

cong ROC là m瓜t công c映 h英u ích vì 8ây là bi吋w"8欝 c栄a t益 l羽f逢挨pi"v pj"ik違 (tr映c x) so v噂i t益

Một phần của tài liệu Nghiên cứu, thiết kế và thực hiện cấu trúc vi mạch cho mạng lưới thần kinh tích chập convolutional neural network, hướng ứng dụng chẩn đoán bệnh ung thư vú (Trang 44)

Tải bản đầy đủ (PDF)

(61 trang)