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

Tìm hiểu mạng nơ ron tích chập và ứng dụng dự đoán góc lái trong xe tự hành

70 2 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO DAI HOC HUE

TRUONG DAI HOC KHOA HOC

TRAN QUANG TUYEN

TIM HIEU MANG NO-RON TICH CHAP VA UNG DUNG DU DOAN GOC LAI

TRONG XE TU HANH

LUAN VAN THAC SI KHOA HOC

CONG NGHE THONG TIN

Thira Thién Hué, 2020

Trang 2

4.0 là sự kết hợp thông minh vào thiết kế xe tự hành mở ra nhiễu cơ hội cũng như

thách thức không nhỏ Đề có khả năng tự lái, xe tự hành phải có sự kết hợp nhiều hệ

thống học sâu xử lý một lượng dữ liệu đầu vào vô cùng lớn theo thời gian thực từ các hệ thống thu nhận tín hiệu lắp đặt trên xe để chỉ ra đầy đủ môi trường xung quanh và để phòng những trở ngại bất ngờ Thêm vào đó, việc sử dụng mô hình mạng nơ-ron tích chập trong lĩnh vực xe tự hành thu được những kết quả rất khả quan trong thời gian gần đây Luận văn “Từm hiểu mạng no-ron tích chập và ứng dụng dự đoán

góc lái trong xe tự hành ” tìm hiểu mô hình học sâu mạng nơ-ron nhân tạo, tìm hiểu

kiến trúc, thành phần mô hình mạng nơ-ron tích chập Trên cơ sở đó xây dựng chương trình mơ phỏng bài tốn dự đoán góc lái trong xe tự hành sử dụng mô hình mạng nơ- ron tích chập

Phạm vi nghiên cứu của luận văn là lý thuyết về mạng nơ-ron tích chập, mô

hình mạng nơ-ron tích chập để dự đoán góc lái cho bài toán xe tự hành với đầu vào là dữ liệu hình ảnh

Phương pháp nghiên cứu trong luận văn được kết hợp giữa nghiên cứu lý thuyết về các tài liệu về mô hình học sâu CNN trong bài toán đự đoán góc lái cho xe

tự hành Từ đó tiến hành cài đặt mô phỏng chương trình, tiến hành các thực nghiệm,

lượng hóa và đánh giá kết quả

Nội dung của luận văn được trình bày trong 3 chương Chương 1 Tổng quan về học sâu

Nội dung của chương sẽ giới thiệu tổng quan về học sâu và một số ứng dụng

trong các hệ thống học sâu điều khiển xe tự hành

Chương 2 Mạng nơ-ron tích chập

Là những nội dung chỉ tiết về mạng nơ-ron tích chập và ứng dụng trong bài

toán dự đoán góc lái xe tự hành

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác

như đã ghi rõ trong Luận văn, tất cả các nội dung của Luận văn này hoàn toàn được

hình thành và phát triển từ những quan điểm của chính cá nhân tôi, dưới sự hướng dẫn khoa học của Thầy TS Nguyễn Đăng Bình Các số liệu và kết quả nghiên cứu trong luận văn là hoàn toàn trung thực, chưa được người khác công bố trong bất cứ một công trình nghiên cứu nào

Thừa Thiên Huế, tháng 03 năm 2020

Học viên

Trang 4

LỜI CẢM ƠN

Dé hoàn thành luận văn này, trước hết tôi xin gửi lời cám ơn chân thành, sâu

sắc nhất đến thầy TS Nguyễn Đăng Bình, Khoa công nghệ thông tin Trường Đại

học Khoa học, Đại học Huế, người đã tận tình hướng dẫn, chỉ bảo, định hướng truyền đạt kiến thức, ý kiến quý báu trong quá trình thực hiện luận văn và tạo mọi điều kiện

để tôi có thê hồn thành luận văn này

Tơi gửi lời cám ơn đến quý thầy giáo, cô giáo Khoa công nghệ thông tin

Trường Đại học Khoa học, Đại học Huế, đã truyền đạt những kiến thức nền tảng cũng

như chuyên sâu để tôi có đủ tri thức và khả năng hoàn thành luận văn

Đồng thời, tôi cũng xin cảm ơn gia đình, bạn bè, đồng nghiệp những người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn cảnh khó khăn, hết sức tạo điều kiện cho tôi trong suốt quá trình học tập và làm luận văn

Tuy đã cố gắng rất nhiều, nhưng cũng khó tránh khỏi thiếu sót trong quá trình thực hiện luận văn, mong nhận được những đóng góp quý báu từ quý thầy cô và các bạn giúp tơi hồn thiện hơn

Thừa Thiên Huế, tháng 03 năm 2020

Học viên Trần Quang Tuyến

Trang 5

MỤC LỤC Trang LOT CAM ĐOAN Q.25 21 21221221211212112112112111121112121222 ru i LỜI CẢM ƠN 2252 2222221222122122112221222222222222 2e ii MỤC LỤC 222 22222221221122112111211121112111211121121112112121122222122 sa iii DANH MỤC CÁC HÌNH 52-22 22 222221211211211111212112212222 re V DANH MỤC CÁC CHỮ VIẾT TẮTT -222222221122122211221221212212222 e6 vii MỞ ĐẦU 2222 22222212221221122112211221121121122112212112222222 are 1 CHƯƠNG 1 TỎNG QUAN VẺ HỌC SÂU 2- 2252 2222221221512221222 xe 4 1.1 GIỚI THIỆU TÔNG QUAN - 22 22222222252221121112111211211222 xe 4 1.2 TỎÔNG QUAN VẺ TRÍ TUỆ NHÂN TẠO - 2 5222 22t ecxre 5

1.2.1 Giới thiệu 22 22222122111211121112111211121112111211212121222212 ra 5

1.2.2 Các hướng nghiên cứu và thành tựu của trí tuệ nhân tạo 7

1.2.3 chGo áo vrađdđaaaađađaaiaẳa 8

1.2.4 Phân nhóm các thuật toán hoc may .ccecceeeeeeceeeteeteeeneeneeeneesees 10

1.3 HỌC SÂU 22222222212221221121121121121212212122222122122 ra 11

V.B.1 GiGi thi occ cece cece cece eee eeee teeter teretrteeetvtestesenesensesnseeteseeeseeee 11

1.3.2 Kiến trúc học sâu -2-©2222122212221211211221122112112222222 re 13

1.3.3 Quá trình huấn luyện mạng học sâu -ccc sssnehkerrerrrree 13 1.3.4 Những mặt hạn chế của học sâu - s21 1 21 2112121121211211112121115.x5e2 13

Trang 6

2.2.3 Kiến trúc của mạng nơ-ron 22 2222222232221121112111211221121122 xe 23 2.2.4 Lan truyển tiến -2- 2s 2222211221121112111211121112112211211211211222 xe 24

22:9; Jl@o với TIAT7H05TOH 62g90 LCSEORIEEEEGOISSIRDNIEEIEDHEEIVHEIINEHSSISĐSSA 26

2.2.6 Lan truyền ngược và đạo hàm 22 22 2222212211121112111211121122 xe 27

2.2.7 Tiểu kết 0 22 222221122112111211211211211211212222122212 re 28 2.3 MẠNG TÍCH CHẬP 222 222122122212112212211211221122122222 re 29 2.3.1 Giới thiệu về tích chập -2222222221211122112111211211221212 xe 29 2.3.2 Thêm lễ -2- 22 22222112211221111121111111111111111112212222122 re 30

Ø 3:3: DƯỚC TrƯỢ ẲtrcestoteintiatitoiOENIGEGBINGEHEGINGEIGRNHIGIGEINREHRNGRNGIGBRHENGERHERRNRRRNGtMERB 31 2.3.4 Tích chập hai chiều tổng quát 22-222 222225122512211211122112122112 xe 32

2.3.5 Kết luận 22-222 222221122112211211122112211211121221221221212 re 33 2.4 MẠNG NƠ-RON TÍCH CHẬP 2-2222 222 222122312211221221 22c 33

2.4.1 Giới thiệu 50-22212221 2211 22112221221122112111211211 2122121 re 33

2.4.2 Đặt vấn đề 0 222 222121122112112211122222222222222re 34

2.4.3 Kiến trúc mạng nơ-ron tích chập 2: 222222222222522252223121222212222-e2 35 2.4.4 Tính chất của mạng nơ-ron tích chập 2222222222225222322222222-e2 40

2.5 TIỂU KÉT CHƯƠNG 2 22 22 22212212221221211211221122122122.2 re 43

CHƯƠNG 3 MÔ PHỎNG VÀ THỰC NGHIỆM 22-2222222222ccee 46

3.1 GIỚI THIỆỆU -2-©22221122112211221122112211211211211211212212212222ee 46 3.2 CÀI ĐẶT MÔ PHỎNG 222 2222212212212112211221221222 22a 46

