Tải bản đầy đủ (.pdf) (74 trang)

Sử dụng cử chỉ tay để điều khiển thiết bị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (22.03 MB, 74 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

HỌC VIEN CƠNG NGHỆ BƯU CHÍNH VIỄN THONG KHOA CƠNG NGHỆ THƠNG TIN

NV dH.L NI)ÐN ‘NAIA HNIS NỊL YA OH DO AN TOT NGHIEP DAI HOC

Đề tai: Sử dung cử chi tay dé điều khiến thiết bị

Giáo viên hướng dẫn: PGS. Phạm Van Cường

Sinh viên: Nguyễn Thế An

<small>Mã sinh viên: BI7DCCN002</small>

<small>Lóp: DI7HTTTI</small>

<small>Niên khóa: 2017-2022</small>

<small>Hệ đào tạo: Đại học chính quy</small>

<small>Hà Nội 2021</small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

HỌC VIEN CƠNG NGHỆ BƯU CHÍNH VIÊN THONG

KHOA CƠNG NGHỆ THƠNG TIN

Giáo viên hướng dẫn: PGS. Phạm Văn Cường Sinh viên: Nguyễn Thế An

<small>Mã sinh viên: BI7DCCNO02</small>

<small>Láp: D17HTTTI1</small>

<small>Niên khóa: 2017-2022</small>

<small>Hệ dao tạo: Đại học chính quy</small>

<small>Hà Nội 2021</small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<small>DO ÁN TOT NGHIỆP</small>

TÓM TẮT NỘI DUNG

