60 TRƯƠNG NGỌC SƠN GIÁO TRÌNH TRÍ TUỆ NHÂN TẠO CƠ SỞ VÀ ỨNG DỤNG (Ngành Kỹ thuật máy tính) NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ******************* TS TRƯƠNG NGỌC SƠN GIÁO TRÌNH TRÍ TUỆ NHÂN TẠO CƠ SỞ VÀ ỨNG DỤNG (Ngành Kỹ thuật máy tính) NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH – NĂM 2020 GIÁO TRÌNH TRÍ TUỆ NHÂN TẠO CƠ SỞ VÀ ỨNG DỤNG (Ngành kỹ thuật máy tính) TRƯƠNG NGỌC SƠN Chịu trách nhiệm xuất nội dung TS ĐỖ VĂN BIÊN Biên tập LÊ THỊ THU THẢO Sửa in PHAN KHƠI Trình bày bìa TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM Website: http://hcmute.edu.vn Đối tác liên kết – Tổ chức thảo chịu trách nhiệm tác quyền TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM Website: http://hcmute.edu.vn NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Phịng 501, Nhà Điều hành ĐHQG-HCM, phường Linh Trung, quận Thủ Đức, TP Hồ Chí Minh ĐT: 028 6272 6361 - 028 6272 6390 E-mail: vnuhp@vnuhcm.edu.vn Website: www.vnuhcmpress.edu.vn VĂN PHÒNG NHÀ XUẤT BẢN PHỊNG QUẢN LÝ DỰ ÁN VÀ PHÁT HÀNH Tịa nhà K-Trường Đại học Khoa học Xã hội & Nhân văn, số 10-12 Đinh Tiên Hoàng, phường Bến Nghé, Quận 1, TP Hồ Chí Minh ĐT: 028 66817058 - 028 62726390 - 028 62726351 Website: www.vnuhcmpress.edu.vn Nhà xuất ĐHQG-HCM tác giả/ đối tác liên kết giữ quyền© Copyright © by VNU-HCM Press and author/ co-partnership All rights reserved ISBN: 978-604-73-7624-7 In 300 cuốn, khổ 16 x 24 cm, XNĐKXB số: 1296-2020/CXBIPH/9-33/ĐHQGTPHCM QĐXB số 64/QĐ-NXB ĐHQGTPHCM, cấp ngày 26/5/2020 In tại: Cơng ty TNHH In & bao bì Hưng Phú Đ/c: 162A/1, KP1A, P An Phú, TX Thuận An, Bình Dương Nộp lưu chiểu: Q II/2020 GIÁO TRÌNH TRÍ TUỆ NHÂN TẠO CƠ SỞ VÀ ỨNG DỤNG (Ngành kỹ thuật máy tính) TRƯƠNG NGỌC SƠN Bản tiếng Việt ©, TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM, NXB ĐHQG-HCM TÁC GIẢ Bản quyền tác phẩm bảo hộ Luật Xuất Luật Sở hữu trí tuệ Việt Nam Nghiêm cấm hình thức xuất bản, chụp, phát tán nội dung chưa có đồng ý Trường đại học Sư phạm Kỹ thuật TP HCM Tác giả ĐỂ CÓ SÁCH HAY, CẦN CHUNG TAY BẢO VỆ TÁC QUYỀN! LỜI NĨI ĐẦU Trí tuệ nhân tạo (artificial intelligence) hình thành phát triển từ nhiều thập kỷ qua, trở thành tảng khơng thể thiếu cách mạng công nghiệp 4.0 Trong ứng dụng trí tuệ nhân tạo, hệ thống khơng lập trình cách máy móc mà cịn có khả phân tích, xử lý tương tác cách thông minh Trong năm trở lại đây, với bùng nổ khoa học trí tuệ nhân tạo, tiếp cận nhiều lĩnh vực trí tuệ nhân tạo máy học (Machine Learning), mạng nơ-ron nhân tạo (Artificial Neural Network) hay học sâu (Deep Learning) Trí tuệ nhân tạo lĩnh vực khoa học rộng, bao gồm thiết kế nhằm hướng tới việc xử lý thông tin, thực thi tác vụ cách mà não người làm Trọng tâm ngành công nghiệp 4.0 công việc người thay máy móc sử dụng cơng nghệ, kỹ thuật vạn vật kết nối (Internet of Things) trí tuệ nhân tạo (artificial intelligence) Mặc dù hình thành phát triển từ vài thập kỷ trước, song thời gian gần ngành khoa học trí tuệ nhân tạo phát triển vượt bậc đạt nhiều thành tựu Nhìn góc độ kỹ thuật thấy rằng, trí tuệ nhân tạo tập hợp giải thuật, phép xử lý máy tính mơ theo hoạt động não Các giải thuật, tính tốn, xử lý địi hỏi nhiều tài ngun mà máy tính thơng thường khó đáp ứng tốt Những năm trở lại đây, ngành công nghiệp vi mạch phát triển, hệ thống máy tính cải thiện tốc độ xử lý khả lưu trữ, tạo tiền đề cho phát triển ngành khoa học trí tuệ nhân tạo Giáo trình Trí tuệ nhân tạo - Cơ sở ứng dụng biên soạn bao gồm lý thuyết nâng cao mạng nơ-ron nhân tạo, giải thuật huấn luyện mạng, mạng nơ-ron ứng dụng thị giác máy tính, xử lý ngôn ngữ tự nhiên ứng dụng mạng học sâu vào giải toán thị giác máy tính, xử lý ngơn ngữ tự nhiên Giáo trình biên soạn nhằm phục vụ cho môn học Cơ sở ứng dụng AI ngành Kỹ thuật Máy tính Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh Bố cục giáo trình tổ chức thành chương: Chương 1: Giới thiệu tổng quan máy học, trí tuệ nhân tạo học sâu, nơ-ron sinh học mơ hình tốn nơ-ron, ứng dụng điển hình trí tuệ nhân tạo hướng tiếp cận trí tuệ nhân tạo Chương 2: Giới thiệu cấu trúc mơ hình tốn nơ-ron, mạng nơ-ron nhân tạo, cấu trúc mạng nơ-ron nhân tạo phổ biến Chương 3: Giới thiệu phương pháp huấn luyện mạng Perceptron, mạng nhiều lớp, giải thuật lan truyền ngược cho mạng nơ-ron nhiều lớp thực thi giải thuật lan truyền ngược cho mạng nhiều lớp Chương 4: Giới thiệu kiến trúc mạng nơ-ron tích chập, giải thuật lan truyền ngược để huấn luyện mạng nơ-ron tích chập xây dựng ứng dụng mạng nơ-ron tích chập cho tốn phân loại ảnh Chương 5: Giới thiệu mạng nơ-ron hồi quy, giải thuật lan truyền ngược theo thời gian, Long Short-Term Memory mơ hình Encoder-Decoder Chương 6: Giới thiệu ứng dụng học sâu thị giác máy tính xử lý ngơn ngữ tự nhiên, xây dựng ứng dụng mạng nơ-ron tích chập, mạng nơ-ron hồi quy giải toán phân loại ảnh, phân loại cảm xúc văn bản, dự đoán chuỗi ký tự nhận dạng giọng nói Phần phụ lục: Giới thiệu bước cài đặt số thư viện sử dụng tồn giáo trình Cuối cùng, cố gắng biên soạn chỉnh sửa giáo trình khó tránh khỏi thiếu sót, tác giả mong nhận đóng góp quý báu từ sinh viên quý đồng nghiệp để tài liệu hoàn thiện lần tái Mọi ý kiến đóng góp xin gửi tác giả theo địa liên lạc: Bộ môn Kỹ thuật Máy tính – Viễn thơng, Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP HCM Email: sontn@hcmute.edu.vn Tác giả MỤC LỤC LỜI NÓI ĐẦU Chương TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 11 1.1 TRÍ TUỆ NHÂN TẠO, MÁY HỌC, HỌC SÂU VÀ MẠNG NƠ-RON NHÂN TẠO 11 1.2 NƠ-RON NHÂN TẠO 12 1.2.1 Nơ-ron sinh học 12 1.2.2 Nơ-ron nhân tạo 14 1.3 CÁC ỨNG DỤNG CỦA TRÍ TUỆ NHÂN TẠO 15 1.4 CÁC HƯỚNG TIẾP CẬN KHOA HỌC TRÍ TUỆ NHÂN TẠO 16 Chương MẠNG NƠ-RON NHÂN TẠO 18 2.1 GIỚI THIỆU 18 2.2 MƠ HÌNH HỐ NƠ-RON SINH HỌC 18 2.3 MẠNG NƠ-RON NHÂN TẠO 21 2.4 HUẤN LUYỆN MẠNG NƠ-RON NHÂN TẠO 23 2.5 MỘT SỐ KIẾN TRÚC MẠNG NƠ-RON NHÂN TẠO 26 2.5.1 Perceptron nơ-ron 27 2.5.2 Mạng nhiều lớp lan truyền thẳng (Multilayer feed forward neural network) 27 2.5.3 Mạng nơ-ron hàm sở xuyên tâm (Radius Basic Neural Network) 28 2.5.4 Mạng nơ-ron tích chập (Convolutional Neural Network) 28 2.5.5 Mạng hồi quy (Recurrent Neural Network) 29 Chương HUẤN LUYỆN MẠNG NƠ-RON 30 3.1 GIỚI THIỆU 30 3.2 PERCEPTRON NƠ-RON 30 3.2.1 Giới thiệu 30 3.2.2 Quy luật huấn luyện Perceptron nơ-ron 34 3.2.3 Phương pháp giảm độ dốc quy luật Delta 38 3.2.4 Áp dụng phương pháp xấp xỉ ngẫu nhiên cho trình giảm dần độ dốc 45 3.3 MẠNG NHIỀU LỚP VÀ GIẢI THUẬT LAN TRUYỀN NGƯỢC 51 3.3.1 Các hàm kích hoạt phi tuyến 52 3.3.3 Giải thuật lan truyền ngược (Backpropagarion Algorithm) 57 3.3.4 Sử dụng động lượng giải thuật lan truyền ngược 73 3.4 HÀM LỖI – HÀM MẤT MÁT 76 3.4.1 Hàm lỗi, Cost function Loss function 76 3.4.2 Sai số bình phương trung bình 76 3.4.3 Cross-Entropy 77 3.5 BATCH VÀ MINI-BATCH 77 3.6 THIẾT KẾ MẠNG NƠ-RON NHIỀU LỚP VỚI THƯ VIỆN KERAS 84 Chương 4: MẠNG NƠ-RON TÍCH CHẬP (CONVOLUTIONAL NEURAL NETWORK) 93 4.1 PHÉP TÍNH TÍCH CHẬP 93 4.1.1 Hệ thống tuyến tính bất biến theo thời gian hệ thống tuyến tính dịch bất biến 93 4.1.2 Tích chập tín hiệu khơng gian chiều 95 4.1.3 Tích chập không gian chiều 98 4.1.4 Hàm bước đơn vị không gian chiều 99 4.1.5 Tích chập khơng gian chiều tín hiệu với đáp ứng hàm bước đơn vị hệ thống tuyến tính bất biến 100 4.1.6 Tích chập khơng gian chiều ảnh với đáp ứng hệ thống tuyến tính bất biến khác 103 4.2 MẠNG NƠ-RON TÍCH CHẬP 105 4.2.1 Kiến trúc tổng quát mạng nơ-ron tích chập 107 4.2.2 Lớp convolution 108 4.2.3 Lớp hàm kích hoạt 111 4.2.4 Lớp pooling 111 4.2.5 Lớp kết nối đủ 113 4.3 HUẤN LUYỆN MẠNG NƠ-RON TÍCH CHẬP 114 4.3.1 Lan truyền ngược qua lớp tích chập 114 4.3.2 Lan truyền ngược qua lớp Pooling 117 4.4 THIẾT KẾ VÀ HUẤN LUYỆN MẠNG CNN 119 4.4.1 Thiết kế mạng CNN với thư viện Tensoflow 119 4.4.2 Thiết kế mạng CNN với thư viện Keras 125 Chương 5: MẠNG NƠ-RON HỒI QUY (RECURRENT NEURAL NETWORK) 128 5.1 GIỚI THIỆU MẠNG NƠ-RON HỒI QUY 128 5.2 LAN TRUYỀN NGƯỢC THEO THỜI GIAN 133 5.3 HIỆN TƯỢNG GRADIENT TRỞ NÊN QUÁ NHỎ HOẶC QUÁ LỚN TRONG MẠNG NƠ-RON HỒI QUY 138 5.4 THIẾT KẾ MẠNG NƠ-RON HỒI QUY 140 5.4.1 Mạng nơ-ron hồi quy 140 5.4.2 Thiết kế mạng nơ-ron hồi quy với thư viện Keras 147 5.5 LONG SHORT-TERM MEMORY (LSTM) 153 5.6 THIẾT KẾ CÁC MẠNG LSTM 157 5.7 MƠ HÌNH ENCODER – DECODER 159 Chương 6: HỌC SÂU VÀ ỨNG DỤNG (DEEP LEARNING AND ITS APPLICATIONS) 163 6.1 HỌC SÂU (DEEP LEARNING) 163 6.2 ỨNG DỤNG HỌC SÂU TRONG THỊ GIÁC MÁY TÍNH 165 6.2.1 Phân loại ảnh (image classification) 165 6.2.2 Phát đối tượng (Object detection) 167 6.2.3 Phân đoạn đối tượng (Object Segmentation) 168 6.2.4 Chuyển mẫu (Style transfer) 169 6.2.5 Theo dõi đối tượng (Object tracking) 170 6.3 PHÂN LOẠI ẢNH VỚI MƠ HÌNH MẠNG HỌC SÂU 170 6.3.1 Ứng dụng mạng nơ-ron tích chập nhận dạng tập ảnh CIFAR-10 170 6.3.2 Cải thiện tỷ lệ nhận dạng tập liệu CIFAR-10 với mạng học sâu 178 6.3.3 Triển khai mạng học sâu với tập liệu lớn 184 6.3.3.1 Mạng VGG16 185 6.3.3.2 Nhận dạng ảnh với mạng VGG16 187 6.4 ỨNG DỤNG HỌC SÂU TRONG XỬ LÝ NGÔN NGỮ TỰ NHIÊN 193 6.4.1 Giới thiệu 193 6.4.2 Xử lý văn 194 6.4.3 Bài tốn phân loại cảm xúc (Sentiment classification) .203 6.4.4 Mơ hình Sequence-to-sequence 213 6.4.5 Thiết kế mơ hình sequence-to-sequence chuyển đổi từ tiếng Anh sang tiếng Pháp 213 6.5 CHUYỂN LỜI NÓI THÀNH VĂN BẢN (SPEECH TO TEXT) 223 6.5.1 Giới thiệu 223 6.5.2 Trích rút đặc trưng tín hiệu lời nói 224 6.5.3 Thiết kế nhận dạng lời nói với mạng nơ-ron học sâu 226 6.5.4 Chuyển đổi lời nói sang văn sử dụng thư viện mã nguồn mở 232 PHỤ LỤC 242 TÀI LIỆU THAM KHẢO 243 ... trúc nơ-ron mơ hình tốn nơ-ron 1.3 CÁC ỨNG DỤNG CỦA TRÍ TUỆ NHÂN TẠO Trí tuệ nhân tạo ứng dụng nhiều lĩnh vực Dưới số ứng dụng điển hình trí tuệ nhân tạo: Ứng dụng nhận dạng đối tượng (Recognition)... Transform 10 Chương TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1.1 TRÍ TUỆ NHÂN TẠO, MÁY HỌC, HỌC SÂU VÀ MẠNG NƠ-RON NHÂN TẠO Trí tuệ nhân tạo hay cách gọi khác thông minh nhân tạo dịch từ cụm từ tiếng Anh artificial...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ******************* TS TRƯƠNG NGỌC SƠN GIÁO TRÌNH TRÍ TUỆ NHÂN TẠO CƠ SỞ VÀ ỨNG DỤNG (Ngành Kỹ thuật