3.2.1 Môi trường, ngôn ngữ và thư viện lập trình -.-sccscccccsxscsseei 46 3.2.2 Môi trường Anaconda và ngôn ngữ lập trình Python -: 47

3.2.3 Phần mềm mơ phỏng -2-©222 222 2221221221122112112112112112122 22 xe 47

KP M)-.idẢẦẢẲẦẢỒẮỒÁẮÁẶIẮẶỶỒOd 48

3.2.5 Chuẩn bị đữ liệu và tiền xử lý đữ liệu -©22-22222212221222222 x2 49 3.3 XÂY DỰNG MƠ HÌNH -522222222122121121121121121222ee 51

3.3.1 Xây dựng mô hình mạng nơ-ron tích chập - -: -sc+sc sec: 51

3.3.2 Huấn luyện mô hình -2-2222222212221122112112112112122122 re 54 3.4 ÁP DỰNG MƠ HÌNH CHO Ơ TƠ TỰ LẤI -22222222222221222122226 56 KET LUAN VA HƯỚNG PHÁT TRIỂN -22222221221221222.222 xe 59

TAI LIEU THAM KHẢO 222222222 222122211222112211221121121121 21 xe 60

Trang 7

Hình 1.1 Hình 1.2 Hình 1.3 Hình 1.4 Hình 2.1 Hình 2.2 Hình 2.3 Hình 2.4 Hình 2.5 Hình 2.6 Hình 2.7 Hình 2.8 Hình 2.9 Hình 2.10 Hình 2.11 Hình 2.12 Hình 2.13 Hình 2.14 Hình 2.14 Hình 2.15 Hình 2.16 Hình 2.17 Hình 2.18 Hình 2.19 Hình 2.20 Hình 2.21 Hình 2.22 Hình 2.23 DANH MỤC CÁC HÌNH Trang

Mối quan hệ giữa trí tuệ nhân tạo, học máy và học sâu 5 Các hướng nghiên cứu, tiếp cận của trí tuệ nhân tạo theo học máy 9

Mạng nơ-ron “nông” và mạng nơ-ron “sâu ” - -scccccccccsse 12

Xe tự lái của TesÌa - 1 122201111211 1112211 1112111111111 111 1111111111211 15 Ảnh màu được chọn là trong hệ mau rgb (102, 255, 153) 17 Ví dụ về Tensor 3 chiỀu -5 c2 1 115151111511512111121115111151x511xExae 19 Mô tả một nơ-ron thần kinh sinh học .- 52252121 21 25221211512555325 552 20

NIô hình 'B€TGCGDÏTODx1seissasesssisisltSBBISEEEREIEEIEGRIGSINGDNNGEEESORIEEERGĐISSAugM 20

Cơ chế hoạt động của nơ-ron nhân tạo .- c2: St ssisierrrrerrsres 21

Sự tương quan nơ-ron thần kinh và nơ-ron nhân tạo - 22

Một số hàm kích hoạt thường được sử dụng - ccccsec: 23

Kiến trúc mạng nơ-ron 22: 2s22222211221121112111211121112111121121 xe 23 Mang no-ron - 2 hidden laV€r c3 Sn vn nhe 24 Cac ki hiéu diing trong mang NO-PON 2.0 eee cece eens eeeeeneeneeeeeeneees 26

Cách tính tích chập một hiỀU .ả.2 Q.22 1 21 212211122111211 11211 2e ree 30

Ma trận ảnh khi thêm viền 0 bên ngồi .2-©222222222222222222222-e2 31

Tích chập với thêm lỄ -2- 22 22222512251215121112111211121121121121 xe 31 a) Tích chập hai chiều đơn kênh 22 22 22222522252213221112111212 222C 33 b) Tích chập hai chiều đa kênh 22 22222 22122212221222122212222 e0 33

Số lượng tham số lớn của Input layer va hidden layer l 35 Kiến trúc mang nơ-ron tích chập - -2-22222222252225222312112222 222.2 36

Ví dụ bộ lọc tích chập được sử dụng trên ma trận điểm ảnh 36

Phép tính convolution trên ảnh màu với k=3 :ssccccscxsss+2 37

Tensor X, W ba chiều được viết dưới dang ba ma trận - 37

Mô tả cách thực hiện phép tính tích chập trên ảnh màu 38 Phương thức Avarage Pooling và Max Pooling - :-s-: 39

Lớp kết nối đầy đủ 2 52 22222122112111211122112122222 re 40

Trang 8

Hình 2.24 Hình 2.25 Hình 2.26 Hình 2.27 Hình 2.28 Hình 3.1 Hình 3.2 Hình 3.3 Hình 3.4 Hình 3.5 Hình 3.6 Hình 3.7 Hình 3.8 Hình 3.9

Cấu trúc các khối nơ-ron 3D mạng Alexnet -©22222222z22zzzrxcc2 41

Mô tả về kết nối cục bộ 0c neo 42

Mô hình quá trình tổng hợp 22-222 222225122512111211121121122 xe 43 Mạng nơ-ron thông thường (trái) và mạng nơ-ron tích chập (phải) 43 Kiến trúc của mạng nơ-ron tích chập - 22 22222222222225222522222222-e2 44 Giao diện phần mềm mô phỏng 222 222222225222512252223121222122 22-2 47 Lái xe trong chế độ Training mode để lấy dữ liệu -55-c¿ 49 Mô tả dữ liệu trong file driving_ log.CSV ì cà cccsssieirkerree 49 Ảnh thu được sau khi điều khiển bằng tay từ phần mềm mô phỏng 50 Ảnh thu được sau khi tiền xử lý từ ảnh gốc hình 3.3 50 Ảnh đã qua tiền xử lý thêm sáng, thêm tối, dịch chuyền 50 Ảnh sau khi cắt bỏ mũi xe và bầu trời -::22222222c222cszxccee 51 Mô hình mạng nơ-ron tích chập dự đoán goc lat eee eee 53

Ơ tơ tự lái sau khi học được mô hình cccccccccccccccre 58

Trang 9

DANH MUC CAC CHU VIET TAT Từ viết tắt Từ hoặc cụm từ

AI Artificial Intelligence — Tri tué nhan tao

ML Machine Learning — Hoc may DL Deep Learning — Hoc sau

DNN Deep Neural Network — Mang no-ron hoc sau

ANN Artificial Neutral Network — Mang no-ron nhân tạo

RNN Recurrent Neutral Netwrok — Mang no-ron héi quy CNN Convolution Neural Network — Mang no-ron tich chap

Trang 10

MỞ ĐẦU

Những năm gần đây, trí tuệ nhân tạo và cụ thể hơn học máy 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ư Trí tuệ nhân tạo đang len lỏi vào mọi lĩnh vực và ảnh hưởng sâu rộng trong đời sống mà có thể chúng ta không

nhận ra Xe tự hành của Google và Tesla, hệ thống tự nhận dạng khuôn mặt trong ảnh

của Facebook, trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, chỉ là một vài trong vô vàn những ứng dụng của trí tuệ nhân tạo mà nòng cốt tạo nên

sự đột phá là học máy

Tất cả các công nghệ này, về mặt bản chất đều xuất phát từ cùng một nguồn gốc Chúng được phát triển từ “Deep learning”, một nhánh đặc biệt trong AI Nhiều nhà khoa học vẫn gọi nó theo tên nguyên gốc là mạng nơ-ron học sâu Cũng như các

thuật toán học máy, học sâu cũng dựa trên các thuật toán phức tạp và kỹ thuật thống ké ANN, CNN va RNN là những mô hình của học sâu hiện đại — mang lưới này mô

phỏng tương tự như mạng lưới thần kinh của con người gồm nhiều tầng xử lý đề học

từ những dữ liệu lớn được biểu diễn với nhiều mức trừu tượng khác nhau

Một trong những loại phố biến nhất trong mạng nơ-ron học sâu được biết đến

với tên gọi mạng nơ-ron tích chập CNN CNN thu nhận các thuộc tính đã học với dữ liệu đầu vào, và sử dụng các lớp tích chập (convolution) hai chiều, làm cho cấu trúc này phù hợp với dữ liệu hai chiều, chẳng hạn như hình ảnh CNN loại bỏ việc trích thuộc tính một cách thủ công, vì vậy không cần phải xác định các thuộc tính phục vụ

cho phân loại hình ảnh và trích xuất trực tiếp các thuộc tính từ hình ảnh thô Những

thuộc tính không được đào tạo trước, nó sẽ học sau khi mạng được huấn luyện từ một nhóm các hình ảnh Việc trích xuất thuộc tính một cách tự động giúp cho mô hình học

sâu đạt được độ chính xác cao cho việc phân loại đối tượng

Ngày nay, học sâu giúp máy tính thực thi những việc tưởng chừng như không thê vào khoảng 10 năm trước: Phân loại cả ngàn vat thé khác nhau trong các bức ảnh,