Sự ra đời và phát triển mạnh mẽ của trí tuệ nhân tạo (AD là một bước đột phá của nên kinh tế nhưng bên cạnh đó, nó cũng tác động rất nhiều tới cuộc sống của con người thông qua nhiều ứng dụng thực tế. Các thiết bị như tivi, máy tính hay các thiết bị điện tử khơng hề xa lạ gì đối với mỗi người, nhưng hiện nay, các thiết bị đó vẫn được điều khiến bằng các phương pháp như sử dụng điều khiển hồng ngoại, sử dụng công tắc hay bàn phím, để có thể nâng cao được trải nghiệm người dùng, tăng tính thuận tiện, rất nhiều phương pháp khác nhau được phát triển ví dụ như điều khiển thông qua wifi.

Phương pháp sử dụng cử chỉ tay dé điều khiển cũng chính là một trong số đó.

<small>Mục tiêu chính của nhận dạng cử chỉ tay là đưa ra chính xác người dùng đang có</small>

cử chỉ gì và từ đó có thé đưa ra tín hiệu điều khiến thiết bị, giúp người dùng không cần phải sử dụng đến các thiết bị điều khiển bên ngoài. Hệ thống điều khiển gồm 2 thành

phan chính là nhận diện cử chỉ tay và thành phần điều khién thiết bị

Đồ án “Nhận diện cử chỉ tay bang học sâu ứng dụng trong điều khiến thiết bị điện tử" tập trung vào việc nhận diện cử chỉ tay trên thời gian thực và sử dụng dé đưa ra tín hiệu điều khiển

Với đầu vào là ảnh được lay ttr may anh, hé thong sẽ thực hiện trích xuất đặc trưng bằng mang học sâu, và sử dụng dé nhận diện các cử chỉ tay. Yêu cầu quan trong đối với hệ thống là phải chạy được trên thời gian thực, có độ trễ thấp. Trong khn khổ đồ án mơ hình được tiến hành huấn luyện trên bộ dữ liệu gồm 37,964 video thuộc 17 cử chỉ. Mơ hình được sử dụng là mơ hình mơ-đun dịch chuyền thời gian (TSM). Kết quả

<small>độ chính xác đạt được là 0.96 với độ trễ 4.7ms</small>

Từ khóa: Học sâu, nhận diện cử chỉ, trích xuất đặc trưng, huấn luyện, mơ hình,

<small>Temporal Shift Module, CNN, 3D CNN, ...</small>

<small>GVHD: PGS.TS Pham Van Cường i SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small>DO ÁN TOT NGHIỆP</small>

LỜI CẢM ƠN

<small>Em xin chân thành cảm ơn PGS.TS Phạm Văn Cường, bộ mơn Khoa học máytính, Khoa Cơng nghệ thơng tin I đã tận tình chỉ dạy và hướng dẫn cho em trong việc</small>

lựa chọn đề tài, thực hiện đề tài và viết báo cáo dé án, giúp cho em có thé hồn thành

tốt đồ án này.

Em xin chân thành cảm ơn các thầy cô giáo Học viện Công nghệ Bưu chính Viễn thơng, đặc biệt các thầy cơ trong khoa Cơng nghệ thơng tin I đã tận tình dạy dỗ và chỉ

bảo em trong suốt 4 năm học.

Em xin gửi lời cảm ơn đến các anh chị, các bạn, các em đã và đang hoạt động tại câu lạc bộ ITPTIT, cảm ơn tất cả moi người đã tạo ra một môi trường học tập chuyên nghiệp, sáng tạo để em có thê phát triển được như ngày hơm nay.

Cuối cùng em xin cảm ơn gia đình, bạn bè, những người đã luôn bên cạnh động viên em những lúc khó khăn và giúp đỡ em trong suốt thời gian học tập và nghiên cứu, tạo mọi điều kiện tốt nhất cho em dé có thé hồn thành tốt đồ án của mình.

Mặc dù đã có gắng hồn thành nghiên cứu trong phạm vi và khả năng cho phép

nhưng chắc chăn sẽ khơng tránh khỏi những thiếu sót. Em kính mong nhận được sự thơng cảm của thầy cơ và các bạn.

<small>Em xin chân thành cảm ơn!</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<small>DO ÁN TOT NGHIỆP</small>

NHAN XÉT

<small>(Của giảng viên phản biện)</small>

<small>GVHD: PGS.TS Phạm Văn Cường iii SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>DO ÁN TOT NGHIỆP</small>

NHAN XÉT

<small>(Của giảng viên hướng dẫn)</small>

CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN

<small>(ký, ghi rõ họ tên)</small>

<small>GVHD: PGS.TS Phạm Văn Cường iv SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>DO ÁN TOT NGHIỆPMỤC LỤC</small>

0009.009077... . `... ... ii

DANH MỤC HINH VE.uu.sessssssssssssssesssesssesssssssssesssssssssscsssesssssssssesssssesssssssesessssssssees vii

DANH MỤC BANG BIEU ...---° 2s s©s£ss£SsSEseEssEsserserserssrsserserssrsssse ix

DANH MUC TU VIET TAT. ...cccssssssssssssssscssssscsocsscsscsassoscascsucsassascascsussacsasesecssceseesees x

0909871070757... ... 1

CHUONG 1 TONG QUAN VE BÀI TỐN NHAN DIỆN CU CHÍ TAY... 3

<small>1.1 Giới thiệu bai toán nhận diện cử chi tay... ..- ác eeeeeeeeeeteeteeeeees 3</small>

1.2 Ứng dụng của bài toán nhận diện cử chi tay...-- 2-5 5sc5ce+ccrserxee 4 1.2.1 Tương tac với thực tế ảo và thực tại tăng cường...---: 5

<small>1.2.2 Nhận diện ngôn ngữ ký hiệu ...- .. --- - Sc Sc St St srrrterrerrrrrerres 6</small>

1.2.3 Công cụ hỗ trợ cuộc sống...---- 2-5222 EE‡EEEEE 2E. 6

1.3 Một số phương pháp cho bài toán nhận diện cử chỉ tay ...-- 6 1.3.1 Phương pháp nhận diện cử chỉ tay cỗ điễn...- --2- 5 c5cczcc+ 6

<small>1.3.2 Phương pháp nhận diện cử chỉ tay hiện đại...---.- 11</small>

1.40 Phạm vi đồ Am oi.e.cccececececcccccccccscesccscssessesscssessssessessessessessesuessssseseesesseesessees 12

1.5 Kết luận CHW ong oo... cccccccssessessesssessessessecssessessessecssessessessesessessessees 12 CHUONG 2 NHAN DIEN CU CHÍ TAY SU DUNG PHƯƠNG PHAP HỌC

SAU 13

2.1 Giới thiệu về học SAU... cecccccccecccc ccs essessessessesscseesessessessesscsseseesesseesesseaees 13

<small>"A0 DG) (21 ee 13</small>

2.1.2 Những dấu mốc quan trọng của học sâu...---- 22 sex: 14

2.1.3 Cấu trúc và mơ hình của một no-ron nhân tạo...---- 5-5: 20

2.1.5 Cấu tạo và phương thức làm việc của mạng nơ-ron...--- 24

<small>2.2 Mạng nơ-ron tích chập... -- -- --- 2c S2 1S SE 1 1H HH Hy rey 252.2.1 NV) tich CHAp n3... 27</small>

2.2.3 Lớp kết nối toàn bộ...--- 2-55 22221 21E21E211211211 212121211 1e 29 2.2.4 Một số kiến trúc mạng nỗi tiếng ...--- 2-52 2+Sz+EccEerxerxerxereee 30

<small>2.2.5 Mơ hình mạng nơ-ron tích chập cho bài tốn nhận diện cử chỉ tay...332.2.6 Mơ hình MobileNet... - -- 2211211121121 1121182118 11182118 tre, 34</small>

2.3. Mạng nơ-ron tích chập 3 chiễu...- 2-2 E+SEeEE+EE+E£EeEEerEerkerkrrree 36

2.3.1 Phép tích chập 3 chiều ...----2- 2S EEEE2 2 EEEEEEEEErrkrrkerreee 36 2.3.2 Cấu trúc của mạng nơ-ron tích chập 3 chiều ...--- 39

2.3.3. Mạng nơ-ron tích chập 3 chiều cho bài toán nhận diện cử chỉ tay...39

<small>GVHD: PGS.TS Phạm Văn Cường Vv SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<small>DO ÁN TOT NGHIỆP</small>

2.4 Mô-đun dịch chuyền thời gian (Temporal Shift Module)... 40

2.4.1 Chỉ tiết về mô-đun dịch chuyền thời gian (TSM)...--- 40

<small>2.4.2 TSM cho bài toán nhận diện cử chỉ fay...- -c sec 45</small>

2.5 _ Kết luận chương...---:- 2 sS<+EE+EEEEEEEEEEEEE 1121121121121 11 11111 rxe, 46

CHƯƠNG 3 THUC NGHIỆM VÀ ĐÁNH GIA ...---c 2s se csecssess47

<small>K5 M6 ta nên ... 47</small>

<small>3.1.1 Bộ dữ liệu 20bn jesfer...- .-- -- - SĂ ng HH HH He 47</small>

3.1.2 Bộ dữ liệu được sử dụng trong đồ án...-- 2-5255 ecsccxczxcsee 48

<small>3.2 Mô tả thực nghiệm ... - --- G122 nn vn TH 11111 1H 1H HH rệt 51</small>

<small>3.3... Phương pháp đánh giá...-- -- -- Gà HH HH Hà HH HH gy 51</small>

3.4 _ Cài đặt và huấn luyện mơ hình... --- - 2 + ++E++E++E+Eerxerxerxerxrreee 51 3.5 Kết qua thực nghiệm và đánh giá mơ hình...- 2-2 52 z2 s52 55

<small>3.6 Chương trình minh họa...- -- Ác 1.1232. TH HH HH giết 56</small>

3.6.1 Tương tác với thiết bị IoT...--- - 2c seSs+Sk+E2EcEcEerkerkerkerkereee 56

<small>3.6.2 Tương tac người — IIấY... ..- --- - 5 tk ng ng tưệp 58</small>

3.7 Kết luận Chu 010g ooo... eccecccccecccsecsessessessesscssesscscsessessesssssessessesesseesessesseeseeees 59

CHƯƠNG 4 TONG KET ooeeescssesssssssscsssesscssesscssesssssnesscsnscessnscsssssessssnececsnsesssseesssneeses 60 TÀI LIEU THAM KHAO...cccssssssssssssessssssssssesssecssesossssccsnecansssscsscsanesonessceasecanesseessees 61

<small>GVHD: PGS.TS Pham Van Cường vi SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<small>DO ÁN TOT NGHIỆP</small>

DANH MỤC HÌNH VE

Hình 1-1 Găng tay được phát triển bởi MIT với nhiều cảm biến...---.:-:- 4 Hình 1-2 Chat lượng hình ảnh thu được từ máy anh những năm 80s...- 4 Hình 1-3 Ví dụ về tương tác người — máy dựa trên cử chỉ tay: Robert Downey Jr.

<small>(Tony Stark) trong vai người sắt sử dụng tay đê tương tác với môi trường thực tê ảo</small>

<small>TANG CUONG. oe. eee n... 5</small>

Hinh 1-4 Minh hoa hé thong nhận diện cử chi tay cổ điền ...-¿-c-csctsxcrcrrkererereee 6 Hình 1-5 Phương pháp tìm siêu mặt phăng năm giữa hai tập đóng...-...--.-- 8 Hình 1-6 Phương pháp tìm siêu mặt phăng bang cực đại hóa lề...---:--- 8

<small>Hình 1-7 Vecto hỗ trỢ... --- - - ScSnS 1111151511818 E1E111E11151 5111111111111 11111111 EEEEETETErxry 8</small>

Hình 1-8 Anh xạ phi tuyến tính và hàm hạt nhân...---- 2-2 5¿2++2++cx+zzxz+zxez 9

<small>Hình 1-9 Minh họa dữ liệu gồm 3 lớp được biểu diễn bởi ba màu: đỏ, xanh lá cây,</small>

xanh nước biÊn...--- 2-2 256 SE9EE2E2E19E1EEE211211571712112111171711211111111. 111.11 xe 10

<small>Hình 1-10 Minh họa việc áp dụng phương pháp một với một cho bộ dữ liệu ví du...11</small>

Hình 1-11 Minh họa áp dụng phương pháp một với tat cả cho tập dit liệu ... 11 Hình 2-1 Mơ hình tổng quan về Trí tuệ nhân ta0 oes eesessessessesseseseeseeseesessessesees 13

<small>Hình 2-2 Lịch sử học sâu... . - - ¿+ 2 111116 223113111 1253111111199 1 11kg 1 ky 15</small>

Hình 2-3 Kiến trúc LeNet-5 ...-.----5+- 22+ tre l6 Hình 2-4 Kết quả ILSVRC đến năm 2015 ...---:-222222+22++t2EEtsrrtrsrrrrrrrrrrre 19

<small>Hình 2-5 Mơ hình một no-ron sinh hOC...cccccessscccesessssececeeesssceececesssseeececeessseeeeeees 20</small>

<small>Hình 2-6 Mơ hình một mạng nơ-ron nhân tạO... -- 5< + + kE+sveEsseeeeseesseers 20</small>

Hình 2-7 Đồ thị hàm Sigmoidd...--- 2-2-2 2 2 £+E£EE£EE£EEEEEEEEEEEEEEEEEEEEEEEEEErkrrkrrkee 21

Hình 2-8 Đỗ thị hàm Tanh...-...-:--222¿222+vzt2EE vttrtEEEkrtrtttktrrrttrrrrrrirrrrrrrree 22

Hình 2-9 Đồ thị hàm ReLU...-..----2¿-©22++++E+++tEEEkxtEEEkkrtttrrrttrirrrrrirerireiie 22 Hình 2-10 Mơ hình cấu tạo của mạng nƠ-rOIn...-- 2-2 2£ ©5£+S£+£E+£E££E£+E++Exerxezsez 25 Hình 2-11 Sự biến đổi dữ liệu khi đi qua CNN...--cc--ccsccsccterrerrrrrrrrrrrrrrkee 27

<small>Hình 2-12 Minh họa phép tích chập trong CNN...-- --- SH He, 28</small>

<small>Hình 2-13 Minh họa dữ liệu khi áp dụng Max Pooling ...---5+-<<++<<++sss+ 29</small>

Hình 2-14 Minh họa lớp kết nối tồn bộ,...-.----2- ¿+ ©++2+++x+2+++Ex++rx+zrxerxesree 30 Hình 2-15 Kiến trúc LeNNet...--c¿-52+2+xt2EEktttEEktrttttrrtttrrrrtrrrrrrirrrireiei 30 Hình 2-16 Kiến trúc của AlexÌNet...---:-2¿22+2k+SE2E2EE2E1E2171121127171 21.211... 31 Hình 2-2-17 Kiến trúc Z/FNNet...--- +: + ©22+E2+EEEEEE2E221221717112112117171. 2111111 31 Hình 2-18 Kiến trúc của Inception-v.4...--- + s£++++E++Ex+EEeEEE+EESEEEEEeEErrkrrkerkerree 32 Hình 2-19 Kiến trúc của WGIĨ...-¿- 2 5¿+22+EE+EEEE2E122171211211221 7171.211111 33

<small>Hình 2-20 Kiến trúc của ResiNet...----:- 2-52 £+E22E2EEEEEEE21121121121121 7111111. 33</small>

Hình 2-21 Mơ hình kiến trúc mạng MobilelNet...---2- 2 ++2+>x++£x++zx+zx+z+z 35

<small>Hình 2-22 Hình minh hoạ phương pháp tính tích chập Depthwise Separable</small>

<small>CONVOIULION 001017757... ... dd... 36</small>

Hình 2-23 So sánh phép tích chập 2 chiều và phép tích chập 3 chiều. ... 38 Hình 2-24 Hình minh họa trích xuất nhiều đặc trưng khác nhau từ các khung hình khác

<small>nhau trên cùng MOE VỊ ẨTÍ...- - - -- 5 2c 6311831183111 1191 19 11 911 91 11H nh 39</small>

Hình 2-25 Ví dụ về một cau trúc của mạng nơ-ron tích chập 3 chiều ... 39

<small>GVHD: PGS.TS Phạm Văn Cường vii SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>DO ÁN TOT NGHIỆP</small>

Hình 2-26 Minh họa phương pháp dịch chuyên một phan kênh ...-- 41 Hình 2-27 Minh họa hai phương pháp đặt mơ-đun dịch chuyền. ... 43 Hình 2-28 (a) độ trễ do dịch chuyên dữ liệu. (b) độ trễ của hai phương pháp dịch

chuyên dư thừa và dịch chuyền tại chỗ _...---¿---¿©22¿55+2cx+2cxccxesres 43 Hình 2-29 Minh họa về dịch chuyên một hướng trong TSM ...---5:-5- 44 Hình 3-1 Thống kê số lượng video mỗi lớp ...---¿- 5+ ©+©++cx++zxvzxecres 48 Hình 3-2 Biéu đồ phân phối video ở mỗi lớp...---:¿©5¿c++2++2x++cx++zxvzxezzs+ 49 Hình 3-3 Biéu đồ phân bố dữ liệu của từng lớp trên hai tập huấn luyện và kiểm tra ...50 Hình 3-4 Minh họa về dữ liệu_...----¿-2¿-©5¿©2++2E+2EE+2EEEEEeEkterxrrrkerrrcree 50

<small>Hình 3-5 Minh họa file nhãn của đữ liệu ...--- << 555222222 E+++sseeeereeeezss 51</small>

Hình 3-6 Quá trình huấn luyện mơ hình mạng nơ-ron tích chập 2 chiều... 52 Hình 3-7 Minh hoa quá trình huấn luyện mạng nơ-ron tích chập 3 chiều ... 54 Hình 3-8 Minh họa q trình huấn luyện mơ hình TSM...--.-- ¿2 s2 s2 5+2 55 Hình 3-9 Sơ đồ hệ thống,... -- ¿- ¿- +E9SE+EE9EE2E12E2171217171211111121121. 7111111. x0 56 Hình 3-10 Hình ảnh công tắc đèn điều khiển thông qua wifi Tuya...--- 57

<small>Hình 3-11 Minh họa chương trình điều khiển G60 .o..c.ccececceeceseseessesseseeseeseeseesessesesees 57</small>

Hình 3-12 Minh họa chương trình điều khiển đèn...--- 2-2 2 2+xe£xe£xe£xerxeceez 58

<small>Hình 3-13 Minh họa chương trình tương tac người - my ...- --‹-ssss+ssssssssss 58</small>

<small>Hình 3-14 Minh họa chương trình tương tac người - mấy ...- --- «-+s«+s++ss+sx+ 59</small>

<small>GVHD: PGS.TS Phạm Văn Cường vii SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<small>DO ÁN TOT NGHIỆP</small>

DANH MỤC BANG BIEU

Bảng 2-1 Kết quả thử nghiệm mơ hình TSM so với mơ hình mạng nơ-ron tích chập 2

Bảng 2-2 Kết quả độ chính xác và độ trễ của mơ hình TSM ngoại tuyến và trực tuyến

<small>so với mơ hình mang phân đoạn thời gian (TSỈÌN)... -.- 3S sssseixssrserresrses 45</small>

Bảng 3-1 Thống kê bộ dữ liệu 20bn Jester...--- ¿5£ ©5+22S+2x+2£++£x++zxezrxerxesree 47 Bang 3-2 Lớp và số lượng video mỗi lớp trên tập dữ liệu sử dụng dé huấn luyện ... 49 Bảng 3-3 Tham số và ý nghĩa khi huấn luyện mơ hình mạng nơ-ron tích chập 3 chiều

<small>¬—... äẽa... 53</small>

Bảng 3-4 Ý nghĩa các tham số huấn luyện mơ hình TSM...--.----:- ¿25+55 Bảng 3-5 Kết quả thực nghiệm trên 3 mơ hình ...---2- 2 +¿©+22++£x++zx+zx+zs+ 55

<small>GVHD: PGS.TS Pham Van Cường ix SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<small>DO ÁN TOT NGHIỆP</small>

DANH MỤC TỪ VIET TAT

STT | Từ viết tắt Tiếng Anh Tiếng viét/Giai thích <small>1 AI Artificial Intelligence Tri tué nhan tao</small>

<small>2 ML Machine Learning Hoc may</small>

<small>3 DL Deep Learning Hoc sau</small>

<small>4 DNN Deep Neural Network Mang no-ron hoc sau5 CNN Convolutional Neural Network Mang no-ron tich chap6 CONV Convolutional Layer Lớp tích chap</small>

<small>7 RELU Rectified Linear Unit Layer Lop kich hoat ReLU8 POOL Pooling Layer Lớp gộp</small>

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

10 TSM Temporal Shift Module _

11 VR Virtual Reality Thực tế ảo

<small>12 AR Augmented Reality Thực tai tang cường13 2D 2 Dimension 2 chiều</small>

14 3D 3 Dimension 3 chiều

<small>GVHD: PGS.TS Phạm Văn Cường XSVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small>DO ÁN TOT NGHIỆP</small>

LỜI NÓI ĐẦU

Trong những năm gần đây, trên thế giới nghiên cứu ứng dụng công nghệ xử lý và nhận dạng ảnh đang là hướng nghiên cứu tập trung của rất nhiều nhà khoa học trong

<small>các lĩnh vực. Từ những năm 1970 khi mà năng lực tính tốn của máy tính ngày càng trở</small>

nên mạnh mẽ hơn, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như các hình ảnh, các đoạn video thì một khái niệm nữa về xử lý ảnh ra đời đó là: Thị giác máy tính. Có thể nói xử lý ảnh số và thị giác máy tính đã được phát triển và trở thành một lĩnh vực khoa học. Xử lý ảnh số không chi nâng cao chất lượng của ảnh mà cịn phân tích và lý giải, tìm ra giải thuật để ứng dụng vào thực tiễn. Thị giác máy tính bao gồm lý thuyết và các kỹ thuật liên quan nhăm mục đích tạo ra một hệ thong nhân tao có thé tiếp nhận thơng tin từ các hình anh thu được hoặc các tập dữ liệu đa chiều. Việc kết hop giữa thị giác máy tính với các kỹ thuật khác như cơng nghệ thông tin, truyền thông, điện tử. điều khiến tự động, cơ khí... cho chúng ta rất nhiều ứng dụng trong đời sống hàng

<small>ngảy cũng như trong khoa học, an ninh, y học, quân sự... Ngày nay, ứng dụng của thị</small>

giác máy đã trở nên rất rộng lớn và đa dạng, len lỏi vào mọi lĩnh vực từ quân sự, khoa học, vũ trụ, cho đến y học, sản xuất, và tự động hóa.

Nhận diện là một trong các ứng dụng của thị giác máy tính, xuất hiện cách đây khá lâu và vẫn luôn thu hút được nhiều sự quan tâm, nghiên cứu. Đặc biệt là trong vài

thập niên gần đây, do sự thúc day của quá trình tin học hóa trong mọi lĩnh vực, bài tốn

<small>nhận diện khơng còn dừng lại ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực</small>

dé áp dụng vào thực tế. Các bài toán nhận diện đang được ứng dụng trong thực tế hiện nay tập trung vào nhận diện mẫu, nhận diện tiếng nói và nhận diện chữ. Nhận dạng cử

<small>chỉ tay là một trong những thuật toán nhận diện mẫu được ứng dụng rất nhiều vào các</small>

hoạt động thực tiễn. Bài toán lay đầu vào là một ảnh hoặc một video, từ đó thơng qua

q trình trích xuất đặc trưng và nhận dạng sau đó đưa ra kết quả.

Trong những năm trở lại đây, với sự phát triển của cơng nghệ máy tính và khoa học đữ liệu, dẫn đến sự phát triển của Học sâu. Các kiến trúc mạng nơ-ron được đề xuất để giải quyết các bài toán nhận dạng cử chỉ tay. Ưu điểm vượt trội của các mạng nơ-ron

là khả năng học từ đầu đến cuối (End-to-end Learning), tức là khả năng học từ dữ liệu

và nhãn của dữ liệu mà không cần sự can thiệp của con người.

Trong bài toán này, đồ án sẽ trình bày kiến trúc mạng no-ron phù hợp nhất cho bài tốn nhận dạng cử chi tay và có thé ứng dung đề điều khiến thiết bị. Kiến trúc này

là sự kết hợp của mạng nơ-ron tích chập (CNN) và một mơ-đun dé có thé lay được thơng tin từ các mốc thời gian khác nhau. Bang sự kết hợp này, mơ hình có thé có được thơng

tin từ cả miền không gian và miễn thời gian. Kiến trúc này được gọi là mô-đun dịch chuyền thời gian (Temporal Shift Module - TSM)

Trong nội dung trình bày của đồ án này, đồ án sẽ trình bày một số nội dung như

<small>GVHD: PGS.TS Pham Văn Cường Page |1 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<small>DO ÁN TOT NGHIỆP</small>

e Chương 1: Tổng quan về bài toán nhận diện cử chỉ tay

Nội dung chương 1 sẽ khái quát về bài tốn nhận diện cử chỉ tay, tính ứng dụng vào thực tiễn của bài toán. Các vấn đề và phương pháp giải quyết bài tốn và trình bày về phạm vi đồ án

<small>e Chương 2: Nhận diện cử chi tay sử dụng phương pháp học sâu</small>

Nội dung chương 2 sẽ trình bày về học sâu và đưa ra nội dung chỉ tiết về một số thuật toán nhận diện cử chỉ tay và mơ hình TSM, các điểm mạnh và điểm yếu của thuật

<small>tốn đó.</small>

<small>e Chương 3: Thực nghiệm và đánh gia</small>

<small>Nội dung của chương 3 trình bay quá trình thu thập, xử lý dữ liệu, mơ tả phương</small>

<small>pháp thực nghiệm và đánh giá mơ hình TSM ứng dụng vào nhận diện cử chỉ tay và trình</small>

bày các kết quả của quá trình thực nghiệm

e Chương 4: Tong kết

Tổng kết bài tốn, tóm tắt những kết quả đã đạt được và cịn chưa đạt được. Từ

đó đề xuất mục tiêu hướng tới cũng như hướng nghiên cứu, phát triển tiếp theo

<small>GVHD: PGS.TS Phạm Văn Cường Page |2 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small>ĐỎ AN TOT NGHIỆP</small>

CHƯƠNG 1

TONG QUAN VE BÀI TỐN NHẠN DIỆN CỬ CHÍ TAY

Trong chương 1, đồ án trình bài cái nhìn tổng quan về bài toán nhận diện cử chi tay. Các phương pháp giải quyết bài toán. Chương 1 sẽ gồm các phan

<small>e Bài toán nhận diện cử chỉ tay</small>

<small>e Cac phương pháp nhận diện cử chi tay</small>

e_ Mục tiêu đồ án

<small>1.1 Giới thiệu bài toán nhận diện cử chỉ tay</small>

Lịch sử phát triển của bài toán nhận diện cử chỉ tay dé điều khiển máy tính bắt đầu bằng các phát minh dựa trên găng tay. Các nhà nghiên cứu nhận ra răng có thể sử

dụng cử chỉ tương tự như ngôn ngữ ký hiệu dé đưa ra các lệnh đơn giản cho máy tính.

Với sự phát triển của máy móc như các máy cảm biến gia tốc, máy ảnh hồng ngoại hay các cảm biến dẫn đến sự phát triển của bài tốn. Sau đó nhờ vào sự phát triển của phan cứng và công nghệ các nhà nghiên cứu cuối cùng cũng phát triển được hệ thống nhận

dạng cử chỉ dựa vào thị giác máy tính mà khơng cần bắt kỳ cảm biến nào được gắn thêm

<small>Vào tay.</small>

Bắt đầu từ những năm 90s với sự hạn chế về năng lực tính tốn. Các nhà nghiên cứu đã sử dụng một găng tay được gắn với các cảm biến đề thu thập dữ liệu, các thơng tin đó sẽ được gan với một cử chi cu thé và được sử dụng như là các mẫu dé nhận diện. Các găng tay cảm biến được sử dụng cho quá trình thu thập dữ liệu được phát

triển qua từng thời kỳ. Một trong những nguyên mẫu găng tay đầu tiên được phát minh tại trường đại học MIT vào năm 1977. Theo sau đó là một loạt các phát minh về găng

tay cảm biến cho phép lấy dữ liệu một cách chính xác hơn.

<small>GVHD: PGS.TS Phạm Văn Cường Page |3 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<small>ĐỎ AN TOT NGHIỆP</small>

<small>Hình 1-1 Găng tay được phát triển bởi MIT với nhiều cảm biến</small>

<small>Hệ thống nhận dạng cử chỉ bằng thị giác máy tính được nghiên cứu và phát triển</small>

vào những năm 80s. Tại thời điểm đó cơng nghệ sử dụng thị giác máy tính gặp rất nhiều trở ngại như máy ảnh với hiệu suất tính tốn rất thấp và cho ra độ phân giải rất kém cùng

với sự khơng nhất qn về màu sắc. Do đó các nghiên cứu về sử dụng thị giác máy tính

<small>cho bài tốn nhận diện cử chỉ tay chưa được công nhận một cách rộng rãi. Hình 1.2 minh</small>

họa một ví dụ về ảnh được thu bởi máy ảnh những năm 80s.

Trong những năm gần đây, công nghệ phát triển cùng với việc các máy ảnh cũng phát triển và hình ảnh thu được đã trở nên rõ nét với độ phân giải cao, màu sắc thống nhất, tạo tiền đề cho sự phát triển của phương pháp sử dụng thị giác máy tính cho bài

<small>tốn nhận diện cử chỉ tay.</small>

Hơn nữa với sự phát triển của học sâu, các phương pháp càng ngày càng cho độ chính xác cao hơn và có thé ứng dụng tốt hơn vào trong thực tế.

<small>Với phương pháp thị giác máy tính, dữ liệu sẽ được thu lại dưới dạng video hoặc</small>

dạng ảnh. Mỗi ảnh hoặc mỗi video đó sẽ được gán với một nhãn cụ thể và được sử dụng để huấn luyện.

1.2 Ứng dụng của bài toán nhận diện cử chỉ tay

<small>GVHD: PGS.TS Phạm Văn Cường Page |4 _ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>ĐỎ AN TOT NGHIỆP</small>

Động lực đăng Sau sự quan tâm của các nhà nghiên cứu cho bài tốn nhận diện

cử chỉ tay cho dù dùng hình ảnh hay cảm biến là có thé ứng dụng được cho nhiều

lĩnh vực khác nhau, chang hạn như tương tác người — máy, tương tác thực tế ảo

và thực tế ảo tăng cường, nhận dạng ngôn ngữ ký hiệu và xây dựng người máy.

Trong nhiều bộ phim về tương lai, các nhân vật thường sử dụng cử chỉ tay để

tương tác với máy tính như được mơ tả trong hình 1.3. Hiện tại các hệ thống chưa

cho phép con người có thé thao tác tự do như vậy, nhưng những ví dụ này cho

thầy tiềm năng mà hệ thống tương tác dựa trên cử chỉ tay có thé phát triển. Điều

này sẽ làm thay đổi hoàn toàn cách con người tương tác với máy tinh trong tương

1.2.1 Tương tác với thực tế ảo và thực tại tăng cường

Thực tế ảo (VR)

<small>VR là một cơng nghệ tạo ra các hình ảnh, âm thanh và cảm giác mô phỏng sự hiện</small>

diện của người dùng trong một môi trường. Một người sử dụng môi trường thực tế ảo

chất lượng cao có thể nhìn và di chuyên tự do xung quanh thế giới nhân tạo.

<small>Thực tại tăng cường (AR)</small>

AR là góc nhìn trên thế giới thực được tạo ra bởi máy tính. AR nâng cao mơi trường thực tại, ngược lại, VR thay thế tồn bộ thế giới thật bằng một thế giới mô

Ngày nay các công nghệ về VR đang được phát triển rất rằm rộ, có nhiều nhà phát

triển đã ứng dụng được công nghệ VR vào việc làm phim, làm game. Công nghệ AR

<small>GVHD: PGS.TS Phạm Văn Cường Page |5 SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<small>ĐỎ AN TOT NGHIỆP</small>

cũng đang được phát triển nhưng so với VR vẫn còn cần một thời gian nữa cho đến khi chúng ta có thể thực sự sử dụng cơng nghệ này vào cuộc sống.

<small>1.2.2 Nhận diện ngôn ngữ ký hiệu</small>

Ngôn ngữ ký hiệu là ngôn ngữ được sử dụng bởi người khiếm khuyết về thính giác hoặc lời nói. Họ sử dụng ngôn ngữ ký hiệu như một phương tiện giao tiếp không lời dé thé hiện suy nghĩ và cảm xúc của ho.

Tuy nhiên, chỉ có một số ít người có thê hiểu được ngơn ngữ ký hiệu. Do đó những người khiếm thính phải yêu cầu sự trợ giúp của một thông dịch viên. Mặc dù việc thuê

thông dịch viên là rất tốn kém và không phải lúc nào cũng có thể. Một hệ thống nhận

dạng ngơn ngữ ky tự mạnh mẽ và hiệu quả có thé giúp mọi người có một cơng cụ rẻ và dé dàng sử dụng dé tương tác với người khiếm khuyết về thính giác và lời nói.

1.2.3 Cơng cụ hỗ trợ cuộc sống

Một ứng dụng khác của việc nhận diện cử chỉ tay là có thể hỗ trợ chúng ta trong cuộc sống thường ngày. Do người máy vẫn là một điều khá xa vời tại thời điểm hiện tại, nên câu hỏi đặt ra là có cách nào để những người bệnh khơng thé di chun duoc có thé tương tác với môi trường xung quanh. Điều này đã đưa đến một ứng dụng là sử dụng nhận diện cử chỉ tay dé họ có thé tương tác với mơi trường xung quanh như có

thể tắt, bật đèn, mà khơng cần phải di chuyên.

1.3 Một số phương pháp cho bài toán nhận diện cử chỉ tay

1.3.1 Phương pháp nhận diện cử chỉ tay cỗ điển

Trong những năm đầu phát triển bài toán nhận diện cử chỉ tay đã có một số phương

pháp được đưa ra. Phương pháp đầu tiên được các nhà nghiên cứu đưa ra đó là sử

dụng một bộ cảm biến được gắn trên một chiếc găng tay dé thu thập các thông số khi thực hiện một hành động nào đó. Các thơng số đó sau khi thu thập sẽ được đưa vào xử lý là thông qua các thuật tốn nhận diện đề có thể nhận diện được cử chỉ tay. Hình 1.4 minh họa phương pháp truyền thống cho bài tốn nhận diện cử chỉ tay.

<small>Hình 1-4 Minh họa hệ thống nhận diện cứ chỉ tay cổ điển</small>

<small>GVHD: PGS.TS Phạm Văn Cường Page |6 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<small>ĐỎ AN TOT NGHIỆP</small>

Nhận diện cử chỉ tay thường bao gồm các giai đoạn: thu thập dit liệu từ cảm biến, tiền xử lý dữ liệu, cho dữ liệu đi qua thuật toán nhận diện và thu về kết quả, hậu xử lý kết quả và cuối cùng là đưa ra kết quả nhận diện

e Thu dữ liệu từ cảm biến: người dùng sẽ phải đeo một chiếc găng tay được gắn các cảm biến đề thu đữ liệu cử động.

e Tiền xử lý: Giảm nhiễu trong quá trình thu dữ liệu từ cảm biến, chuẩn hóa dữ

e Thuật tốn nhận diện: Thường là các thuật tốn học máy cơ điển như máy vectơ

<small>hỗ trợ đa lớp (SVM), ...</small>

e Hậu xử lý: Xử lý các kết quả được thuật toán trả về và đưa ra kết quả cuối cùng.

<small>Thuật toán máy vectơ hỗ trợ (SVM)</small>

Có thể mơ tả 1 cách đơn giản về bộ phân lớp SVM như sau: Cho trước 2 tập dữ liệu học, mỗi tập thuộc về 1 lớp cho trước, bộ phân lớp SVM sẽ xây dựng mơ hình

<small>phân lớp dựa trên 2 tập dữ liệu này. Khi có một mẫu mới được đưa vào, bộ phân lớp sẽ</small>

<small>đưa ra dự đoán xem mẫu này thuộc lớp nào trong 2 lớp đã định. Phương pháp này</small>

được Vapnik và cộng sự đề xuất năm 1992, lấy nền tảng từ lý thuyết học thống kê của

<small>Vapnik & Chervonenkis vào năm 1960.</small>

Đặc trưng cơ bản quyết định khả năng phân loại của một bộ phân loại là hiệu suất

tong quát hóa, hay là khả năng phân loại những dữ liệu mới dựa vào những tri thức đã tích lũy được trong quá trình huấn luyện. Thuật tốn huấn luyện được đánh giá là tốt

nếu sau quá trình huấn luyện, hiệu suất tổng quát hóa của bộ phân loại nhận được cao.

Hiệu suất tổng quát hóa phụ thuộc vào hai tham số là sai số huấn luyện và năng lực

của máy học. Trong đó sai số huấn luyện là tỷ lệ lỗi phân loại trên tập dữ liệu huấn luyện. Còn năng lực của máy học được xác định bằng kích thước Vapnik

Chervonenkis (kích thước VC). Kích thước VC là một khái niệm quan trọng đối với

một họ hàm phân tách (hay là bộ phân loại). Đại lượng này được xác định bang số

điểm cực đại mà họ hàm có thể phân tách hồn tồn trong khơng gian đối tượng, Một

bộ phân loại tốt là bộ phân loại đơn giản nhất và đảm bảo sai số huấn luyện nhỏ.

<small>Phương pháp SVM được xây dựng dựa trên ý tưởng này</small>

<small>Công thức máy vectơ hỗ trợ</small>

Công thức SVM đơn giản nhất là trường hợp tuyến tính khi mà một siêu phẳng quyết định nằm giữa hai tập dữ liệu.Trong trường hợp này, không gian giả định là một tập các điểm có phương trình là: f(x) = w- x + b. SVM đi tìm một siêu phăng tối ưu như một phương án đề phân chia hai tập hợp dữ liệu và đồng thời có thể sử dụng cho

<small>những dữ liệu mới.</small>

Có hai phương pháp dé tìm siêu phang tối ưu. Thứ nhất là tìm siêu phăng nằm giữa 2 tập đóng (Hình 1.5). Thứ hai là cực đại hóa khoảng cách giữa hai mặt phang hỗ trợ (cực đại hóa lề) (Hình 1.6). Cả hai phương pháp đều tim ra một mặt phẳng quyết

<small>GVHD: PGS.TS Phạm Văn Cường Page |7 SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<small>ĐỎ AN TOT NGHIỆP</small>

| h———

<small>Hình 1-8 Anh xạ phi tuyến tính và ham hạt nhân</small>

Việc huấn luyện SVM là việc giải bài toán quy hoạch toàn phương với các ràng buộc bằng và không bằng. Việc xử lý sau cùng là xử lý các tham số dương ơ và rút ra một tập con của tập huấn luyện tương ứng với các tham số. Việc huấn luyện một tập dữ liệu nhỏ (nhỏ hơn 1000 mẫu) có thé được xử lý một cách nhanh chóng trên một

máy tính có cấu hình thích hợp. Đối với những tập dữ liệu lớn hơn, việc giải bài tốn quy hoạch tồn phương địi hỏi một máy tinh có năng lực lớn và bộ nhớ lớn dé lưu trữ ma trận hạt nhân trong suốt quá trình tính tốn. Bộ nhớ u cầu lên đến bình phương kích thước của tập huấn luyện.

Có nhiều phương pháp huấn luyện SVM được phát triển dé tận dụng bộ nhớ, cải thiện tốc độ huấn luyện và tìm một mơ hình tốt nhất bằng cách dùng một nhân và

các siêu tham số thích hợp (Burges, 1988). Lưu ý rằng, SVM cơ bản dùng cho hai lớp. Dé có thé dùng cho nhiều lớp thì ta phải kết hợp nhiều bộ phân loại hai lớp hoặc xây

dựng SVM cho nhiều lớp.

<small>Thuật toán máy vectơ hỗ trợ đa lớp</small>

Trong bài toán nhận diện cử chỉ tay, cử chỉ tay khơng chỉ có hai lớp, mà có rất nhiều lớp. Do đó dé giải quyết bài toán nhận diện cử chỉ tay chúng ta phải xử lý bằng phương pháp nhận diện đa lớp. Hình 1.9 minh họa dữ liệu gồm nhiều lớp.

<small>GVHD: PGS.TS Phạm Văn Cường Page |9 _ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Dé có thể giải quyết bài toán đa lớp bằng thuật toán máy vecto hỗ trợ, chúng ta cần chia bài toán đa lớp thành các bài toán phân loại nhị phân. Phương pháp đầu tiên

đó là với mỗi lớp, so sánh lớp đó với từng lớp khác, việc này sẽ biến bài toán phân loại đa lớp thành nhiều bài toán phân loại nhị phân. Phương pháp này gọi là một với một.

<small>Một phương pháp khác đó chính là với mỗi lớp, so sánh lớp đó với tất cả các lớp cịnlại, phương pháp này gọi là một với cịn lại.</small>

Thuật tốn máy vectơ hỗ trợ có thể phân biệt giữa hai lớp nhị phân, do đó, theo

hai cách được trình bày phía trên, chúng ta có thể sử dụng máy vectơ hỗ trợ đề phân

<small>loại các lớp.</small>

e Với phương pháp một với cịn lại: bộ phân loại có thé sử dụng ? máy vectơ hỗ trợ dé phân loại m lớp. Mỗi máy vecto hỗ trợ sẽ phân loại một trong m

e Với phương pháp một với một: bộ phân loại có thé sử dung máy

<small>vectơ hỗ trợ</small>

<small>Vi dụ với bài toán phân loại ba lớp như hình 1.9. Khi áp dụng hai phương pháp cho bộ</small>

dữ liệu sẽ được kết quả như sau:

e Khi sử dụng phương pháp một với một, chúng ta cần một siêu mặt phang dé phân biệt mỗi 2 lớp. Bỏ qua các điểm dữ liệu thuộc lớp thứ ba. Điều này có

nghĩa là việc phân tách chỉ sử dụng các điểm dữ liệu thuộc vào hai lớp trong lần phân tách hiện tại. Ví dụ như hình 1.10, đường màu đỏ-xanh nước biển sẽ phân biệt giữa hai lớp là đỏ và xanh nước biển. Nó sẽ không quan tâm đến các điểm

<small>thuộc lớp màu xanh lá cây.</small>

<small>GVHD: PGS.TS Phạm Văn Cường Page |10_ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<small>ĐỎ AN TOT NGHIỆP</small>

<small>Hình 1-10 Minh họa việc áp dụng phương pháp một với một cho bộ dit liệu ví du</small>

e Khi sử dụng phương pháp một với còn lại, chúng ta cần một siêu mặt phăng

phân biệt giữa một lớp hiện tại và tất cả các lớp còn lại. Điều này nghĩa là việc

phân tách sẽ sử dụng tất cả các lớp, chia chúng thành hai nhóm, một nhóm

thuộc lớp hiện tại và một nhóm gồm tắt cả các điểm dữ liệu thuộc các lớp cịn

<small>lại. Ví dụ trong hình 1.11, đường màu xanh lá cây sẽ phân chia hai lớp là lớpmàu xanh lá cây và các lớp cịn lại.</small>

<small>x1 #</small>

<small>Hình 1-11 Minh họa áp dụng phương pháp một với tat cả cho tập dữ liệu</small>

Với một trong hai phương pháp trên, ta có thể áp dụng thuật tốn máy vectơ hỗ trợ cho

<small>bài toán nhận diện cử chỉ tay với nhiêu lớp.</small>

<small>1.3.2 Phương pháp nhận diện cử chỉ tay hiện đại</small>

Trong những năm gần đây, rất nhiều các phương pháp nhận diện cử chỉ tay được đưa

<small>ra, nhưng trong khuôn khô của đô án, đô án chỉ đưa ra hai phương pháp cơ bản nhât cho</small>

<small>GVHD: PGS.TS Phạm Văn Cường Page |11 SVTH: Nguyén Thé An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<small>ĐỎ AN TOT NGHIỆP</small>

<small>bài toán nhận diện cử chỉ tay. Hai phương pháp đó chính là phương pháp học sâu sử</small>

dụng mơ hình mạng nơ-ron tích chập 2 chiều và mơ hình mạng nơ-ron tích chập 3 chiều. Mơ hình mạng no-ron tích chập 2 chiều là mơ hình sử dụng các lớp tích chập đóng vai trị trích xuất đặc trưng của ảnh, sau đó sử dụng các đặc trưng đó cho các bài tốn khác nhau. Bài toán phân loại cử chỉ tay cũng là một trong các bài tốn có thể ứng dụng mơ hình mạng nơ-ron tích chập. Mơ hình mạng nơ-ron tích chập với đầu vào là một ảnh

tĩnh và đầu ra sẽ là xác suất ảnh đó được xếp vào lớp nào của bài tốn.

Mơ hình mạng nơ-ron tích chập 3 chiều, tương tự như mơ hình mạng nơ-ron tích chập nhưng bộ lọc trong các lớp tích chập sẽ được thêm một chiều đó là chiều thời gian. Đầu vào của mơ hình thay vì là một ảnh tĩnh thì sẽ là một chuỗi các ảnh liên tiếp nhau. Điều này sẽ làm tăng độ chính xác đối với bài tốn nhưng cũng sẽ làm tăng số lượng tham số của mô hình và giảm tốc độ tính tốn.

Trong nội dung của đồ án, đồ án sẽ sử dụng mơ hình mơ-đun dịch chuyền miền thời

gian (TSM). Mơ hình là sự kết hợp của mô-đun giúp lấy thông tin từ miền thời gian và mạng nơ-ron tích chập 2 chiều. Vừa có thé có độ chính xác cao hơn so với mạng nơ-ron

tích chập 2 chiều với những bai tốn có thơng tin trên miền thời gian và tốc độ xử lý

nhanh hơn so với mạng nơ-ron tích chập 3 chiêu.

1.4 Phạm vi đồ án

Nội dung đồ án sẽ tập trung vào huấn luyện một mơ hình nhận diện cử chỉ tay có thể chạy trên thời gian thực sử dụng mơ hình mơ-đun dịch chun thời gian (TSM). So sánh mơ hình mơ-đun dịch chuyền thời gian (TSM) với hai phương pháp là mạng nơ-ron tích chập 2 chiều và mạng nơ-ron tích chập 3 chiều. Thực nghiệm, đánh giá mơ hình và xây

<small>dựng chương trình minh họa.</small>

1.5 Kết luận chương

Trong chương 1, đồ án đã trình bày tổng quát về bài toán nhận diện cử chỉ tay, các giai đoạn phát triển, giới thiệu một số phương pháp nhận diện cử chỉ tay sẽ được trình bày trong đồ án và phạm vi của đồ án.

Trong chương tiếp theo, đồ án sẽ trình bày tổng quan về học sâu, chi tiết về mơ hình

<small>mạng nơ-ron tích chập 2 chiều, mơ hình mạng nơ-ron tích chập 3 chiều và mơ hình </small>

mơ-dun dich chun thời gian (TSM). Điểm yếu và điểm mạnh khi áp dụng các mơ hình

trên vào bài toán nhận diện cử chi tay ứng dung dé điều khiển thiết bị điện tử.

<small>GVHD: PGS.TS Phạm Van Cường Page |12_ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<small>ĐỎ AN TOT NGHIỆP</small>

CHƯƠNG 2

NHAN DIỆN CỬ CHÍ TAY SỬ DỤNG PHƯƠNG PHÁP HOC SAU

Trong chương này, đồ án sẽ trình bày khái quát về học sâu, đi sâu vào giới thiệu về

một số mơ hình học sâu được sử dụng trong bài toán nhận diện cử chỉ tay và mơ hình mơ-đun dịch chun thời gian (TSM). Chương 2 sẽ gồm các phần:

e_ Giới thiệu về học sâu

<small>e Mô hinh CNN</small>

<small>e Mơ hình 3D CNN</small>

e Mơ-đun dịch chuyền thời gian (TSM)

2.1 Giới thiệu về học sâu

<small>2.1.1 Khái niệm</small>

<small>Tri tuệ nhân tao hay trí thơng minh nhân tạo (Artificial intelligence hay Machine</small>

<small>intelligence - AI) là trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có</small>

thể tự động hóa các hành vi thơng minh như con người. Trí tuệ nhân tạo ln là một ngành khoa học khó tiếp cận cho những người mới bắt đầu bởi trí tuệ nhân tạo được xây dựng từ nhiều nền tảng khác nhau. Những năm gan đây, với tốc độ phát triển vơ cùng nhanh chóng nhờ vào những tiến bộ trong ngành khoa học dữ liệu (Data Science) và những siêu máy tính có tốc độ tính tốn cực kì nhanh chóng, AI nổi lên như một bằng chứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 - năng lượng điện, 3 - công nghệ thông tin) và đang len lỏi vào mọi lĩnh vực trong đời sống mà có thể chúng ta khơng nhận ra, giúp cho cuộc sống của con người ngày một tốt đẹp hơn.

<small>Hình 2-1 Mơ hình tổng quan về Trí tuệ nhân tạo</small>

<small>Hoc máy (Machine Learning - ML) là một tập con cua AI. Nói đơn giản, MachineLearning là một lĩnh vực nhỏ của Khoa Học Máy Tính, nó có khả năng tự học hỏi dựa</small>

trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể. Nếu AI thể hiện một mục

<small>GVHD: PGS.TS Phạm Van Cường Page |13_ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<small>ĐỎ AN TOT NGHIỆP</small>

<small>tiêu của con người, ML là một phương tiện được kỳ vọng sẽ giúp con người đạt được</small>

mục tiêu đó. Và thực tế thì ML đã mang nhân loại đi rất xa trên quãng đường chinh phục AI. Nhưng vẫn còn một quãng đường xa hơn rất nhiều cần phải đi. Machine Learning và AI có mối quan hệ chặt chẽ với nhau nhưng khơng han là trùng khớp vì một bên là

<small>mục tiêu (AI), một bên là phương tiện (ML). Chinh phục AI mặc dù vẫn là mục đích tối</small>

thượng của ML, nhưng hiện tại ML tập trung vào những mục tiêu ngắn hạn hơn như:

<small>e Lam cho máy tính có những khả năng nhận thức co ban của con người như</small>

nghe, nhìn, hiểu được ngơn ngữ, giải tốn, lập trình...

e Hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ mà

chúng ta phải đối mặt hàng ngày, hay còn gọi là Big Data.

<small>Học sâu (Deep Learning - DL) là một tập các kỹ thuật học máy mạnh sử dụng mạng</small>

nơ-ron nhiều lớp. Đây hiện là công nghệ dẫn đầu trong việc giải quyết nhiều bài toán trong lĩnh vực nhận diện ảnh, nhận diện giọng nói, từ đó mang thêm nhiều giá tri mới cho doanh nghiệp trên nhiêu lĩnh vực. Mạng nơ-ron nhân tạo (Artificial Neural Network-ANN) là mơ hình xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các nơ-ron được gắn kết dé xử lý thông tin. ANN giống như bộ não con người, được học bởi kinh nghiệm (thơng qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data). Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự... dé

giải quyết các bài tốn có độ phức tạp va địi hỏi có độ chính xác cao, các tác vụ “dé với

<small>người nhưng khó với máy”:</small>

e Nhận diện mẫu: nhận diện khn mặt, nhận diện chữ viết...

e Dự đốn: dự đoán giá cổ phiếu tăng hay giảm, dự đoán thời tiết mưa hay nắng...

<small>e Xử lý tín hiệu: loc âm, khử nhiễu ảnh...</small>

e Điều khiến: điều khiển xe tự hành, máy bay không người lái...

e Soft sensors: lấy thông tin từ các cảm biến dé đánh giá và đưa ra một kết quả... e Phát hiện bất thường: phát hiện bất thường trong các sản phẩm, trang web...

2.1.2 Những dấu mốc quan trọng của học sâu

<small>GVHD: PGS.TS Phạm Văn Cường Page |14 SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Một trong những nền móng đầu tiên của mạng nơ-ron và học sâu là perceptron

<small>learmng algorithm (hoặc gọn là perceptron). Perceptron là một thuật tốn học có giám</small>

sát giúp giải quyết bài toán phân lớp nhị phân, được khởi nguồn bởi Frank Rosenblatt

<small>năm 1957 trong một nghiên cứu được tài trợ bởi Văn phòng nghiên cứu hải quân Hoa</small>

Ky (U.S Office of Naval Research — từ một cơ quan liên quan đến quân sự). Thuật toán

perceptron được chứng minh là hội tụ nếu hai lớp dữ liệu là có thé phân tách tuyến tính.

<small>Với thành cơng nảy, năm 1958, trong một hội thảo, Rosenblatt đã có một phát biểu gây</small>

tranh cãi. Từ phát biểu này, tờ New York Times đã có một bài báo cho rằng perceptron được Hải quân Hoa Kỳ mong đợi “có thé đi, nói chuyện, nhìn, viết, tự sinh sản, và tự

nhận thức được sự tồn tại của mình”. (Chúng ta biết rằng cho tới giờ các hệ thống nâng cao hơn perceptron nhiều lần vẫn chưa thể).

Mặc dù thuật toán này mang lại nhiều kỳ vọng, nó nhanh chóng được chứng minh

khơng thể giải quyết những bài toán đơn giản. Năm 1969, Marvin Minsky và Seymour Papert trong cuốn sách nỗi tiếng Perceptrons đã chứng minh rằng không thé ‘hoc’ được hàm số XOR khi sử dụng perceptron. Phát hiện này làm choáng váng giới khoa học thời

gian đó (bây giờ chúng ta thấy việc này khá hiển nhiên). Perceptron được chứng minh rằng chỉ hoạt động nếu dữ liệu là có thể phân tách tuyến tính.

Phát hiện này khiến cho các nghiên cứu về perceptron bị gián đoạn gần 20 năm. Thời kỳ này cịn được gọi là Mùa đơng AI thứ nhất (The First AI winter).

<small>Cho tới khi MLP và Backpropagation ra đời vào những năm 80s</small>

<small>MLP và Backpropagation (80s)</small>

Geoffrey Hinton tốt nghiệp PhD ngành neural networks năm 1978. Năm 1986, ông cùng với hai tác giả khác xuất bản một bai báo khoa hoc trên Nature với tựa dé

<small>“Learning representations by back-propagating errors”. Trong bai báo này, nhóm của</small>

<small>ơng chứng minh rang neural nets với nhiều hidden layer (được gọi là multi-layer</small>

<small>GVHD: PGS.TS Pham Văn Cường Page |15 SVTH: Nguyễn Thế An — D17HTTT1</small>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<small>ĐỎ AN TOT NGHIỆP</small>

perceptron hoặc MLP) có thé được huấn luyện một cách hiệu quả dựa trên một quy trình đơn giản được gọi là backpropagation (backpropagation là tên gọi mỹ miéu của quy tắc chuỗi — chain rule — trong tính đạo hàm. Việc tính được đạo hàm của hàm sỐ phức tạp mô tả quan hệ giữa đầu vào và đầu ra của một mạng nơ-ron là rất quan trọng vì hầu hết các thuật toán tối ưu đều được thực hiện thơng qua việc tính đạo hàm, gradient descent

là một ví dụ). Việc này giúp mạng nơ-ron thốt được những hạn chế của perceptron về

việc chỉ biéu diễn được các quan hệ tuyến tinh. Dé biểu diễn các quan hệ phi tuyến, phía sau mỗi lớp là một hàm kích hoạt phi tuyến, ví dụ hàm sigmoid hoặc tanh. (ReLU ra đời

năm 2012). Với các lớp an, mang nơ-ron được chứng minh rằng có khả năng xấp xi hầu

hết bất kỳ hàm số nào qua một định lý được gọi là universal approximation theorem.

<small>Mạng nơ-ron quay trở lại cuộc chơi.</small>

Thuật tốn này mang lại một vài thành cơng ban đầu, nồi trội là mạng nơ-ron tích

chập (convnets hay CNN) (cịn được gọi là LeNet) cho bài toán nhận dạng chữ số viết tay được khởi nguồn bởi Yann LeCun tại AT&T Bell Labs (Yann LeCun là sinh viên

sau cao học của Hinton tại đại học Toronto năm 1987-1988). Dưới đây là kiến trúc của

<small>LeNet được áp dụng, network là một CNN với 5 layer, còn được gọi là LeNet-5 (1998).</small>

<small>64 features = features</small>

32 features li=

<small>\ a.</small>

<small>`</small>

i. TM `.`

<sub>II Ni</sub>

ies wa) — 2 i k_Í ax pooling œ

<small>Input image \ 1 (2x2,s=2) convolution</small>

<small>(28x28) conva pool1 (3x3,s=1) conv2 (2x25=2) - pool2</small>

<small>(28x28x32) (14x14x32} (14x14x64) (77x64)</small>

<small>convolution &</small>

<small>1* convolutional layer 2TM convolutional layer</small>

<small>Hình 2-3 Kiến trúc LeNet-5</small>

Mơ hình này được sử dụng rộng rãi trong các hệ thống đọc số viết tay trên các

<small>check (séc ngân hàng) và mã vùng bưu điện của nước Mỹ.</small>

LeNet là thuật tốn tốt nhất thời gian đó cho bài tốn nhận dạng ảnh chữ số viết tay. Nó tốt hơn MLP thơng thường (với fully connected layer) vì nó có khả năng trích

xuất được đặc trưng trong khơng gian hai chiều của ảnh thông qua các filters (bộ lọc) hai chiều. Hơn nữa, các filter này nhỏ nên việc lưu trữ và tính tốn cũng tốt hơn so với MLP thơng thường. (Yan LeCun có xuất phát từ Electrical Engineering nên rất quen

<small>thuộc với các bộ lọc.)</small>

Mùa đông AI thứ hai (90s - đầu 2000s)

Các mơ hình tương tự được kỳ vọng sẽ giải quyết nhiều bài toán phân loại ảnh