tự tạo chú thích cho ảnh, hay thậm chí cả giao tiếp với con người Đặc biệt thời gian

Trang 11

4.0 là sự kết hợp thông minh vào thiết kế xe tự hành mở ra nhiễu cơ hội cũng như

thách thức không nhỏ Đề có khả năng tự lái, xe tự hành phải có sự kết hợp nhiều hệ

thống học sâu xử lý một lượng dữ liệu đầu vào vô cùng lớn theo thời gian thực từ các hệ thống thu nhận tín hiệu lắp đặt trên xe để chỉ ra đầy đủ môi trường xung quanh và để phòng những trở ngại bất ngờ Thêm vào đó, việc sử dụng mô hình mạng nơ-ron tích chập trong lĩnh vực xe tự hành thu được những kết quả rất khả quan trong thời gian gần đây Luận văn “Từm hiểu mạng no-ron tích chập và ứng dụng dự đoán

góc lái trong xe tự hành ” tìm hiểu mô hình học sâu mạng nơ-ron nhân tạo, tìm hiểu

kiến trúc, thành phần mô hình mạng nơ-ron tích chập Trên cơ sở đó xây dựng chương trình mô phỏng bài toán dự đoán góc lái trong xe tự hành sử dụng mô hình mạng nơ- ron tích chập

Phạm vi nghiên cứu của luận văn là lý thuyết về mạng nơ-ron tích chập, mô

hình mạng nơ-ron tích chập để dự đoán góc lái cho bài toán xe tự hành với đầu vào là dữ liệu hình ảnh

Phương pháp nghiên cứu trong luận văn được kết hợp giữa nghiên cứu lý thuyết về các tài liệu về mô hình học sâu CNN trong bài toán đự đoán góc lái cho xe

tự hành Từ đó tiến hành cài đặt mô phỏng chương trình, tiến hành các thực nghiệm,

lượng hóa và đánh giá kết quả

Nội dung của luận văn được trình bày trong 3 chương Chương 1 Tổng quan về học sâu

Nội dung của chương sẽ giới thiệu tổng quan về học sâu và một số ứng dụng

trong các hệ thống học sâu điều khiển xe tự hành

Chương 2 Mạng nơ-ron tích chập

Là những nội dung chỉ tiết về mạng nơ-ron tích chập và ứng dụng trong bài

toán dự đoán góc lái xe tự hành

Trang 12

Trong chương 3, sẽ tập trung trình bày mô phỏng, thực nghiệm, sau đó đánh giá, phân tích kết quả, những lỗi và điểm yếu còn tổn tại

Cuối cùng là phần kết luận, tóm tắt các nội dung đã tìm hiểu, đánh giá các kết quả đã đạt được của luận văn, từ đó đề xuất hướng nghiên cứu và phát triển trong tương lai

Trong quá trình nghiên cứu, mặc dù đã có nhiều cố gắng nhưng do kiến thức còn hạn chế nên luận văn không thê tránh khỏi những khiếm khuyết Kính mong nhận được sự chỉ bảo của quý thầy giáo, cô giáo, các nhận xét và góp ý của các anh chị học

Trang 13

CHUONG 1 TONG QUAN VE HOC SAU 1.1 GIGI THIEU TONG QUAN

Trí tuệ nhân tạo là trí thông minh của máy do con người tạo ra, là một nhánh

của Khoa học máy tính tập trung vào việc tạo ra những cô máy thông minh hoạt động như con người

Như vậy, trí tuệ nhân tạo ở đây là nói đến khả năng của máy khi thực hiện các

công việc mà con người thường phải xử lý và khi dáng vẻ ứng xử hoặc kết quả thực hiện của máy là tốt hơn hoặc tương đương với con người thì ta gọi đó là máy thông minh hay máy đó có trí thông minh Hay nói cách khác, đánh giá sự thông minh của máy không phải dựa trên nguyên lý nó thực hiện nhiệm vụ đó có giống cách con người thực hiện hay không mà dựa trên kết quả hoặc dáng vẻ ứng xử bên ngoài của nó có giống với kết quả hoặc dáng vẻ ứng xử của con người hay không

Khi khả năng tính toán của các máy tính được nâng lên một tam cao mới và

lượng dữ liệu không 16, hoc may da tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi là học sâu (Deep Learning) Học sâu là một thuật toán dựa trên một số ý tưởng từ não bộ tới việc tiếp thu nhiều tầng biểu đạt cả cụ thể lẫn trừu tượng, qua đó

làm rõ nghĩa của các loại dữ liệu Học sâu có thể giải quyết các bài toán với số lượng

lớn kích thước đầu vào lớn với hiệu năng cũng như độ chính xác vượt trội Vì thé,

học sâu đã giúp máy tinh thực thi những việc tưởng chừng như không thể vào 10 năm

trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh, tự tạo chú thích cho

ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn hay âm nhạc Học sâu còn được nghiên cứu, ứng dụng trong phát triển lĩnh vực công nghệ tự hành hay drone giao hàng tự động và đã đạt được những kết quả ngoài mong đợi

Trang 14

nơ-ron tích chập là một tnơ-rong những mô hình học sâu tiên tiến giúp chúng ta xây dựng được những hệ thống thông minh, đặc biệt trong công nghệ tự hành nói chung và lĩnh

vực ô tô tự lái nói riêng

Trong phạm vi nội dung luận văn cao học này, tôi tập trung tìm hiểu, nghiên cứu về mạng nơ-ron tích chập (Convolutional Neural Network) trong việc xây dựng một mơ hình dự đốn góc lái trong công nghệ xe tự hành sử dụng đầu vào là các hình

ảnh được thu nhận từ hệ thống camera gắn cố định ở trên xe

Trí tuệ nhân tạo

Mọi kỹ thuật cho phép máy tỉnh hắt eh

chước hành vỉ của con người -

Học máy

Tập hợp các kỹ thuật AI sử dụng nhiều phương pháp thống kê cho phép máy tỉnh

tự cải thiện bằng kinh nghiệm

g

Machine Learning

Học sâu

Một phần nhỏ của học máy, với mục đích biến việc tính toán của các mạng thần kinh đa lớp trở nên khả thi

Hình 1.1 Mối quan hệ giữa trí tuệ nhân tạo, học máy và học sâu

1.2 TONG QUAN VE TRI TUE NHAN TAO

1.2.1 Giới thiệu

Theo hiểu biết chung, trí tuệ nhân tạo hay trí thông minh nhân tạo là một ngành thuộc lĩnh vực khoa học máy tinh (Computer science) dugc sinh ra voi mục đích làm

cho máy tính có được trí thông minh

Vấn đề chính của việc định nghĩa “frí tuệ nhân tạo” là gì nằm ở việc định nghĩa

“tri tué” noi chung Day la mot khái niệm đồng nhất chung hay là một khái niệm bao gồm nhiều tập hợp khả năng khác nhau, hay chỉ nói về một khả năng, thậm chí là cách phối hợp các khả năng đó Thông thường, trí tuệ nhân tạo được định nghĩa là

Trang 15

tuệ nhân tạo khác nhau rõ ràng hơn: John McCarthy vào năm 1956 lần đầu tiên sử dụng thuật ngữ “Trí tuệ nhan tao” hay Artificial Intelligence — AI dé chỉ khả năng thu nhận thông tin và ra quyết định tự động của máy móc Trước đó vào năm 1950, Alan Turing đã để xuất Turing Test để đo trí thông minh của máy và vẫn được sử dụng cho đến nay để xác định mức độ “suy nghĩ” giống con người của máy Turing phát biêu rằng: nếu một người thâm vấn không thê phân biệt được giữa việc người hay máy trả lời thì có nghĩa rằng trí thông minh hoặc “suy nghĩ” của máy tính tương đương con người Trí tuệ nhân tạo giúp tạo ra máy tính có khả năng suy nghĩ, máy tính có trí tuệ theo đầy đủ nghĩa của từ này (Haugeland, 1985) Trí tuệ nhân tạo là

khoa học nghiên cứu xem thé nao dé máy tính có thể thực hiện được những công việc

mà con người làm tốt hơn máy tính (Rich và Knight, 1991) Trí tuệ nhân tạo là khoa học nghiên cứu các hoạt động trí não thông qua các mô hỉnh tính toán (Chaniaka và

MecDemott, 1985) Trí tuệ nhận tạo nghiên cứu các mô hình máy tính có thể nhận thức, lập luận và hành động (Winston, 1992) Trí tuệ nhân tạo nghiên cứu các hành

vi thông minh mô phỏng các vật thê nhân tao (Nilsson, 1998)

Nhìn chung, về mặt định nghĩa, có thể hiểu Trí thông minh nhân tạo hay AI là:

Trí thông minh nhân tạo là trí thông minh được thực hiện bởi máy móc mà không