khác. Tuy nhiên, không như các chữ số, các loại ảnh khác lại rất hạn chế vì máy ảnh sỐ chưa phơ biến tại thời điểm đó. Ảnh được gán nhãn lại càng hiếm. Trong khi dé có thé huấn luyện được mơ hình CNN, ta cần rất nhiều dữ liệu huấn luyện. Ngay ca khi dit liệu

<small>GVHD: PGS.TS Phạm Văn Cường Page |16 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<small>ĐỎ AN TOT NGHIỆP</small>

có đủ, một vấn đề nan giải khác là khả năng tính tốn của các máy tính thời đó cịn rất hạn chế.

Một hạn chế khác của các kiến trúc MLP nói chung là hàm mắt mát không phải

là một hàm lỗi. Việc này khiến cho việc tìm nghiệm tối ưu tồn cục cho bài toán tối ưu hàm mat mát trở nên rất khó khăn. Một van đề khác liên quan đến giới han tính tốn của máy tính cũng khiến cho việc huấn luyện MLP không hiệu quả khi số lượng các lớp ân

lớn lên. Van đề này có tên là vanishing gradient.

Nhắc lại rằng hàm kích hoạt được sử dung thời gian đó là sigmoid hoặc tanh — là các ham bị chặn trong khoảng (0, 1) hoặc (-1, 1) (Nhắc lại đạo hàm của hàm sigmoid ơ(z) là o(z)(1 — o(z)) là tích của hai số nhỏ hơn 1). Khi sử dung backpropagation đề tính đạo hàm cho các ma trận hệ số ở các lớp đầu tiên, ta cần phải nhân rất nhiều các giá tri nhỏ hơn 1 với nhau. Việc này khiến cho nhiều đạo hàm thành phan bang 0 do xấp xi tính tốn. Khi đạo hàm của một thành phần bằng 0, nó sẽ không được cập nhật thông

<small>qua gradient descent!</small>

Những han chế này khiến cho mang nơ-ron một lần nữa rơi vào thời ky băng giá. Vào thời điểm những năm 1990 và đầu những năm 2000, mạng nơ-ron dần được thay

thế bởi support vector machines -SVM. SVMs có ưu điểm là bài tốn tối ưu dé tìm các

tham số của nó là một bài tốn lỗi — có nhiều các thuật tốn tối ưu hiệu quả giúp tim nghiệm của nó. Các kỹ thuật về hạt nhân cũng phát triển giúp SVMs giải quyết được cả các van đề về việc dữ liệu khơng phân biệt tuyến tính.

Nhiều nhà khoa học làm Machine Learning chuyên sang nghiên cứu SVM trong thời gian đó, trừ một vài nhà khoa học cứng đầu...

<small>Cái tên được làm mới — Deep Learning (2006)</small>

Năm 2006, Hinton một lần nữa cho rằng ông biết bộ não hoạt động như thế nào,

và giới thiệu ý tưởng của tiền huấn luyện không giám sát (unsupervised pretraining)

thông qua deep belief nets (DBN). DBN có thé được xem như sự xếp chồng các

<small>unsupervised networks đơn giản như restricted Boltzman machine hay autoencoders.</small>

Lay ví dụ với autoencoder. Mỗi autoencoder là một mạng nơ-ron với một lớp an.