phải là dựa trên con người hoặc động vật, là hệ thống hoặc thiết bị máy móc có khả năng học tập từ môi trường và tối đa hóa khả năng thực hiện mục tiêu Hiện nay, có hai khái niệm được coi là tối ưu nhất về trí tuệ nhân tạo:

Tứ nhất, trí tuệ nhân tạo là một lĩnh vực tron ø khoa học và kỹ thuật, giúp tạo

ra các cô máy và phần mềm sở hữu “trí tuệ”

Thứ hai, trí tuệ nhân tạo là một lĩnh vực khoa học máy tính sử dụng trong phát

triển các hệ thống máy tính thông minh — tức các hệ thống sở hữu các khả năng mà

trước đây được coI là của riêng con người — hiểu được ngôn ngữ, học tập, lý luận, và

Trang 16

1.2.2 Các hướng nghiên cứu và thành tựu của trí tuệ nhân tạo

Trong lịch sử phát triển trí tuệ nhân tạo, các nhà nghiên cứu tiếp cận theo bốn

hướng chính:

+ Hành động như người (acting humanly) + Suy nghĩ như người (thinking humanly) + Suy nghi hop ly (thinking rationally) + Hanh dong hop ly (acting rationally)

Trong đó, mức độ mô phỏng máy tính ø# nguoi là khó nhất và đây cũng là

mục tiêu mà các nhà khoa học đang hướng tới Ngoài ra, trí tuệ nhân tạo còn hướng

đến khả năng máy tính có thể suy luận gồm những đặc trưng sau:

Suy ludn (reasoning): Kha nang giai quyét vẫn đề bằng suy luận logic

Tri thie (knowledge): Kha nang biéu diễn tri thức về thế giới xung quanh (hiệu

được có bao nhiêu đối tượng, sự kiện, tình huống hiện hữu trong thế giới thực và được phân loại dựa trên đặc tính của từng đối tượng đó)

Lập kế hoạch (planning): Kha nang thiét lap va dat duoc muc tiéu để ra dựa

trên tri thức đã biểu diễn được

Giao tiép (communication): Kha nang hiéu được ngôn ngữ viết và nói của con nguoi

Nhận thức (percepfion): Khả năng suy luận về thế giới từ hình ảnh thị giác, âm thanh và các đầu vào giác quan khác

Đến nay, hướng tiếp cận hành động như người đã đạt được một số thành quả

nhất định như:

Máy có khả năng đọc hiểu và giao tiếp bằng ngôn ngữ tự nhiên với người (natural language processing)

Trang 17

Máy có khả năng sử đụng tri thức đã lưu trữ để trả lời câu hỏi hay đưa ra kết luận hữu ích (automated reasoning)

Máy có khả năng thích nghi với các điều kiện môi trường xung quanh để rút trích ra các nguyên lý từ tri thức thu nhận được phục vụ cho việc ra quyết định (machine learning) Máy có kha năng quan sát và xác định được các đối tượng xung quanh (computer vision) Máy có khả năng tương tác với đối tượng và di chuyền trong môi trường xung quanh (robotics)

Suy nghĩ như người là một hướng tiếp cận khác thiên về khoa học nhận thức (cognitive science) Ở góc độ nào đó, suy nghĩ như người là quá khó nên ta có thé giới hạn bài toán lại chỉ cần suy nghĩ hợp lý, hướng tiếp cận này gặp nhiều thách thức

Thứ nhất, máy khó diễn đạt được tri thức từ thế giới không chính tắc

(informal) sang ngôn ngữ chính tắc (formal) đặc biệt khi tri thức đó không chắc

chắn 100% là đúng

Thứ hai, có sự khác biệt lớn giữa giải quyết bài toán trên lý thuyết và bài tốn ngồi thực tế Do trong thực tế cần rất nhiều dữ kiện đề giải quyết vấn để nên khiến cho các hệ thống tính toán bị quá tải

Cuối cùng là những con robot, là hướng tiếp cận hành động hợp ly Robot hay con goi la agent (trong tiếng La tỉnh có nghĩa làm gì đó) Các chương trình máy tính đều có khả năng làm gì đó nhưng agent được đòi hỏi nhiều hơn Chúng phải có khả

năng tự vận hành, thu nhận thông tin từ môi trường xung quanh, tổn tại được trong một thời gian dài, thích nghĩ với những thay đổi, đề xuất các mục tiêu và đạt được mục tiêu đó

1.2.3 Học máy

Trang 18

máy thực chất là một phần rất nhỏ của AI - nhưng lại có hiệu quả nhất Học máy là một cách để hướng tới AI, hay nói cách khác AI là mục tiêu còn phương tiện/cách thức để có được AI là học máy ®Machine Learning *NLP G10, S3) 03103 sComputer Vision Robotics «Khoa học | nhận thức Suy nghĩ như con người © Logic © Fuzzy Logic

Hình 1.2 Các hướng nghiên cứu, tiếp cận của trí tuệ nhân tạo theo học máy Trên thực tế, không có một thuật ngữ chung nào được thống nhất cho học máy

Có thê kế đến hàng trăm định nghĩa khác nhau về học máy Tuy nhiên, nhìn chung tất cả các định nghĩa này đều hướng đến một mô tả trực quan sơ bộ về “ngành khoa

học biến máy tính có khả năng học và hoạt động như con người và có thể cải thiện kết quả học theo thời gian một cách tự động, bằng cách đưa thêm dữ liệu và thông tin

dưới dạng các quan sát và tương tác với thế giới thực” Tuy nhiên các định nghĩa kiểu này khá chung chung, một cách định nghĩa hình thức được chấp nhận rộng rãi nhất

cho đến hiện nay được đưa ra bởi Tom.M Mitchell:

“Một chương trình máy tính được gọi là có khả năng học từ kinh nghiệm E với