Số hidden unit ít hon số input unit, và số output unit bang với số input unit. Network

này đơn giản được huấn luyện dé kết quả ở lớp đầu ra giống với kết qua ở lớp đầu vào (và vì vậy được gọi là autoencoder). Quá trình dit liệu đi từ lớp đầu vào tới lớp an có thé

coi là mã hóa, q trình dữ liệu đi từ lớp ẩn ra lớp đầu ra có thể được coi là giải mã. Khi đầu ra giống với đầu vào, ta có thé thấy rang lớp an với ít unit hơn có dé mã hóa input khá thành cơng, và có thể được coi mang những tính chất của input. Nếu ta bỏ lớp đầu vào, cô định (freeze) kết nối giữa lớp đầu vào và lớp an, coi đầu ra của lớp ân là một đầu vào mới, sau đó huấn luyện một autoencoder khác, ta được thêm một lớp an nữa. Quá trình này tiếp tục kéo dài ta sẽ được một mạng đủ sâu mà đầu ra của mạng lớn này (chính là lớp ân của autoencoder cuối cùng) mang thông tin của đầu vào ban đầu. Sau đó ta có thê thêm các lớp khác tuỳ thuộc vào bài toán (chăng hạn thêm lớp softmax ở

<small>GVHD: PGS.TS Phạm Văn Cường Page |17 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<small>ĐỎ AN TOT NGHIỆP</small>

cuối cho bài toán phân loại). Cả mạng được huấn luyện thêm một vài epoch nữa. Quá