lớp nhiệm vụ T và độ đo hiệu quả P nếu độ đo hiệu quả P của nó cho nhiệm vụ 7 được cải thiện theo kinh nghiệm F`

Ở đây ta thấy rằng ba khái niệm then chốt của học máy là:

Trang 19

+ Đồ đo hiệu quả P

Đây là những yếu tố không thê thiếu khi đề cập đến một mô hình học máy

Máy học có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được

lập trình cụ thể Mục đích chính là cho phép các máy tính tự động học mà không cần sự can thiệp hay trợ giúp của con người và điều chỉnh các hành động tương ứng Học

máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc phát triển các kĩ thuật cho

phép các máy tính có thê "học" Cụ thể hơn, học máy là một phương pháp đề tạo ra các chương trình máy tính bằng việc phân tích các tập đữ liệu Học máy có liên quan

lớn đến thống kê, vì cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng

khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc

thực thi tính toán Nhiều bài toán suy luận được xếp vào loại bài toán NP- Khó, vì thế

một phần của học máy là nghiên cứu sự phát triển các giải thuật suy luận xấp xi mà

có thể xử lí được

Nguyên tắc cốt lõi của máy học là các máy tiếp nhận dữ liệu, tự động hóa việc xây dựng mô hình phân tích và tự học Sử dụng các thuật toán lặp để học từ dữ liệu,

cho phép máy tính tìm thấy những thông tin giá trị 4n sâu mà không được lập trình một cách rõ ràng nơi đề tìm Khi các mô hình này được tiếp xúc với đữ liệu mới thì

chúng có thể thích ứng một cách độc lập Chúng học từ các tính toán trước đó để tạo

ra những quyết định cũng như kết quả lặp lại và đáng tin cậy Quá trình học bắt đầu bằng các quan sát hoặc dữ liệu để tìm kiếm các mẫu trong dữ liệu và đưa ra quyết

định tốt hơn trong tương lai dựa trên tập dữ liệu được cung cấp

Tóm lại, máy học là sự kết hợp của cả ba khía cạnh: Dữ liệu, thuộc tính và thuật toán Máy học làm nhiệm vụ thu thập dữ liệu, mô hình hóa dữ liệu và lựa chọn các thuộc tính, các đặc trưng phù hợp cho bài toán và sau đó sử dụng các thuật toán học máy để xây dựng các mô hình dự đoán từ đó cải thiện hiệu quả của các nhiệm vụ cần thiết

1.2.4 Phan nhóm các thuật toán học máy

Có hai cách phô biến phân nhóm các thuật toán máy học: Một là dựa trên phương thức học (leaming style), hai là dựa trên chức năng (function) của mỗi thuật toán

Trang 20

- Phân nhóm dhta trên phương thức học: Theo phương thức học, các thuật toán

học máy thường được chia làm bốn nhóm: + Học có giám sát (Supervise learning)

+ Học không giám sat (Unsupervise learning) + Học bán giám sát (Semi-supervised lerning) + Hoc cting cé (Reinforcement learning)

- Phân nhóm dựa trên chức năng: Có một cách phân nhóm thứ hai dựa trên

chức năng của các thuật toán gồm có:

+ Các thuật toán hồi quy (regression) + Cac thuat toan phan loai (classification) + Các thuật toán dựa trên mẫu (instance -based) + Các thuật toán phân nhóm (clustering)

+ Các thuật toán mạng nơ-ron nhan tao (artificial neural network)

+ Các thuật toán giảm chiều đữ liệu (dimensionality reduction) + Thuật toán Bayes

+ Các thuật toán kết hợp (ensemble)

Và còn rất nhiều các thuật toán khác

1.3 HỌC SÂU

1.3.1 Giới thiệu

Hoc sau (Deep Learning) la một chi của ngành máy học dựa trên một tập hop

các thuật toán để cố gắng mô hình dữ liệu trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều biến

đôi phi tuyến

Khái niệm “sâu” là một thuật ngữ kỹ thuật Nó đề cập đến số lượng các lớp

trong một mạng nơ-ron Mạng nơ-ron là gì? Có thể hiểu đơn giản đó là một mạng

Trang 21

lưới như mạng thần kinh của con người, trong đó nhận đầu vào để cho ra một đầu ra

sau quá trình tính toán và huấn luyện để có kết quả tính toán phù hợp nhất Các mạng này có các lớp liên kết với nhau theo một quy luật nào đó Và khi mạng nơ-ron này có một lớp ân ta gọi nó là một mạng nông (shallow network) và khi số lớp ân tăng lên chúng được gọi là các mang hoc sau (deep network)

19805-ERA NEURAL NETWORK DEEP LEARNING NEURAL NETWORK

Multiple hidden layers

process hierarchical features ldentfy 2x 2m light/dark

pixel value ean Identify identify identity edges combinations features

combinations

or features

Links carry signals

from one node — of edges ——-? to another, boosting or damping them ng | according to each dụ = ‘al r P “Hs “59 [HH E BEY ASP BA link’s ‘weight’

Hình 1.3 Mạng nơ-ron “nông” và mạng nơ-ron “sâu” - Nguồn: PNAS

Việc có nhiều lớp ân cho phép các deep neural network có thể tự động khám

phá ra các thuộc tính của dữ liệu theo các bậc liên kết với nhau được gọi là các thuộc

tính thứ cấp Các thuộc tính đơn giản thứ cấp có thể kết hợp lại với nhau từ lớp này sang lớp kế tiếp, dé tạo thành các thuộc tính phức hợp, phức tạp hơn Hay nói cách khác, học sâu cung cấp cho máy tính khả năng học mà không cần lập trình rõ ràng —

trong khi có khả năng thu được độ chính xác cao hơn và đặc biệt tốt đối với các nhiệm vụ nhận thức máy tính có liên quan đến dữ liệu phi cấu trúc, chẳng hạn như các đốm

pixel trong hình ảnh hoặc từ ngữ trong văn bản

Tóm lại, học sâu là một phương pháp nằm trong mô hình mạng nơ-ron và nằm

trong học máy, còn học máy là một hướng tiếp cận để hiện thực hóa mục tiêu biến

máy móc có khả năng suy nghĩ như con người của AI

Trang 22

1.3.2 Kiến trúc học sâu

Thông thường, khi sử dụng thuật ngữ học sâu, có nghĩa là ta đang đề cập đến các deep artificial neural networks (hay các mạng nơ-ron nhân tạo sâu) Học sâu sử dụng cấu trúc được lấy cảm hứng từ mạng lưới thần kinh của con người, một trong những cấu trúc sống với khả năng học hỏi cao nhất Giống như mạng lưới thần kinh trong não bộ, mạng nơ-ron bao gồm nhiều lớp “nơ-ron” liên kết với nhau thành một mạng lưới

Có một lượng rất lớn các biến thể của kiến trúc học sâu như mạng nơ-ron sâu,

mạng nơ-ron tích chập sâu, mạng niềm tin sâu và mạng nơ-ron tái phát đã được áp

dụng cho các lĩnh vực như thị giác máy tính, tự động nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh ngôn ngữ và tin sinh học, chúng đã được chứng minh là tạo ra các kết quả rất tốt đối với nhiều nhiệm vụ khác nhau

Hai mô hình mạng phô biến nhất trong học sâu là mạng tích chập phù hợp với dữ liệu có tính chất không gian như các ứng đụng liên quan đến xử lý hình ảnh và mạng hồi quy phù hợp trong các ứng dụng xử lý ngôn ngữ tự nhiên và nhận dạng

giọng nói, dữ liệu có tính chất chuỗi

1.3.3 Quá trình huấn luyện mạng học sâu

Cốt lõi của học sâu bao gồm mô hình mạng nơ-ron nhiều lớp và quá trình huấn

luyện mạng để xác định các tham số cho mô hình Huấn luyện là quá trình xác định các tham số cho mạng nơ-ron Quá trình này sử dụng một tập dữ liệu mẫu làm đầu

vào và tối thiểu hoá hàm lỗi Quá trình tối thiểu hoá hàm lỗi xuất phát từ một bộ giá

trỊ ngau nhiên của tham số, sau đó lần lượt cập nhật lại các giá trị tham số này dựa

trên đạo hàm riêng của hàm lỗi theo từng tham số 1.3.4 Những mặt hạn chế của học sâu

Học sâu khai thác được Big Data nhưng đó cũng là điểm yếu của nó Học sâu

là đòi hỏi một lượng đữ liệu khổng lồ để huấn luyện và không phải là thuật toán tốt

cho mọi bài toán Đặc biệt học sâu cho đến nay vẫn là một phương pháp black-box

Trang 23

method (phương pháp hộp đen) nghĩa là chúng ta hồn tồn khơng biết mô hình hoạt

động như thé nao va tai sao lại cho ra kết qua nhu vay, ta chi biết được input va ouput

Một điểm yếu khác của học sâu là nó đòi hỏi rat nhiều tài nguyên đề tính toán trong quá trình huấn luyện Và đó là một lý do tại sao người ta thường dùng các loại chip chuyên dụng như GPU để xây dựng và huấn luyện các mô hình học sâu

Ngoài ra, học sâu đòi hỏi rất nhiều công sức trong vấn đề tối ưu tham số (tuning hypermarameters) như lựa chọn số layer, số node cho từng layer, các hệ số learning

rate, số lần lặp

1.4 ỨNG DỤNG HỌC SÂU TRONG LĨNH VUC TU HANH

Các ngành sản xuất công nghiệp hiện đại là một trong những lĩnh vực đầu tiên

sử dụng robot và hệ thống tự động hóa, bắt đầu từ những năm 1960 Khi lần đầu tiên xuất hiện, các rô-bốt đã được sử dụng để tự động hoá nhiều nhiệm vụ đơn giản, tẻ

nhạt mà con người sẽ thấy nhàm chán hoặc thậm chí nguy hiêm Nhiều hệ thống hoạt động song song với con người và vẫn yêu cầu giám sát liên tục để đảm bảo chúng

hoạt động hiệu quả Tuy nhiên, ngày nay, các rô-bốt và hệ thống tự động được sử

dụng trong sản xuất thường hiệu quả hơn các lao động mới hoặc không có kỹ năng

Khi được sử dụng kết hợp với nên tản ø AI và máy học, rô-bốt có thể trở nên tiên tiến

hơn và thậm chí thông minh hơn Điều này làm giảm đáng kể chi phí Theo thống kê một rô-bốt duy nhất có thê thay thế cho 400-500 công nhân với hiệu quả tương đương và đầu tư ít hơn

Trí tuệ nhân tạo giờ đây không chỉ nằm trong ý tưởng hay mơ ước của con người mà nó hoàn toàn đang nằm trong tầm tay của con người, đặc biệt trong các ứng dụng thực tế trong đời sống Một trong các ứng dụng nỗi tiếng nhất của AI nói chung và học sâu nói riêng là các phương tiện tự hành (máy bay không người lái và xe tự lái) Những tiến bộ trong AI đã góp phần vào sự phát triển của ngành công nghiệp ô tô thông qua việc tạo ra và phát triển các phương tiện tự lái Tính đến năm 2016, có hơn 30 công ty sử đụng AI để tạo ra những chiếc xe không người lái Một vài công ty liên quan đến AI bao gồm Tesla, Google và Apple Xe tự lái có kiến trúc hết sức

Trang 24

phức tạp với sự kết hợp của các hệ thống như phanh, bánh lái, phòng chống va chạm, điều hướng và lập bản đồ Các hệ thống này được kết hợp và điều khiển thông qua một máy tính xử lý trung tâm tạo nên những chiếc xe tự lái

Hình 1.4 Xe tự lái của Tesla — Nguồn: autopro.com.vn

Mặc dù xe tự hành vẫn trong giai đoạn thử nghiệm Tuy nhiên với các tiến bộ

gần đây, xe tự hành được kỳ vọng sẽ tạo ra những đột phá cách mạng trong lĩnh vực giao thông Chính phủ Anh đã thông qua luật để bắt đầu thử nghiệm các đội xe tải tự

lái vào năm 2018 Tuy nhiên, đội xe tự lái này được chạy theo sau sự dẫn dắt của một

chiếc xe không tự lái, đo đó đây không phải là việc tự lái hoàn toàn Trong khi đó,

Daimler, một tập đồn ơ tơ của Đức, đang thử nghiệm mẫu xe Freightliner Inspiration, một loại xe tải bán tự động chi được sử dụng trên đường cao tốc

Một yếu tố chính ảnh hưởng đến khả năng của xe tự lái là chức năng lập bản dé di chuyên Thông thường, bản đồ của khu vực đang được điều khiển sẽ được lập

trình sẵn cho xe với các đữ liệu về điều kiện ánh sáng và độ cao của lẻ đường nhằm

giúp cho xe biết được điều kiện môi trường xung quanh Tuy nhiên, Google đã phát

triển một thuật toán với mục đích loại bỏ sự cần thiết của các bản đồ và thay vào đó, tạo ra một thiết bị có thể tự điều chỉnh được trong nhiều môi trường mới Một sỐ Xe

tự lái không được trang bị tay lái hoặc bàn đạp phanh, do đó cũng đã có những nghiên cứu tập trung vào việc tạo ra một thuật toán có khả năng duy trì môi trường an toàn cho hành khách trong xe thông qua nhận thức về tốc độ và điều kiện lái xe

Trang 25

Một yếu tố khác ảnh hưởng đến khả năng của xe tự lái là sự an toàn của hành

khách Đề chế tạo một chiếc ô tô ít có sự can thiệp của con người, các kỹ sư phải lập

trình để xử lý các tỉnh huống có nguy cơ cao Những tình huống này có thể là tình

huống va chạm trực tiếp với người đi bộ Mục tiêu chính của chiếc xe là ưu tiên đưa

ra các quyết định đề tránh va chạm với người đi bộ và giữ an toàn cho hành khách trên xe Tuy nhiên trong một số trường hợp chiếc xe buộc phải quyết định chỉ cứu được một trong hai người, người đi bộ hoặc hành khách mà thôi Điều này làm nảy

sinh những vấn đề triết học và đạo đức được đặt ra với tự động hóa

1.5 TIEU KET CHUONG 1

Nội dung chương 1 này luận văn đã trình bày một số khái niệm cơ bản về trí

tuệ nhân tạo, học máy và mối liên hệ giữa các khái niệm này Đồng thời, dựa vào các khái niệm này để làm sáng tỏ khái niệm học sâu, kiến trúc học sâu và những mặt hạn

chế của nó Ngoài ra, trong chương này cũng giới thiệu những hướng tiếp cận của các hệ thống học sâu đang được nghiên cứu và ứng dụng trong lĩnh vực tự hành nói chung và trong lĩnh vực ô tô tự lái nói riêng

Trang 26

CHUONG 2 MANG NO-RON TiCH CHAP

2.1 GIỚI THIỆU

Khái niệm mạng nơ-ron được bắt đầu vào cuối thập kỷ 1800 khi người ta cố gắng mô tả hoạt động của trí tuệ con người Ý tưởng này bắt đầu được áp dụng cho các mơ hình tính tốn từ mạng Perceptron Perceptron là một bộ phân loại tuyến tính cho việc phân loại dữ liệu cho trường hợp đơn giản nhất chỉ có hai lớp (class) và cũng chỉ hoạt động được trong một trường hợp rất cụ thể Tuy nhiên nó là nền tảng cho một mảng lớn quan trọng của học máy là nơ-ron nhân tạo và mạng nơ-ron tích chập

và sau này là học sâu Bản chất của bài toán học sâu là các mô hình có thể học được từ dữ liệu, sau đó dùng mô hình đó để dự đoán được các dữ liệu mới Với bài toán dự

đoán góc lái dựa trên dữ liệu đầu vào là tập hình ảnh từ camera, ngoài những kiến

thức liên quan đến học sâu và mạng nơ-ron tích chập, việc xử lý dữ liệu liên quan mật

thiết với kiến thức về xử lý ảnh cơ bản

2.1.1 Hệ màu RGB

RGB viết tắt của red (đỏ), green (xanh lục), blue (xanh lam), khi trộn ba màu

trên theo tỉ lệ nhất định có thể tạo thành các màu khác nhau Khi chúng ta chọn một mau thi sẽ ra một bộ ba số tương ứng (r,g,b)

Trang 27

Với mỗi bộ gồm r, g, b là 3 số nguyên trong khoảng [0, 255] sẽ cho ra một

màu khác nhau Do có 256 cách chọn r, 256 cách chọn màu g, 256 cách chọn b Vậy

tổng số màu có thể tạo ra bằng hệ màu RGB là: 256 * 256 * 256 = 16777216 màu

2.1.2 Ảnh màu

Ảnh màu là một ma trận các pIxel mà mỗi pixel biểu diễn một điểm màu Mỗi điểm màu được biểu diễn bằng bộ 3 số (r,g,b) Để tiện cho việc xử ly anh thi sé tach

ma tran pixel ra 3 kênh (channel) red, green, blue Dé biéu dién 1 màu ta cần 3 thông số (r,ø,b) nên gọi Wi = ip đụ, Diy) dé biéu dién dui dang ma tran kich thude n*m thi sé nhu sau (” hang va mm cột)

WỊq Wi2 +: Wim

W221 W22 ++ Wam

Wnt Wn2 Whnxn

Trong đó w¿; la mot pixel, mỗi ma trận được tách ra goi la 1 channel nên ảnh mau duoc goi la 3 channel: channel red, channel green, channel blue

M1 M2 + Tim 911 G12 ++ Grim bị Dyas Dam 1 T2200 + cm Í 022 mak đam Hạn boa Dom

Tri 2 1 Ởn2 cá Dam

2.1.3 Tensor

Khi dữ liệu biểu diễn dang 1 chiéu, người ta gọi là vector, mặc định khi viết vector sẽ viết dưới đạng cột Khi dữ liệu dạng 2 chiều, người ta gọi là ma trận, kích

thước là số hàng * số cột

Wii Wiz + Wim

_ W2, 1 W222 ++ Wam

Wy, 1 Wn 2 Wyrm

Trong d6, Vector V kich thudc n, ma tran W kích thước n*m

Khi dữ liệu nhiều hơn 2 chiều thì sẽ được gọi là tensor, ví dụ như dữ liệu có 3 chiều Xếp m vector kích thước ø cạnh nhau thì sẽ được ma trận n*m Tensor 3 chiều cũng là sự kết hợp của các ma trận cùng kích thước, xếp k ma trận kích thước n*m

Trang 28

lên nhau sẽ được tensor kích thước n*m*k Do đó biểu điễn ảnh màu trên máy tính ở phân trên sẽ được biểu diễn dưới dạng tensor 3 chiều

Ví dụ biểu diễn ảnh màu kích thước 28*28, biểu diễn dưới dang tensor 28*28*3 color image is 3rd-order tensor os 28 pine [mesg q 1Ñ gaek [ven hị J Color image I channel (Pan) BÍ Hình 2.2 Ví dụ về Tensor 3 chiều — Nguồn: machinetolearn.home.blog 2.2 PERCEPTRONS 2.2.1 Mạng perceptron cơ bản

Hệ thống thần kinh của con người chứa các tế bào, được gọi là tế bào thần kinh (nơ-ron) Các nơ-ron được kết nối với nhau bằng cách sử dung soi truc (axons) va soi nhanh (dendrites) va cac vùng kết nối giữa sợi trục và sợi nhánh được gọi là khớp

than kinh (synapses) Cac két néi nay thường thay đổi để đáp ứng với các kích thích bên ngoài Sự thay đổi này là cách học tập diễn ra trong các sinh vật sống Một mạng nơ-ron được câu thành bởi các nơ-ron đơn lẻ được gọi là các percepfron

Trang 29

Axon terminals Myelin sheath \ Input iT 4 7 Z Dendrit 3 z E› Signals —» Snes Signals —> omy: Cell nucleus Output

Schematic of a biological neuron

Hình 2.3 Mô tả một nơ-ron thần kinh sinh hoc — Nguén: cs231n.github.io/

Như Hình 2.3, ta có thé thấy một nơ-ron có thể nhận nhiều đầu vào và cho ra

một kết quả duy nhất, mô hình của perceptron cũng tương tự như vậy

#1

đa output

#3

Hinh 2.4 M6 hinh perceptron

Một perceptron sẽ nhận một hoặc nhiều đầu X vào dang nhi phan và cho ra

một kết qua o (out put) dạng nhị phân duy nhất Các đầu vào được điều phối tầm ảnh hưởng bởi các tham số trọng lượng tương ứng W của nó, còn kết quả đầu ra được quyết định đựa vào một ngưỡng (threshold) quyết định b nào đó

Trang 30

Bias Inputs es) } Output Activation Function Weights Hình 2.5 Cơ chế hoạt động của nơ-ron nhân tạo 0 nếu » w;X; < threshold i o= 1 néu w;x; > threshold i Dat b = —threshold, ta cé thé viết lại thành: Onéuy wx +b <0 i O= 1 nou) wir +b>0 i Nếu gắn xạ = 0 và wạ = 0 ta có thể viết gọn thành: o = {One w'x <0 1nếu WTX> 0 2.2.2 Hàm kích hoạt

Trong mô hình sinh học, các xung thần kinh được truyền qua axon với một tỷ lệ nào đó Ở mô hình học máy mô phỏng chúng ta xây dựng các hàm kích hoạt sẽ điều chỉnh tỷ lệ truyền này Phần lớn các đơn vị trong mạng nơ-ron sử dụng một hàm vô hướng (scalar-to-scalar function) gọi là hàm kích hoạt, kết quả của hàm này là một

giá trị gọi là mức độ kích hoạt của don vi (unit's activation) Loai try kha nang don vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một hay nhiều đơn vị khác Các

Trang 31

hàm kích hoạt thường bị ép vào một khoảng giá trị xác định, do đó thường được gọi

là các hàm bẹp (squashing)

Với đầu vào và đầu ra dang nhị phân, ta rất khó có thể điều chỉnh một lượng

nhỏ đầu vào dé đầu ra thay đôi chút ít, nên để linh động, ta có thể mở rộng chúng ra cả khoảng [0, 1]

Lúc này đầu ra được quyết định bởi mét ham sigmoid ø(WwTx) Từ đây ta có thê thấy rằng mỗi sigmoid nơ-ron cũng tương tự như một bộ phân loại tuyến tính bởi

Xác suất:

P(y; =11x,;w) = ø(wTx)

Một cách tổng quát, ta dat z = (w"x) ta cd 0 = o(z) ham perceptron duoc

biéu diễn qua một hàm kích hoạt f(z) như sau: o = f(z) = f(w"x) Bang cách biểu diễn như vay, ta co thé xem nơ-ron sinh học được thể hiện như sau: Cau tric neuron sinh hoc Cau tric neuron trong hoc may impulses carried To 100

toward cell body Treo

branches axon from a neuron

dendrites (, ly of axon 020

dendrite

\ 5 axon cell body i

nies —=@ - fe "terminals Ally (» ia ) » +b output axon activation function ‘impulses carried "KẾT The away from cellbody ® cell body Hình 2.6 Sự tương quan nơ-ron thần kinh và nơ-ron nhân tạo Nguồn: cs231n.github.io/

Giống như trong mô hình sinh học, các xung thần kinh được truyền qua axon với một tỷ lệ nào đó Ở mô hình học máy mô phỏng chúng ta xây dựng, các hàm kích hoạt sẽ điều chỉnh tỷ lệ truyền này Các hàm này thường là các hàm phi tuyến Chúng ta cần lưu ý là 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

Trang 32

thì khi kết hợp với phép toán tuyến tính wTx thì kết quả thu được cũng sẽ là một thao tác tuyến tính dẫn tới trở nên vô nghĩa Một số hàm kích hoạt thường được sử dụng:

Sigmoid Leaky ReLU eet max(0.1z, z) o(z) = ye tanh Maxout tanh(z) a % max(w/ x + 6;,w4'z + bạ) ReLU ELU max(0, x) l oy #2 5

Hình 2.7 Một số hàm kích hoạt thường được sử dụng

2.2.3 Kiến trúc của mạng nơ-ron

Mạng nơ-ron là sự kết hợp của các tầng perceptron hay còn được gọi là perceptron đa tầng (multilayer perceptron) Một mạng nơ-ron sẽ có ba kiểu tang:

Tầng vào (inpui layer): Là tầng bên trái cùng của mạng thê hiện cho các đầu vào của mạng

Tang ra (output layer): La tang bén phai cing cua mang thể hiện cho các đầu ra cua mang

Tang an (hidden layer): La tang nam giita tang vao va tang ra thể hiện cho việc suy luận logic của mạng, có thể có nhiều hidden layers (lớp ân) ở giữa

output layer input layer

hidden layer

Hinh 2.8 Kién trac mang no-ron

Lưu ý rằng, một mạng nơ-ron chỉ có 1 tầng vào và | tang ra nhung cé thé cd nhiều tầng ấn

Trang 33

Z » Ặ bề XI su 2 NA \ { bY aN ° H~- layer hidden layer 1 hidden layer 2 ù oi Š input layer

Hình 2.9 Mạng nơ-ron - 2 hidden layer

Trong mạng nơ-ron, mỗi nút mạng là một sigmoid nơ-ron nhưng hàm kích hoạt của chúng có thê khác nhau Tuy nhiên trong thực tế người ta thường để chúng

cùng dạng với nhau để tính toán cho thuận lợi Ở mỗi tầng, số lượng các nút mạng có

thê khác nhau tuỳ thuộc vào bài toán và cách giải quyết Nhưng thường khi làm việc người ta để các tầng ân có số lượng nơ-ron bằng nhau Ngoài ra, các nơ-ron ở các tầng thường được liên kết đôi một với nhau tạo thành mạng kết nối đầy đủ (full-

connected network) Khi đó ta có thể tính được kích cỡ của mạng dựa vào số tầng và sO no-ron

Vi du ở hình 2.9 trên ta có: 4 tầng mạng, trong đó có 2 tầng ân, 3+4*2+I=12

nút mạng, (3*4+4*4+4*1)+(4+4+L)E 41 tham số

2.2.4 Lan truyền tiến

Trang 34

Trong đỏ:

+! số lượng nút ở tầng Ì tương ứng

+ ae là nút mạng thứ j của tang L

+ wt? là tham số trọng lượng của đầu vào al? đối với nút mang thir i của tầng Ï + 1 và nee là độ lệch (bias) của nút mạng thir i cua tang 1 + 1

(1+1)

Đầu ra của nút mạng này được biểu diễn bằng Q; ung voi ham kich hoạt ƒ(Z¡) tương ứng

Riêng với tầng vào, thông thường a cũng chính là các đầu vào x trong ứng của mạng Đề tiện tính toán, ta coi đọ Œ là một đầu vào và word — = pee la tham số trọng lượng của đầu vào này Lúc đó ta có thể viết lại công thức trên dưới dạng véc-to:

z9 = wird), a( alt) — =0?)

Nếu nhóm các tham số của mỗi tầng thành một ma trận có các cột tương ứng với tham số mỗi nút mạng thì ta có thé tinh tốn cho tồn bộ các nút trong một tầng bằng véc-tơ:

z1) — W HÀ @®

a) _ ƒŒ0*)

Trang 35

(1 — 1)" layer © „=1) =9) zy „1 ~ll-1) „-1) „tcl) “q0 — đaớch (rủ a; zil=1) qll=1) wÐ (0 TUỆ) Ml) “ao 10) aaa zl) all) wie Re xa bí e RdOx1 20) = w(97ad=9 + g9 20 = WOTal-Y) + pữ) al) = f(z) Hình 2.10 Các kí hiệu dùng trong mạng nơ-ron 2.2.5 Học với mạng nơ-ron

Cũng tương tự như các bài toán học máy khác thì quá trình học vẫn là tìm lấy

một hàm lỗi để đánh giá và tìm cách tối ưu hàm lỗi đó để được kết quả hợp lý nhất

có thể Mỗi nút mạng của mạng nơ-ron có thể coi là một bộ phân loại có hàm lỗi là:

L(W) = _— œ9 log(ø®+ (1— y®3log(1 — ø8))

i=1

Trong do:

+m là số lượng dữ liệu huấn luyện

+ y#) là đầu ra thực tế của dữ liệu thứ í trong tập huấn huyện

+o là kết quả ước lượng được với dữ liệu thứ i

Hàm lỗi của nơ-ron cũng tương tự, chỉ khác là đầu ra của mạng nơ-ron có thé có nhiều nút nên khi tính đầu ra ta cũng cần phải tính cho từng nút ra đó Giả sử số

nút ra là K và y„ là đầu ra thực tế của nút thứ k, còn Øy là đầu ra ước lượng được cho

nút thứ k tương ứng Khi đó, công thức tính hàm lỗi sẽ thành:

Trang 36

m K

1 „ „

JQW) = -— YY Of? tog( of?) + (1= yÐ)Jlog( — of)

i=1 k=1

Lưu ý rằng, các tham số lúc này không còn đơn thuần là một ma trận nữa mà

là một tập của tất cả các ma trận tham số của tất cả các tầng mạng nên biểu diễn nó

dưới dạng tập hợp W

2.2.6 Lan truyền ngược và đạo hàm

Lan truyền ngược (ðackpropagafion) là giải thuật cốt lõi giúp cho các mô hình

học sâu có thể dễ dang thực thị tính toán được Với các mạng nơ-ron hiện đại, nhờ

giải thuật này mà thuật toán tối ưu với đạo hàm (građienf descent) c6 thê nhanh hơn hàng triệu lần so với cách thực hiện truyền thống Mạng lan truyền ngược được sử

dụng cho học sâu, nhưng nó còn là cơng cụ tính tốn mạnh mẽ cho nhiều lĩnh vực

khác từ dự báo thời tiết tới phân tích tính ổn định số học, chỉ có điều là nó được sử

dụng với những tên khác nhau Thực ra nó được khai phá lại để sử dụn gcho rất nhiều

lĩnh vực khác nhau Nhưng một cách tổng quát không phụ thuộc vào ứng dụng thì tên ctia né la “phép vi phan nguoc” (reverse-mode differentiation) Vé co ban, no là một

ki thuat dé nhanh chong tinh duoc dao ham

Đề tính đạo hàm của hàm lỗi VJ(W) trong mạng nơ-ron, ta sử dụng một giải thuật đặc biệt là giải thuật /an fruyền ngược (backpropagafion) Nhờ có giải thuật

được sáng tạo vào năm 1986 này mà mạng nơ-ron thực thi hiệu quả được và ứng dụng

ngày một nhiều cho tới tận ngày này Về cơ bản phương pháp này được dựa theo quy

tắc chuỗi đạo hàm của hàm hợp và phép tính ngược đạo hàm để thu được đạo hàm

theo tất cả các tham số cùng lúc chỉ với hai lần đuyệt mạng Giải thuật lan truyền

ngược được thực hiện như sau:

- Lan truyền tiễn (1):

Lần lượt tính các af) từ 1 = 2 > L theo công thức: zØ = WØ,aữ-1)

a® = ƒ(z0®)

Trong đó, tầng vào af) chính bằng giá trị vào của mang x

Trang 37

- Tính đạo hàm theo Z ở tầng ra (2):

9J a daa)

0z) ~ da®) az

với aŒ), zŒ) vừa tính được ở bước

- Lan truyền ngược (3):

Tinh đạo hàm theo Z ngược lại từ Ì = (L— 1) — 2 theo công thức: ay ay az@+D aa az) azD gaO azO ay _ da — I+1)yT = (wi?) apt an aj Với z© tinh duoc 6 bude 1 va 2zd+1®) tính được ở vòng lặp ngay trước - Đạo hàm Tính đạo hàm theo tham số w bằng công thức: ay a aa) 0z) ` da®) az ay _ da® am) az a wan = «ewe ay a a2 aw® ~ az aw ig iy 7 4 Z „8 7 š 2 Voi al- tinh duoc & bude 1 va 5 tính được ở bước 3 2.2.7 Tiểu kết

Lấy cảm hứng từ mạng nơ-ron sinh học, mạng nơ-ron được hình thành từ các

tầng nơ-ron nhân tạo Mạng nơ-ron gồm ba kiểu tầng chinh la tang vao (input layer) biểu diễn cho đầu vào, tang ra (output layer) biéu dién cho két qua dau ra va tang an (hidden layer) thé hién cho cdc bude suy luận trung gian Mỗi nơ-ron 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

dang (activation function) phi tuyến như sigmoid, ReLU, tanh đê tính toán đầu ra Quá trình suy luận từ tầng vào tới tầng ra của mạng nơ-ron là quá trình lan truyền

Trang 38

tién (feedforward), tire 1a dau vao cdc no-ron tai 1 tang déu lấy từ kết quả các nơ-ron tầng trước đó mà không có quá trình suy luận ngược lại

z+) = wit), a(

ait) me f(z)

Hàm lỗi của mạng cũng tương tự như logistic regression có dạng cross- entropy, tuy nhiên khác logistic regression ở chỗ mạng nơ-ron có nhiều đầu ra nên hàm lỗi cũng phải lấy tông lỗi của tất cả các đầu ra này: X ) ÔÒÔ i=1 k=1 1 m JW)=~

Để tối ưu được hàm lỗi J(W) này người ta sử dụng giải thuật lan truyền