<small>trình này được gọi là tinh chỉnh (fine tuning).</small>

Tai sao quá trình huấn luyện như trên mang lại nhiều lợi ích?

Một trong những hạn chế đã đề cập của MLP là van dé vanishing gradient. Những ma trận trọng số ứng với các lớp đầu của mạng rất khó được huấn luyện vì đạo hàm của hàm mat mát theo các ma trận này nhỏ. Với ý tưởng của DBN, các ma trận trọng số ở những lớp ấn đầu tiên được tiền huấn luyện (pretrained). Các trọng số được tiền huấn luyện này có thé coi là giá trị khởi tạo tốt cho các lớp ẩn phía đầu. Việc này giúp phần nào tránh được sự phiền hà của vanishing gradient.

Kể từ đây, mạng nơ-ron với nhiều lớp ấn được đổi tên thành học sâu.

Van dé vanishing gradient được giải quyết phần nào (vẫn chưa thực sự triệt dé), nhưng vẫn còn những van đề khác của học sâu: dit liệu huấn luyện q ít, và khả năng tính tốn của CPU còn rất hạn chế trong việc huấn luyện các mạng sâu.

Năm 2010, giáo sư Fei-Fei Li, một giáo sư ngành thị giác máy tính đầu ngành tại

<small>Stanford, cùng với nhóm của bà tạo ra một cơ sở dữ liệu có tên ImageNet với hàng triệubức ảnh thuộc 1000 lớp dữ liệu khác nhau đã được gán nhãn. Dự án này được thực hiện</small>

nhờ vào sự bùng nỗ của internet những năm 2000 và lượng ảnh không lồ được upload lên internet thời gian đó. Các bức ảnh này được gán nhãn bởi rất nhiều người (được trả

Bộ cơ sở đữ liệu này được cập nhật hàng năm, và ké từ năm 2010, nó được dùng

<small>trong một cuộc thi thường niên có tên ImageNet Large Scale Visual Recognition</small>

Challenge (ILSVRC). Trong cuộc thi này, dữ liệu huấn luyện được giao cho các đội tham gia. Mỗi đội cần sử dụng dữ liệu này dé huấn luyện các mơ hình phân lớp, các mơ

hình này sẽ được áp dụng để dự đốn nhãn của dữ liệu mới (được giữ bởi ban tô chức).

Trong hai năm 2010 và 2011, có rất nhiều đội tham gia. Các mơ hình trong hai năm này chủ yếu là sự kết hợp của SVM với các feature được xây dựng bởi các bộ hand-crafted descriptors (SIFT, HoG, v.v.). Mơ hình giành chiến thắng có top-5 error rate là 28% (càng nhỏ càng tốt). Mơ hình giành chiến thắng năm 2011 có top-5 error rate là 26%. Cải thiện không nhiều!

<small>Đột phá (2012)</small>

<small>Năm 2012, cũng tại ILSVRC, Alex Krizhevsky, Ilya Sutskever, va Geoffrey</small>

Hinton (lại là ông) tham gia và dat kết qua top-5 error rate 16%. Kết quả này làm sững

<small>sờ giới nghiên cứu thời gian đó. Mơ hình là một Deep Convolutional Neural Network,sau này được gọi là AlexNet.</small>

Trong bài báo này, rất nhiều các kỹ thuật mới được giới thiệu. Trong đó hai đóng

góp nổi bật nhất là hàm ReLU và dropout. Hàm ReLU (ReLU(x) = max(x, 0)) với cách

tính và đạo hàm đơn giản (bằng 1 khi đầu vào không âm, bằng 0 khi ngược lại) giúp tốc độ huấn luyện tăng lên đáng kể. Ngoài ra, việc ReLU không bị chặn trên bởi 1 (như

<small>GVHD: PGS.TS Phạm Van Cường Page |18 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<small>ĐỎ AN TOT NGHIỆP</small>

softmax hay tanh) khiến cho van dé vanishing gradient cũng được giải quyết phan nào. Dropout cũng là một kỹ thuật đơn giản và cực kỳ hiệu quả. Trong quá trình huấn luyện, nhiều hidden unit bị tắt ngẫu nhiên và mô hình được huấn luyện trên các bộ tham số cịn lại. Trong q trình kiểm tra, tồn bộ các unit sẽ được sử dụng. Cách làm này khá là có lý khi đối chiếu với con người. Nếu chỉ dùng một phần năng lực đã đem lại hiệu quả thì

<small>dùng toàn bộ năng lực sẽ mang lại hiệu quả cao hơn. Việc nảy cũng giúp cho mơ hình</small>

tránh được overfitting và cũng được coi giống với kỹ thuật ensemble trong các hệ thống Machine Learning khác. Với mỗi cách tắt các unit, ta có một mơ hình khác nhau. Với

nhiều tô hợp unit bị tắt khác nhau, ta thu được nhiều mơ hình. Việc kết hợp ở cuối cùng được coi như sự kết hợp của nhiều mơ hình (và vì vậy, nó giống với ensemble learning).

Một trong những yếu tô quan trọng nhất giúp AlexNet thành công là việc sử dụng GPU (card đồ hoa) dé huấn luyện mô hình. GPU được tạo ra cho game thủ, với kha năng

chạy song song nhiều lõi, đã trở thành một công cụ cực kỳ phù hợp với các thuật toán học sâu, giúp tăng tốc thuật toán lên nhiều lần so với CPU.

Sau AlexNet, tất cả các mơ hình giành giải cao trong các năm tiếp theo đều là các

<small>deep networks (ZFNet 2013, GoogLeNet 2014, VGG 2014, ResNet 2015). Những mơ</small>

hình này sẽ được trình bày ở phần sau của đồ án.

Í- | 8 layers 8 layers shallow

<small>ILSVRC'15 lLSVRC14 ILSVRCI4 I|LSVRCl13 ILSVRCI2 ILSVRCII ILSVRC'10</small>

<small>ResNet GoogleNet VGG AlexNet</small>

<small>Hình 2-4 Kết quả ILSVRC đến năm 2015</small>

Những công ty công nghệ lớn cũng dé ý tới việc phát triển các phòng nghiên cứu học sâu trong thời gian này. Rất nhiều các ứng dụng công nghệ đột phá đã được áp dụng

vào cuộc sống hàng ngày. Cũng ké từ năm 2012, số lượng các bài báo khoa học về học sâu tăng lên theo hàm số mũ. Các blog về học sâu cũng tăng lên từng ngày

Rất nhiều những ý tưởng cơ bản của học sâu được đặt nền móng từ những năm 80-90 của thé kỷ trước, tuy nhiên học sâu chỉ thực sự đột phá trong khoảng 5-6 năm nay.

Sự bùng nổ này đến từ nhiều nguyên nhân:

<small>e Sura đời của các bộ dữ liệu lớn được gan nhãn.</small>

e Khả năng tính toán song song tốc độ cao của GPU.

<small>GVHD: PGS.TS Phạm Van Cường Page |19_ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<small>ĐỎ AN TOT NGHIỆP</small>

e - Sự ra đời của ReLU và các hàm kích hoạt liên quan làm hạn chế vấn đề vanishing

e Su cải tiến của các kiến trúc: GoogLeNet, VGG, ResNet, ... và các kỹ thuật

<small>transfer learning, fine tuning.</small>

<small>e Nhiều kỹ thuật regularization mới: dropout, batch normalization, dataaugmentation.</small>

e Nhiều thư viện mới hỗ tro việc huấn luyện deep network với GPU: theano, caffe,

<small>mxnet, tensorflow, pytorch, keras, ...</small>

e Nhiều ky thuat tối ưu mới: Adagrad, RMSProp, Adam, ...

2.1.3 Cấu trúc và mơ hình của một no-ron nhân tao

<small>Mạng nơ-ron nhân tạo được lây cảm hứng từ cách làm việc của bộ não con người.Các nơ-ron nhân tạo mô phỏng lại hoạt động của nơ-ron sinh học.</small>

<small>Hình 2-5 Mơ hình một no-ron sinh học</small>

Tương tự như nơ-ron sinh học, nơ-ron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết

quả đến hàm truyền) và cho một tín hiệu đầu ra (là kết quả của hàm truyền).

<small>Hình 2-6 Mơ hình một mang nơ-ron nhân tạo</small>

<small>GVHD: PGS.TS Phạm Van Cường Page |20_ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<small>ĐỎ AN TOT NGHIỆP</small>

Trọng số liên kết là thành phần rất quan trọng của một ANN, nó thể hiện mức độ quan trọng (độ mạnh) của dữ liệu đầu vào đối với quá trình xử lý thơng tin (q trình chuyền đổi dữ liệu từ Layer này sang layer khác). Quá trình học (Learning Processing) của ANN thực ra là quá trình điều chỉnh các trọng sỐ (Weight) của các input data dé có được kết quả mong muốn.

Ham tơng sau đó sẽ tính tổng trong số của tat cả các input được đưa vào mỗi nơ-ron. Hàm tổng của một nơ-ron đối với n input được tính theo cơng thức sau:

Y= » xX; xX W; (2.1)

Ham kích hoạt được dùng dé giới han phạm vi đầu ra của mỗi nơ-ron. Nó nhận đầu vào là kết quả của hàm kết hợp và ngưỡng đã cho. Thông thường, phạm vi đầu ra của mỗi nơ-ron được giới han trong đoạn [0, 1] hoặc [-1, 1]. Các hàm kích hoạt rất đa dạng. Tuy nhiên, các hàm kích hoạt buộc phải là hàm phi tuyến. Vì nếu nó là tuyến tính thì khi kết hợp với phép tốn tuyến tính w Tx thì kết qua thu được cũng sẽ là một thao tác tuyến tính dẫn tới chuyện nó trở nên vơ nghĩa. Việc lựa chọn hàm truyền nào là tuỳ

thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. Một số hàm kích hoạt

<small>thường sử dụng trong các mơ hình mạng nơ-ron:</small>

Hàm Sigmoid được cho bởi cơng thức 2.2 và có đồ thị như hình 2.7. Nếu đầu vào

lớn, hàm số sẽ cho đầu ra gần với 1. Với đầu vào nhỏ (rất âm), hàm số sẽ cho đầu ra gần với 0. Hàm số này được sử dụng nhiêu trong quá khứ vì có đạo hàm rat đẹp. Những năm

gan đây, hàm số này ít khi được sử dụng vì nhược điểm khi đầu vào có trị tuyệt đối lớn (rất âm hoặc rất dương), gradient của hàm số này sẽ rất gần với 0, đồng nghĩa với việc