ngược để tính được đạo hàm của hàm lỗi này ay gf aa) az) aa az ay @ az aw( ` az aw 2.3 MANG TICH CHAP 2.3.1 Giới thiệu về tích chập

Tích chập là một khái niệm trong xử lý tín hiệu số nhằm biến đổi thông tin đầu

vào thông qua một phép tích chập với bộ lọc để trả về đầu ra là một tín hiệu mới Tín

hiệu này sẽ làm giảm những đặc trưng mà bộ lọc không quan tâm và chỉ giữ những

đặc trưng chính Trong toán học và đặc biệt là trong giải tích hàm, tích chập là một

phép toán thực hiện đối với hai hàm số ƒ và g, kết quả cho ra một hàm số thứ ba Phép tích được ứng đụng trong xác suất, thống kê, thị giác máy tính, xử lý ảnh, xử lý

tín hiệu, kỹ thuật điện, học máy và các phương trình vị phân

Tích chập một chiểu: Xét tín hiệu một chiều a(n) va bé loc (filter) w(n) Tich chập của tín hiệu và bộ lọc là một tín hiệu một chiều mới b(n) được xác định theo

công thức:

Trang 39

©

b(n) = a(n) * w(n) = » a(n)w(n — k)

k=-oo

Trong mạng nơ-ron tích chập, tích chập được định nghĩa khác đi một chút Cho tín hiệu đầu vào và bộ lọc lần lượt là các vector a € RÑ và w € R Khi đó đầu

ra là một vector y với từng phần tử được tính bởi: ƒ-1 Yn = > Ans iWi i=0 Với, n thảo mãn 0 <Sn„ +i<N; Vi = 0,1, ,ƒ — 1, điều này tương đương với 0 Sn<NW_—ƒ+1.Vậyy€ RW~/+1, Cách tính tín hiệu đầu ra y được minh họa trong hình sau: y 2 1 on oer ao ` _ a est cau a ED 3 w 1 0 1 ——> 1 0 al —— 1 0 1 a £3 | 2 | 2 | | ee |e wi | se | sẽ | ã -2 |4 |0 |1 Hình 2.11 Cách tính tích chập một chiều

Quả trình tính đầu ra y có thể được thực hiện như sau:

1 Đặt bộ lọc w vào vị trí trơng ứng với ƒ phần tử đầu tiên của a

2 Nhân từng phần tử tương ứng của w và a rồi cộng các kết quả lại để được phân tử tương ứng của y

3 7rượt bộ lọc w một bước sang bên phải, nếu phần tử cuối cùng của bộ lọc

không vượt ra ngoài phần tử cuối cùng của tín hiệu, quay lại bước 2 Ngược lại, dừng các bước tính toán

2.3.2 Thêm lề

Nhận thấy rằng kích thước của đầu ra y nhỏ hơn kích thước của đầu vào a vì

ta đang giả sử cả bộ lọc phải nằm trọn vẹn trong tín hiệu đầu vào

Trang 40

Trong trường hợp muốn tín hiệu đầu ra có kích thước bằng tín hiệu đầu vào, ta có thê giả sử tín hiệu đầu vào có thêm các giá trị bằng không ở hai phía, kỹ thuật này được gọi là thêm lẻ (padding) Đề có kích thước bằng nhau, tín hiệu đầu vào cần được thêm ƒ — 1 giá trị bằng không Khi ƒ là một số lẻ, mỗi phía của tín hiệu vào

thường được thêm P = (ƒ — 1)/2 giá trị bằng không Giá trị P có thể là một số tự

nhiên bất kỳ tùy thuộc vào từng trường hợp, P không nhất thiết phải đảm bảo kích

thước đầu ra và đầu vào của tín hiệu là như nhau Khi không sử dụng thêm lễ, P =0 Viéc thém 1é duoc minh hoa trong hình vẽ bên dưới: Khi ƒ = 3, ta thêm P =1 ô

bằng không vào mỗi phía của a Khi đó y và a có kích thước như nhau y SP 2 a\| 3) 0 | wiilo|ja — 1/0/21) —~+ 1} o}-4

a | 0 (Re Te a Seen oni] 0 |

Hinh 2.13 Tich chap voi thém 1é

2.3.3 Bước trượt

Trong hình 2.13, bộ lọc w được dịch sang phải một ô sau mỗi phép tính Trong

một số trường hợp ta có thể dịch bộ lọc đi nhiều ô sau mỗi phép tính Số lượng ô được

dịch này được gọi là bước trượt (stride), ký hiệu là $ Lúc này, công thức tổng quát

được viết lại trở thành:

Ngày đăng: 11/01/2024, 22:45

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

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

TÀI LIỆU LIÊN QUAN

w