<small>GVHD: PGS.TS Phạm Văn Cường Page |21 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<small>ĐỎ AN TOT NGHIỆP</small>

các hệ số sẽ khơng được cập nhật. Đây chính là hiện tượng vanishing gradient thường

<small>gặp trong các mơ hình mạng nơ-ron cơ điên.Hàm Tanh:</small>

<small>tanh (x) = 20(2x) — 1 (2.3)</small>

<small>Hình 2-8 Đồ thị hàm Tanh</small>

Hàm Tanh được cho bởi công thức 2.3 và có đồ thị như hình 2.8. Hàm Tanh cho

<small>dau ra trong đoạn [-1, 1] và cũng có nhược diém tương tự hàm Sigmoid về việc gradient</small>

rất nhỏ với các đầu vào có trị tuyệt đối lớn.

<small>Hàm ReLu:</small>

<small>f (x) = max(0,x) (2.4)</small>

<small>-10 -5 5 10</small>

<small>Hinh 2-9 Dé thi ham ReLU</small>

ReLU (Rectified Linear Unit) được sử dung rộng rãi gần đây vì tinh đơn giản của

nó. Hàm ReLu được cho bởi cơng thức 2.4 và có đồ thị như hình 2.9. Ưu điểm chính

<small>của nó là:</small>

<small>e ReLU được chứng minh giúp cho việc training các Deep Networks nhanh hon</small>

rất nhiều. Sự tăng tốc này được cho là vì ReLU được tính tốn gần như tức

<small>GVHD: PGS.TS Phạm Văn Cường Page |22_ SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<small>ĐỎ AN TOT NGHIỆP</small>

thời va gradient của nó cũng được tính cực nhanh với gradient băng 1 nếu đầu vào lớn hơn 0, bằng 0 nếu đầu vào nhỏ hơn 0.

<small>e Mặc dù hàm ReLU khơng có đạo hàm tại s = 0, trong thực nghiệm, người ta</small>

vẫn thường định nghĩa ReLU ' (0) = 0 và khang định thêm rằng, xác suất dé input của một unit bằng 0 là rất nhỏ.

Hàm ReLU có nhiều biến thé khác như Noisy ReLU, Leaky ReLu, ELUs, tuy

nhiên đồ án sẽ không đề cập sâu đến các biến thể này.

2.1.4 Hàm mat mát

Ngoài các hàm kích hoạt, khi nhắc đến huấn luyện mạng nơ-ron thì sẽ thường phải nhắc đến hàm mắt mát được sử dụng dé tối ưu tham số cho các mạng no-ron. Sau đây đồ án sẽ liệt kê ra một số hàm mắt mát hay gặp nhất cho được sử dụng cho các bài

<small>tốn học máy.</small>

Lỗi tuyệt đối trung bình (Mean absolute error) / hàm mat mát L1: đây là hàm mat

mát đơn giản nhất, cách tính hàm mat mát nay đó là lấy trung bình cộng giá trị tuyệt đối của hiệu giá trị dự đoán và giá trị thực tế. Hàm mat mát được tính theo cơng thức:

<small>n .—ộ,</small>

MAE = i=1 _ Jil (2.5)

Ưu điểm của hàm mat mát này là không bị ảnh hưởng nhiều bởi các giá tri dự đoán quá

xa so với giá trị thực tế vì lấy trị tuyệt đối, khơng nhạy cảm với nhiễu

Nhược điểm: Hàm mat mát sẽ gây khó khăn khi tối ưu vì khơng có đạo hàm tại điểm 0.

Phải dùng đến những cơng cụ khác như lập trình tuyến tính.

Lỗi bình phương trung bình (Mean square error) / hàm mắt mát L2: Hàm mắt mát L2 được tính bằng cách lấy trung bình cộng bình phương của hiệu giá trị dự đoán và giá trị thực tế. Hàm L2 được tính theo cơng thức:

i=\ i — 9)”

<small>MSE=——————— (2.6)</small>

Ưu điểm của ham L2 đó chính là dé tính đạo hàm, vi hàm L2 có đạo ham tai mọi điểm Nhược điểm là những giá trị dự đoán quá xa với giá trị thực tế sẽ bị tính rất lớn do có

<small>bình phương, nhạy cảm với nhiễu</small>

Hàm mat mát entropy chéo:

Dé tìm hiểu về hàm mất mát entropy chéo chúng ta cần phải tìm hiểu định nghĩa về thơng tin. Trong lý thuyết thơng tin, thơng tin đạt được chính là thơng tin của một thơng điệp nhất định có thé bổ sung vào kiến thức tổng thé. Ví dụ, với thông điệp là “xe ô tô

<small>chạy nhanh hơn xe đạp” thì khơng mang lại lượng thơng tin gì. Một ví dụ khác đó là</small>

“tung đồng xu lần đầu xuất hiện mặt ngửa”. Điều này mang lại một lượng thông tin do

<small>GVHD: PGS.TS Phạm Van Cường Page |23 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<small>ĐỎ AN TOT NGHIỆP</small>

xác suất xuất hiện mặt ngửa chỉ có 0.5. Do đó ta cần một độ do dé định lượng lượng

<small>thông tin có trong mỗi thơng điệp.</small>

Trong nghiên cứu của Claude Shannon về lý thuyết thông tin, ông đã đưa ra hàm tính tốn phù hợp dé định lượng thơng tin:

<small>I(E) = —logp P(x) (2.7)</small>

Trong đó I(E) là ham lượng thơng tin của một thông điệp với biến cô E. P(x) là xác suất xuất hiện của x. b là cơ số đơn vị (thường được sử dụng với b = 2).

Quay lại với ví dụ phía trên, với cơng thức 2.7 ta có thê tính được lượng thơng tin

<small>như sau:</small>

e Với ví dụ “xe ơ tơ chạy nhanh hơn xe đạp” có xác suất xuất hiện là 1. Ta sẽ có:

I(E) = —log; 1 = 0. Điều này có thé thấy câu trên không mang lại lượng thông

<small>tin nào cả.</small>

e Với ví dụ “tung đồng xu lần đầu xuất hiện mặt ngửa”. Xác suất xuất hiện của mặt ngửa khi tung đồng xu là 0.5. Nên ta sẽ có I(E) = —log, 0.5 = 1 bit. Đó là

<small>lượng thơng tin mà câu trên mang lại</small>

Với một chuỗi các biến có, entropy là đại lượng đại diện cho thông tin đạt được trong

một chuỗi biến dé đó, là trung bình lượng thơng tin của các biến ngẫu nhiên rời rac.

Entropy được tính bằng công thức:

H(p) = -À' ĐilOBp Dị (2.8)

Entropy là độ đo bat xác định trong khi dự đoán của một biến ngẫu nhiên X. Entropy

của biến ngẫu nhiên X càng cao (càng nhiều thơng tin chứa trong thơng điệp) thì càng

<small>khó dự đốn.</small>

Entropy chéo là độ đo giữa hai phân bố p và q dé đo lượng trung bình thơng tin khi dùng

mã hóa thơng tin của phân bố q thay cho mã hóa thơng tin của phân bố p. Cơng thức

<small>tính entropy chéo như sau:</small>

H(p,q) = -\ Pilogy i (2.9)

Mơ hình sử dụng ham entropy chéo làm hàm mat mát dé tối ưu tham số mơ hình. Ta coi hai phân phối p và q là phân phối của dự đốn của mơ hình và phân phối dit liệu trên thực tế để tối ưu. Hàm mắt mát sẽ đạt giá trị nhỏ nhất khi phân bố của q giống với phân

bố của p tức là giá trị dự đoạn của mơ hình giống với giá trị thực tế.

2.1.5 Cấu tạo và phương thức làm việc của mạng no-ron

Khi liên kết các đầu vào/ra của nhiều ron với nhau, ta thu được một mạng nơ-ron. Việc ghép nối các nơ-ron trong mạng với nhau có thể theo nguyên tắc bất kỳ. Vì

<small>GVHD: PGS.TS Phạm Van Cường Page |24 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

<small>ĐỎ AN TOT NGHIỆP</small>

mạng nơ-ron là một hệ truyền đạt và xử lý thơng tin tín hiệu, nên có thể phân biệt các loại nơ-ron khác nhau, các nơ-ron có đầu vào nhận thơng tin từ mơi trường bên ngồi khác với các nơ-ron có đầu vào được nối với các nơ-ron khác trong mạng, chúng được phân biệt với nhau qua vector hàm trọng số đầu vào w. Nguyên lý cấu tạo chung của

<small>mạng nơ-ron gồm nhiều lớp, mỗi lớp bao gồm nhiều nơ-ron có cùng chức năng trongmạng. Một mạng nơ-ron sẽ có 3 kiểu lớp:</small>

e Lớp đầu vào (input layer): là lớp tận cùng bên trái của mạng, thể hiện cho các

đầu vào của mạng.

e© Lớp ân (hidden layer): là lớp nằm giữa lớp đầu vào và lớp dau ra ra thé hiện cho

<small>việc suy luận logic của mạng.</small>

e Lớp đầu ra (output layer): là lớp tận cùng bên phải của mạng, thể hiện cho các

đầu ra của mạng.

Một mạng nơ-ron chỉ có 1 lớp đầu vào và 1 lớp đầu ra nhưng có thé có nhiều lớp an. Số lượng lớp ân càng nhiều, mạng càng sâu (deep). Mỗi nơ-ron trong mạng sẽ nhận tất cả đầu vào từ các nơ-ron ở tầng trước đó và sử dụng một hàm kích hoạt dạng phi tuyến như sigmoid, ReLU, tanh dé tính tốn đầu ra.

<small>input layer</small>

<small>Hình 2-10 Mơ hình cấu tạo của mang no-ron</small>

<small>Mạng nơ-ron khi mới được hình thành thì chưa có tri thức, tri thức của mang sẽ</small>

được hình thành dần dần sau một quá trình học. Mạng nơ-ron được học băng cách đưa

<small>vào những kích thích và mạng hình thành những đáp ứng tương ứng. Những đáp ứngtương ứng phù hợp với từng loại kích thích sẽ được lưu trữ. Giai đoạn này gọi là giai</small>

đoạn học của mạng. Khi đã hình thành tri thức mạng, mạng có thê giải quyết các van đề một cách đúng dan. Đó có thé là van đề ứng dụng rất khác nhau, được giải quyết chủ yếu dựa trên sự tổ chức hợp nhất giữa các thông tin đầu vào của mạng và các đáp ứng

đầu ra.

<small>2.2 Mạng nơ-ron tích chập</small>

<small>Convolutional Neural Networks (CNN - hay cịn gọi là mạng nơ-ron tích chập) là</small>

một trong những mơ hình Deep Learning tiên tiến giúp con người xây dựng được những

<small>GVHD: PGS.TS Phạm Văn Cường Page |25 SVTH: Nguyễn Thế An - D17HTTT1</small>

</div>

×