Hình 2.14 Sự khác nhau giữa Residual Block và CSPBlock Hình 2.15 Kỹ thuật tăng cường khảm Hình 2.24 Tính tỷ lệ kích thước hộp thực tế với mẫu neo Hình 2.25 Khớp hộp dự đoán với neo Hình
Trang 1NGÔ TUẤN LĨNH
XÂY DỰNG ỨNG DỤNG ĐẾM PHƯƠNG TIỆN GIAO THÔNG
BẰNG CÁCH TIẾP CẬN DEEP LEARNING
ĐỀ ÁN/LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Bình Định – Năm 2023
Trang 2NGÔ TUẤN LĨNH
XÂY DỰNG ỨNG DỤNG ĐẾM PHƯƠNG TIỆN GIAO THÔNG
BẰNG CÁCH TIẾP CẬN DEEP LEARNING
Ngành: Khoa học máy tính
Mã số: 8480101
Người hướng dẫn: TS LÊ XUÂN VINH
Bình Định – Năm 2023
Trang 3dẫn khoa học của TS Lê Xuân Vinh; Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu, hình ảnh trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình Trường Đại học Quy Nhơn không liên quan đến những
vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
Bình Định, ngày 08 tháng 10 năm 2023
Người thực hiện
Ngô Tuấn Lĩnh
Trang 4Trường Đại học Quy Nhơn đã tận tình dạy dỗ, truyền đạt cho em nhiều kiến thức quý báu
Em xin tỏ lòng biết ơn sâu sắc đến thầy TS Lê Xuân Vinh, người đã tận tình giúp đỡ và truyền đạt nhiều kinh nghiệm để đề tài có thể được thực hiện và hoàn thành Xin chân thành cảm ơn các bạn trong lớp Cao học Khoa học máy tính K24B, các bạn Khoa Công Nghệ Thông Tin, Trường Đại học Quy Nhơn đã giúp đỡ, động viên tôi rất nhiều trong quá trình thực hiện đề tài
Em xin chân thành cảm ơn!
Bình Định, ngày 08 tháng 10 năm 2023
Tác giả
Ngô Tuấn Lĩnh
Trang 5MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Tổng quan tình hình nghiên cứu đề tài 1
2.1 Tình hình nghiên cứu trong nước 1
2.2 Tình hình nghiên cứu ngoài nước 2
3 Mục tiêu nghiên cứu 3
4 Đối tượng và phạm vi nghiên cứu 3
4.1 Đối tượng nghiên cứu 3
4.2 Phạm vi nghiên cứu 3
5 Nội dung nghiên cứu 3
6 Phương pháp luận và phương pháp nghiên cứu 3
CHƯƠNG I KIẾN THỨC CƠ SỞ VỀ HỌC MÁY VÀ HỌC SÂU 5
1.1 Học máy 5
1.1.1 Định nghĩa 5
1.1.2 Phân loại học máy 6
1.1.3 Các bước giải quyết bài toán trong học máy 7
1.1.4 Ứng dụng của học máy 8
1 2 Mạng nơ-ron (Neural Network) 8
1.2.1 ng quan v mạng nơ-ron 8
1.2.2 Các thành phần cơ bản của mạng nơ-ron nhân tạo 9
1.2.3 Kiến trúc ANN 13
1.2.4 Hoạt động của ANN 14
1.3 Mạng nơ-ron tích chập (CNN) 15
1.3.1 Cấu trúc của CNN 16
1.4 Đánh giá mạng trong học máy 21
1.4.1 Dữ liệu đánh giá 21
1.4.2 Các khái niệm, độ đo khi đánh giá mô hình 22
Trang 61.5.2 Hoạt động của mạng học sâu 27
1.5.3 Ứng dụng 27
1.6 Tổng kết chương I 28
CHƯƠNG II PHÁT HIỆN ĐỐI TƯỢNG BẰNG HỌC SÂU 29
2.1 Bài toán phát hiện đối tượng 29
2.2 Một số cách tiếp cận bài toán phát hiện đối tượng dựa trên học sâu 29
2.2.1 R-CNN 30
2.2.2 Fast R-CNN 30
2.2.3 Faster R-CNN 31
2.2.4 Single Shot Detector-SSD 31
2.2.5 Mô hình YOLO 32
2.3 Thuật toán YOLO 32
2.3.1 Giới thiệu v YOLO 32
2.3.2 Kiến trúc của Yolo 33
2.3.3 Các tính năng trong Yolo 34
2.3.4 Các bước chính của thuật toán YOLO 38
2.4 YOLOV5 41
2.4.1 Các thành phần 42
2.4.2 Kỹ thuật tăng cường dữ liệu trong YOLOv5 44
2.4.3 Huấn luyện trong YOLOv5 46
2.4.4 Các tính năng b sung 47
2.5 Tổng kết chương II 52
CHƯƠNG III XÂY DỰNG ỨNG DỤNG ĐẾM PHƯƠNG TIỆN GIAO THÔNG 53
3.1 Phát biểu bài toán 53
3.2 Phương pháp được sử dụng 53
3.2.1 Đào tạo lại mô hình 54
3.2.2 Sử dụng mô hình đã huấn luyện để nhận dạng và đếm các phương tiện 55
Trang 73.4 Xây dựng ứng dụng 69
3.4.1 T chức dữ liệu 69
3.4.2 Nhận dạng và đếm phương tiện 70
3.4.3 Kết quả thực hiện 71
3.5 Tổng kết chương III 73
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 74
TÀI LIỆU THAM KHẢO 75
Trang 8ANN Artificial Neural Network BiFPN Bidirectional Feature Pyramid Network
DSC Depthwise Separable Convolution FPN Feature Pyramid Network
IoU Intersection over Union KNN k-Nearest Neighbors
LR Label Binarizer PANet Path Aggregation Network R-CNN Region-based Convolutional Neural Network ReLU Rectifier Layer Units
ROI Region of Interest RPN Region Proposal Network SPP Spatial Pyramid Pooling SPPF Spatial Pyramid Pooling Fusion SSD Single Shot MultiBox Detector SVM Support Vetor Machines
Trang 9Bảng 3.2 Kết quả demo video TranHungDao_9h.mp4 (file THD_9h.xlsx) Bảng 3.3 Kết quả demo video Muitau_TamQuan.mp4 (file Tamquan.xlsx)
Trang 10Hình 1.2 Đơn vị xử lí trong mạng nơ-ron
Hình 1.11 Tế bào mạng nơ-ron nhân tạo
Hình 1.12 Cấu trúc cơ bản của mạng Nơ-ron Tích chập (Lecun, 1989) Hình 1.13 Kiến trúc mạng tích chập tiêu biểu
Hình 1.14 Minh họa việc áp dụng phép tính Conv
Hình 1.15 Minh họa hoạt động của lớp pooling
Hình 1.16 Minh hoạ hoạt động của lớp pooling
Hình 1.17 Cấu trúc nơ-ron
Hình 1.18 Kiến trúc mạng học sâu
Hình 2.1 Kiến trúc mạng SSD
Hình 2.2 Sơ đồ kiến trúc mạng YOLO
Hình 2.3: Kiến trúc một output của model YOLO
Hình 2.4 Các bản đồ đặc trưng của mạng YOLOv3
Trang 11Hình 2.14 Sự khác nhau giữa Residual Block và CSPBlock
Hình 2.15 Kỹ thuật tăng cường khảm
Hình 2.24 Tính tỷ lệ kích thước hộp thực tế với mẫu neo
Hình 2.25 Khớp hộp dự đoán với neo
Hình 2.26 Gán neo phù hợp cho các ô thích hợp
Hình 2.27 Độ chính xác của các kiến trúc trong mô hình Yolov5
Hình 3.1 Sơ đồ đào tạo lại mô hình trong Yolov5
Hình 3.2 Sơ đồ thuật toán phát hiện và đếm đối tượng
Hình 3.3 Hình ảnh bộ dữ liệu huấn luyện
Hình 3.4 Hình ảnh bộ dữ liệu Test
Hình 3.5 Hình ảnh bộ dữ liệu Validation
Hình 3.6 Cấu trúc thưc mục Vehicledatafull
Hình 3.7 Thông tin huấn luyện
Hình 3.8 Biểu đồ kết quả huấn luyện với kiến trúc yolov5n
Hình 3.9 Đánh giá hiệu suất của mô hình
Hình 3.10 Phân lớp các đối tượng
Hình 3.11 Gắn nhãn các đối tượng
Hình 3.12 Gắn nhãn và độ tin cậy cho đối tượng
Trang 12Hình 3.15 Đánh giá hiệu suất của mô hình yolov5s
Hình 3.16 Phân lớp các đối tượng với yolov5s
Hình 3.17 Gắn nhãn các đối tượng
Hình 3.18 Gắn nhãn và độ tin cậy cho đối tượng
Hình 3.19 Nhận dạng đối tượng bằng mô hình được đào tạo lại yolov5s Hình 3.20 Biểu đồ kết quả huấn luyện với kiến trúc yolov5m
Hình 3.21 Đánh giá hiệu suất của mô hình yolov5m
Hình 3.22 Phân lớp các đối tượng với yolov5m
Hình 3.23 Gắn nhãn các đối tượng
Hình 3.24 Gắn nhãn và độ tin cậy cho đối tượng
Hình 3.25 Nhận dạng đối tượng bằng mô hình được đào tạo lại với yolov5m Hình 3.26 Tổ chức dữ liệu
Hình 3.27 Kết quả chạy demo video Hoaithanh.mp4
Hình 3.28 Kết quả demo video TranHungDao_9h.mp4
Hình 3.29 Kết quả demo với video Muitau_Tamquan.mp4
Trang 13MỞ ĐẦU
1 Lý do chọn đề tài
Hiện nay, tình hình tắc nghẽn giao thông trong những giờ cao điểm ngày càng trở nên thường xuyên hơn Việc tắc nghẽn giao thông dẫn đến các vấn đề khác như: tốn nhiều thời gian di chuyển của người tham gia giao thông; dễ xảy ra va chạm trong giao thông… Một trong những nguyên nhân dẫn đến tình trạng trên là có những thời điểm nhiều phương tiện cùng tham gia giao thông Đặc biệt, đối với học sinh các trường thường ra về cùng một thời điểm nên làm cho việc tắc nghẽn giao thông thêm trầm trọng, tiềm ẩn nhiều nguy cơ xảy ra tai nạn Do đó việc xây dựng một ứng dụng nhằm phát hiện, đếm phương tiện tham gia giao thông là rất cần thiết
Từ kết quả của việc đếm phương tiện giao thông ta sẽ có được thông tin về các thời điểm thường xảy ra tắc nghẽn giao thông và đưa ra các đề xuất hợp lí về thời gian ra
về của học sinh
Hiện nay có nhiều cách tiếp cận để giải quyết vấn đề này: Xử lý ảnh, phát hiện chuyển động, thuật toán trừ nền,…đã giải quyết được Trong đề án này bài toán được giải quyết theo một cách tiếp cận khác đó là bằng học sâu Cụ thể là đề án sẽ
sử dụng thuật toán Yolo và xây dựng mô hình phát hiện đối tượng, nghiên cứu bổ sung cách đếm đối tượng để đạt được mục tiêu
Xuất phát từ nhu cầu trên tôi chọn đề tài nghiên cứu “Xây dựng ứng dụng
đếm phương tiện giao thông bằng cách tiếp cận Deep learning”
2 Tổng quan tình hình nghiên cứu đề tài
2.1 Tình hình nghiên cứu trong nước
- Bài báo “Nghiên cứu thuật toán phân loại phương tiện giao thông dựa trên thị giác máy tính” của TS Nguyễn Mạnh Cường , ThS Vũ Văn Rực- Trường Đại học Hàng Hải Việt Nam, Tạp chí Khoa học công nghệ, tháng 7/2021 [1] Trong bài báo này các tác giả nghiên cứu phát triển thuật toán mới cho phép nhận diện và phân loại phương tiện trong luồng video trực tiếp, thuật toán được đề xuất sử dụng mạng
Trang 14nơron triển khai trên thuật toán Yolo và ứng dụng thuật toán Sort trong theo dõi và phát hiện đối tượng
- Bài báo “Ứng dụng học máy trong dự đoán lưu lượng giao thông” của Giang Thị Thu Huyền và Lê Quý Tài, Học viện Ngân hàng, Tạp chí Khoa học công nghệ Việt Nam, tháng 5 năm 2022 [2] Bài báo này trình bày khái quát về dự đoán lưu lượng giao thông và những kỹ thuật học máy nhằm dự đoán lưu lượng giao thông đang được sử dụng
- Bài báo “Xử lí vi phạm vượt đèn đỏ và dừng đỗ sai dựa trên học sâu” của các tác giả Huỳnh Hữu Hưng, Nguyễn Văn Phú, Nguyễn Tường, Trường Đại học Bách Khoa- Đại học Đà Nẵng [3], Tạp chí Khoa hcọ và công nghệ, ISSN 1859-1531, VOL 18, NO.5.1, 2020 Bài báo đề xuất sử dụng mạng tích chập YOLOv3 để trích xuất hình ảnh các đối tượng, sau đó thông tin về vị trí của phương tiện được xác định qua thuật toán theo dõi sẽ được dùng để phân loại vi phạm
2.2 Tình hình nghiên cứu ngoài nước
- Phát hiện đối tượng theo thời gian thực bằng cách sử dụng học sâu: Phương pháp tiếp cận dựa trên webcam (Real Time Object Detection using Deep Learning:
A Webcam Based Approach), Sandipan Chowdhury, Government College of
Engineering and Ceramic Technology, Prabuddha Sinha, Indian Institute of Technology Ropar, tháng 01 năm 2019 [4] Bài báo đề xuất một phương pháp phát hiện đối tượng thông qua webcam Phương pháp được sử dụng là sự kết hợp giữa mạng đề xuất khu vực (RPN) và Fast R-CNN, trong đó các đề xuất khu vực chất lượng cao được tạo bằng cách đào tạo RPN từ đầu đến cuối, đến lượt nó được Fast R-CNN sử dụng để phát hiện Hai mô-đun này kết hợp để tạo ra một hệ thống phát hiện đối tượng có tên Faster R-CNN
- Phát hiện đối tượng theo thời gian thực với YOLO (Real-Time Object Detection with Yolo), Geethapriya S, N Duraimurugan, S.P Chokkalingam, Tạp chí Quốc tế về Kỹ thuật và công nghệ (IJEAT), ISSN: 2249 – 8958, Tập-8, Số phát hành-3S, tháng 2 năm 2019 Bài báo giới thiệu phương pháp phát hiện đối tượng bằng Yolo [5]
Trang 15- Phương pháp tiếp cận học sâu nâng cao để đếm nhiều đối tượng trong môi trường xe cộ đô thị (An Advanced Deep Learning Approach for Multi-Object Counting in Urban Vehicular Environments), Ahmed Mukhtar Dirir, Henry Ignatious, Hesham Elsayed, Manzoo Ahmed Khan, November 2021, Future Internet 13(12):306, DOI:10.3390/fi13120306, License CC BY 4.0 [6] Bài báo này
đề xuất một cách tiếp cận hiệu quả sử dụng các khái niệm học sâu và các bộ lọc tương quan để đếm và theo dõi nhiều đối tượng
3 Mục tiêu nghiên cứu
- Nghiên cứu nhằm củng cố, nâng cao hiểu biết về học sâu
- Nghiên cứu phương pháp đếm phương tiện giao thông bằng mô hình học sâu YOLO để nhận dạng và đếm phương tiện giao thông trên hình ảnh, video
- Ứng dụng kiến thức vào việc giải quyết các vấn đề thực tiễn
4 Đối tượng và phạm vi nghiên cứu
4.1 Đối tượng nghiên cứu
- Mạng Nơ-ron nhân tạo
- Mô hình học sâu dựa trên mạng CNN
- Mô hình YOLOv5 trong phát hiện, nhận dạng đối tượng
- Nhận dạng, đếm phương tiện giao thông trong video được quay từ camera
- Phát hiện, nhận dạng và đếm đối tượng trong video
6 Phương pháp luận và phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết
+ Tìm hiểu kiến thức cơ sở về học máy
Trang 16+ Tìm hiểu mô hình học sâu dựa trên mạng CNN
+ Tìm hiểu lý thuyết về mô hình YOLOv5 trong phát hiện, nhận dạng đối tượng
+ Nghiên cứu kỹ thuật đếm đối tượng trong video
- Phương pháp nghiên cứu thực hành
Vận dụng mô hình YOLOv5 để nhận dạng phương tiện giao thông thông qua video của camera
Trang 17CHƯƠNG I KIẾN THỨC CƠ SỞ VỀ HỌC MÁY VÀ HỌC SÂU
Tóm tắt nội dung chương: Giới thiệu những kiến thức cơ sở v Học máy và Học sâu; Tìm hiểu v cấu trúc, cách hoạt động và ứng dụng của Mạng nơ-ron nhân tạo (ANN) và Mạng Nơ-ron tích chập (CNN)
1.1 Học máy
Học máy là một nhánh của trí tuệ nhân tạo cho phép máy học và phát triển mà
không cần lập trình rõ ràng Học máy liên quan đến việc thiết kế các chương trình phần mềm có thể thu thập dữ liệu và tự học
Máy học phân tích dữ liệu, diễn giải dữ liệu, học hỏi từ dữ liệu trong một lĩnh vực cụ thể và đưa ra quyết định tốt nhất có thể dựa trên cơ sở học hỏi bằng cách sử dụng một bộ thuật toán học tập (thuật toán học tập có giám sát hoặc không giám sát) Các chuyên gia máy học sử dụng các kỹ thuật thống kê và khái niệm khoa học máy tính để cho phép máy học từ dữ liệu hiện tại và dần dần cải thiện mà không cần phải được đào tạo cụ thể Các thuật toán SVM, K-mean phân cụm, Nave Bayes, hồi quy tuyến tính, hồi quy logistic, mạng thần kinh, phương pháp tập hợp và cây quyết định là những ví dụ về việc sử dụng rộng rãi các thuật toán học máy
1.1.1 Định nghĩa
Một chương trình máy tính được gọi là học từ dữ liệu, kinh nghiệm E đối với lớp nhiệm vụ và độ đo mức thực hiện P nếu việc thực hiện các nhiệm vụ T của nó khi đo bằng P được cải tiến nhờ dữ liệu hoặc kinh nghiệm E [7]
Trang 181.1.2 Phân loại học máy
Chủ yếu có bốn loại học máy sau:
Học có giám sát
Để dự đoán các kịch bản trong tương lai, thuật toán học máy có giám sát áp dụng các kinh nghiệm dựa trên dữ liệu đã có cho dữ liệu mới bằng cách sử dụng các
dữ liệu mẫu được gắn nhãn Học có giám sát có các loại:
+ Regession: Hồi quy
+ Classification: Phân lớp
Học không giám sát
Học không giám sát đề cập đến một loại học máy trong đó máy học từ dữ liệu
mà không cần sự trợ giúp của con người Các mô hình không được giám sát có thể được đào tạo với tập dữ liệu không được gắn nhãn, không được phân và thuật toán
phải xử lý dữ liệu mà không cần giám sát Học không giám sát có các loại:
chưa được gắn nhãn bằng sự kết hợp này
Học tăng cường
Học tăng cường là một nhánh của học máy cho phép một hệ thống con, được gọi là tác nhân, hiểu bằng cách thử nghiệm trong không gian ảo, mô phỏng tương
Trang 19tác, hỗ trợ kết quả bằng cơ chế phản hồi được tạo bằng cách sử dụng phản hồi từ
các sự kiện và trải nghiệm của chính nó
Học tăng cường sử dụng thuật toán Q-Learning
1.1.3 Các bước giải quyết bài toán trong học máy
Bước 1 Thu thập dữ liệu
Bước đầu tiên là thu thập dữ liệu huấn luyện, là dữ liệu mà mô hình sẽ học từ
đó Dữ liệu này có thể được thu thập từ nhiều nguồn bên ngoài hoặc được tạo ra
bằng cách gắn nhãn cho các dữ liệu đã có
Bước 2 Tiền xử lí dữ liệu
Dữ liệu thu thập được thường chưa được hoàn thiện và cần được xử lí trước khi
sử dụng chúng để huấn luyện cho mô hình Tiền xử lí có thể bao gồm các việc xử lí
dữ liệu còn thiếu, loại bỏ nhiễu, chuẩn hóa dữ liệu và chuyển đổi dữ liệu văn bản
hoặc hình ảnh thành định dạng phù hợp để đưa vào mô hình học máy
Bước 3 Chọn mô hình
Chọn mô hình học máy phù hợp Có nhiều loại mô hình học máy như học có giám sát (supervised learning), học không giám sát (unsupervised learning), học bán giám sát (semi- supervised learning), học tăng cường (reinforcement learing) và nhiều mô hình khác như cây quyết định (decision trees), mạng nơ-ron (neural networks), máy vector hỗ trợ (support vector machines), hồi quy tuyến tính (linear
regession)
Bước 4 Huấn luyện mô hình
Sau khi chọn mô hình, dữ liệu huấn luyện sẽ được sử dụng để huấn luyện mô hình Quá trình này bao gồm đưa dữ liệu huấn luyện vào mô hình, tính toán và điều chỉnh các tham số của mô hình để giúp nó đạt được hiệu suất tốt nhất trên dữ liệu
huấn luyện
Bước 5 Đánh giá mô hình
Trang 20Sau khi mô hình đã được huấn luyện, nó cần được đánh giá để đo lường hiệu suất của nó trên dữ liệu độc lập Điều này giúp đảm bảo rằng mô hình không chỉ học được từ dữ liệu huấn luyện mà còn có khả năng dự đoán chính xác trên dữ liệu mới Việc đánh giá mô hình được dựa trên các độ đo đánh giá: độ chính xác
(accuracy), độ đo F1 (F1- score), độ đo RMSE (Root Mean Squared Error…)
Bước 6 Tinh chỉnh mô hình
Dựa trên kết quả đánh giá, mô hình có thể được tinh chỉnh để cải thiện hiệu suất Điều này có thể bao gồm thay đổi các tham số của mô hình, tinh chỉnh dữ liệu
huấn luyện hoặc thay đổi kiến trúc mô hình
Bước 7 Triển khai mô hình
Sau khi mô hình được huấn luyện và tinh chỉnh, nó sẽ được triển khai và sử
dụng trong môi trường thực tế
1.1.4 Ứng dụng của học máy
- Nội suy, dự báo, phân lớp, phân cụm
- Nhận dạng chữ viết tay, nhận dạng ảnh
- Phát hiện cấu trúc, các yếu tố tác động, các quy luật
- Điều khiển thông minh
- Hỗ trợ ra quyết định
- Phân tích y khoa, nông nghiệp
- Khoa học xã hội, luật pháp
- Marketing, phân tích tài chính
1 2 Mạng nơ-ron (Neural Network)
1.2.1 T ng quan v mạng nơ-ron
Mạng nơ-ron nhân tạo (Artificial Neuron Netwwork- ANN) là một loại mô hình tính toán được lấy cảm hứng từ cấu trúc và hoạt động của mạng nơ-ron trong não người Nó là một hệ thống mô hình hóa chức năng của não bao gồm nhiều nơ-ron nhân tạo (hay còn gọi là nút) được kết nối với nhau để xử lí thông tin
Trang 21Mô hình nơ-ron nhân tạo đầu tiên là mô hình McCulloch- Pitts (MCP) được giới thiệu bởi Warren McCulloch và Walter Pitts vào năm 1943 Mô hình MCP là một mô hình đơn giản, nó mô tả cách mà tín hiệu điện sinh học trong não có thể được xử lí để đưa ra quyết định
Mô hình MCP dựa trên ý tưởng về các đơn vị xử lí đơn giản được gọi là ron nhân tạo hoạt động dựa trên nguyên tắc logic, với các đầu vào được truyền qua các đường dẫn đầu vào và được tính toán để đưa ra đầu ra thông qua một quy tắc hoạt động được xác đinh trước Mỗi đầu vào đều có một trọng số tương ứng, và đầu
nơ-ra của nơ-ron được tính dựa trên tổng có trọng số của các đầu vào và hàm kích hoạt (thường là hàm step hoặc hàm sigmoid) được áp dụng lên tổng đầu vào
Hình 1.2 Đơn vị xử lí trong mạng nơ-ron
Trang 22Trong đó:
xi là các giá trị đầu vào
wji là các trọng số tương ứng với các đầu vào
θj : độ lệch (bias)
aj : đầu vào mạng (net-input)
zj : đầu ra của nơ-ron
g(x): hàm chuyển (hàm kích hoạt)
Ba kiểu đơn vị trong mạng nơ-ron:
- Các đơn vị đầu vào (Input units) có chức năng nhận tín hiệu từ bên ngoài
- Các đơn vị đầu ra (Output units) có chức năng gửi dữ liệu ra bên ngoài
- Các đơn vị ẩn (Hidden units)
1.2.2.2 Hàm kết hợp
Với mỗi một đơn vị trong một mạng kết hợp với các giá trị đưa vào nó thông qua các liên kết với các đơn vị khác, sinh ra một giá trị gọi là net input Để thực hiện nhiệm vụ này chúng ta sử dụng hàm kết hợp (combination function) Trong hầu hết các mạng nơ-ron, mỗi đơn vị cung cấp một bộ công cụ như là đầu vào cho đơn vị mà nó liên kết Tổng đầu vào đơn vị j là tổng trọng số của các đầu vào từ các đơn vị kết nối cộng thêm ngưỡng hay độ lệch (bias) θj :
Trong trường hợp wji >0, nơ-ron được xem là đang ở trong trạng thái kích hoạt Tương tự, nếu như wji <0, nơ-ron ở trạng thái kiềm chế Các đơn vị với luật lan truyền như trên là các sigma units
Trong một vài trường hợp cũng có thể sử dụng các luật lan truyền phức tạp hơn Một trong số đó là luật sigma-pi, có dạng:
Trang 23Rất nhiều hàm kết hợp sử dụng một “độ lệch” hay “ngưỡng” để tính đầu vào mạng tới đơn vị Đối với một đơn vị đầu ra tuyến tính, thông thường θj được chọn là hằng số và trong bài toán xấp xỉ đa thức θj = 1
1.2.2.3 Hàm kích hoạt (activation function)
Hàm kích hoạt của một nút trong mạng nơ ron nhân tạo là hàm tính toán đầu
ra của nút (dựa trên đầu vào của nó và trọng số trên từng đầu vào riêng lẻ) Các hàm kích hoạt hay được sử dụng là:
- Hàm đồng nhất (Linear function, Identity function): g(x) =x
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này, đôi khi một hằng số được nhân với đầu vào mạng để tạo ra một hàm đồng nhất
Hình 1.3 Hàm đồng nhất (Identity function)
- Hàm bước nhị phân (Birary step function, Hard limit function)
Hàm này cũng được biết đến với tên “Hàm ngưỡng” (Threshold function hay Heaviside function) Đầu ra của hàm này được giới hạn vào một trong hai giá trị:
Hàm này được dùng trong các mạng chỉ có một lớp Với θ được chọn bằng 1 hàm bước nhị phân có dạng:
Hình 1.4 Hàm bước nhị nhập (Binary step function)
Trang 24- Hàm sigmoid (Sigmoid function (logsig))
Hàm này đặc biệt thuận lợi khi sử dụng cho các mạng được huấn luyện bởi thuật toán lan truyền ngược (back-propagation), do đó có thể giảm đáng kể tính toán trong quá trình huấn luyện Hàm sigmoid được ứng dụng cho các chương trình ứng dụng mà các đầu ra mong muốn rơi vào khoảng (0,1)
Hình 1.5 Hàm Sigmoid
- Hàm sigmoid lưỡng cực (Tan-Sigmoid)
Hàm này có thuộc tính tương tự hàm sigmoid Nó làm việc tốt đối với các ứng dụng có đầu ra yêu cầu trong khoảng (-1,1)
Trang 26Lớp lớp đầu vào (input layer): lớp này nằm bên trái cùng của mạng, thể hiện cho các đầu vào của mạng
Lớp lớp đầu ra (output layer): là lớp bên phải cùng và nó thể hiện cho những đầu ra của mạng
Lớp lớp ẩn (hidden layer): lớp này nằm giữa lớp đầu vào và lớp đầu ra nó thể hiện cho quá trình suy luận logic của mạng
Mỗi một mạng nơ-ron chỉ có duy nhất một lớp đầu vào và một lớp đầu ra nhưng lại có rất nhiều lớp ẩn
Hình 1.10 Mạng nơ-ron nhiều lớp
1.2.4 Hoạt động của ANN
Hình 1.11 Tế bào mạng nơ-ron nhân tạo
- Các giá trị đầu vào x1, x2, … xn thường được đưa vào dưới dạng một véc-tơ
N chiều
- Tập các liên kết: Có chức năng truyền thông tin trong đó ứng với một liên kết có một trọng số (hay trọng số liên kết là số thực dùng để thể hiện mức độ quan trọng của liên kết với đầu ra - weight) W1, W2, … Wn Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng
Trang 27- Hàm kết hợp (combination function): Thường dùng để tính tổng của tích các giá trị đầu vào với trọng số liên kết tương ứng của nó
- Hàm kích hoạt (active function): Được sử dụng để giới hạn phạm vi đầu ra của mỗi nơ-ron Thông thường, phạm vi đầu ra của mỗi nơ-ron được giới hạn trong đoạn [0,1] hoặc [-1, 1]
1.3 Mạng nơ-ron tích chập (CNN)
Mạng CNN (Convolutional Neural Network) là một kiểu mạng thần kinh nhân tạo được sử dụng chủ yếu để xử lý dữ liệu có cấu trúc, như hình ảnh và video Mạng CNN sử dụng phép tích chập (convolution) để trích xuất đặc trưng từ dữ liệu đầu vào, sau đó đưa vào các lớp mạng để phân loại, phân tích hoặc xử lý tiếp theo Cấu trúc của CNN gồm các lớp tích chập (Convolution layer), lớp phi tuyến (Nonlinear layer) và lớp lọc (Pooling layer) Các lớp tích chập kết hợp với các lớp phi tuyến bằng cách sử dụng các hàm phi tuyến như ReLU hay Tanh để tạo ra thông tin cho các lớp tiếp theo
Hình 1.12 Cấu trúc cơ bản của mạng Nơ-ron Tích chập (Lecun, 1989)
Một số kiến trúc mạng tích chập cụ thể được đề xuất và sử dụng phổ biến như AlexNet, VGGNet thể hiện trong hình sau:
Trang 28Hình 1.13 Kiến trúc mạng tích chập tiêu biểu
1.3.1 Cấu trúc của CNN
CNN là một kiểu mạng ANN truyền thẳng, trong đó kiến trúc chính gồm nhiều thành phần được ghép nối với nhau theo cấu trúc nhiều lớp Cấu trúc của mạng tích chập gồm một lớp đầu vào (input layer), một lớp đầu ra (output layer) và một số lớp giữa gọi là lớp ẩn (hidden layer) Các lớp ẩn gồm các loại như : lớp tích chập (convolutional layer), lớp giảm kích thước (pooling layer), lớp sửa dữ liệu (ReLU layer), lớp kết nối đầy đủ (full connected layer) và lớp chuẩn hoá (normalization layer) Như vậy, xét về kiến trúc chung, mạng tích chập gồm một số lớp tích chập và lớp làm giảm kích thước, chuẩn hoá và có thể gồm lớp kết nối đầy
đủ
1.3.1.1 Lớp tích chập (Convolution layer)
Trong mạng CNN, lớp tích chập là lớp quan trọng nhất Tích chập là một phép toán để trích xuất các đặc trưng từ dữ liệu hình ảnh
Lớp này sử dụng các bộ lọc (kernel) để thực hiện phép tích chập khi trượt qua các điểm ảnh của ảnh đầu vào Các siêu tham số của các bộ lọc này là kích thước bộ lọc F (Filter) và độ trượt S (Stride) Kết quả đầu ra được gọi là bản đồ đặc trưng hay bản đồ kích hoạt
Hình bên dưới mô tả lý thuyết và cách thức hoạt động của lớp tích chập trên một dữ liệu đầu vào được biểu diễn bằng một ma trận hai chiều Ta có thể hình
Trang 29dung phép tính tích chập được thực hiện bằng cách dịch chuyển một cửa sổ trên ma trận đầu vào, trong đó kết quả mỗi lần dịch chuyển được tính bằng tổng tích chập (tích của các giá trị giữa 2 ma trận tại vị trí tương ứng) Khi được áp dụng phép tính tích chậpvào xử lí ảnh người ta thấy rằng tích chập sẽ giúp biến đổi các thông tin đầu vào thành các yếu tố đặc trưng (nó tương ứng như bộ phát hiện – detector các đặc trưng về cạnh, hướng, đốm màu …) Ví dụ trong 2D convolution, ban đầu ta dùng kích thước 11 x 11 (mạng AlexNet), 7x7, 5x5 hoặc 3x3 Toán tử tích chập được thực hiện bằng cách dịch chuyển mặt nạ trượt toàn bộ lớp trước để tính phép tích chập tạo ra mỗi nút ở lớp sau, được minh hoạ như sau:
Hình 1.14 Minh họa việc áp dụng phép tính Conv Việc sử dụng lớp Convolution có những ưu điểm sau:
- Khả năng phát hiện đặc trưng cục bộ: Tích chập cho phép mô hình tập trung vào các đặc trưng cục bộ trong dữ liệu Điều này có nghĩa là nó có thể phát hiện các đặc trưng như cạnh, góc, tính chất và các đặc điểm quan trọng khác trong ảnh hoặc tín hiệu
- Giảm số lượng tham số: Thay vì kết nối mỗi đầu vào với mỗi đầu ra trong một mạng nơ-ron đầy đủ, tích chập sử dụng một số lượng nhỏ các bộ lọc (kernels)
có kích thước nhỏ để chia sẻ trọng số Điều này giúp giảm số lượng tham số trong
mô hình, làm cho mô hình nhẹ hơn và dễ quản lý hơn
- Bảo toàn cấu trúc không gian: Tích chập bảo toàn thông tin không gian trong
dữ liệu Trong xử lý ảnh, ví dụ, các vùng gần nhau trong ảnh sẽ có mối quan hệ không gian với nhau, và tích chập giúp bảo toàn mối quan hệ này Điều này làm cho
nó phù hợp cho các ứng dụng như phát hiện đối tượng trong ảnh
Trang 30- Chia sẻ trọng số: Mỗi bộ lọc trong tích chập có thể được sử dụng trên toàn bộ ảnh hoặc tín hiệu đầu vào Điều này tạo ra tính chia sẻ trọng số, giúp mô hình học các đặc trưng chung và tiết kiệm bộ nhớ
- Phát triển các kiến thức phân cấp: Tích chập có thể được sử dụng trong các kiến trúc mạng nơ-ron sâu để xây dựng các tầng phân cấp Các tầng dưới cùng có thể phát hiện các đặc trưng cơ bản, trong khi các tầng cao hơn có thể kết hợp các đặc trưng này để nhận biết các đối tượng phức tạp
1.3.1.2 Lớp lọc
Lớp lọc cũng là lớp quan trọng trong mạng tích chập Lớp lọc là công cụ mạnh
mẽ nhằm mục đích làm giảm kích thước nơ-ron ở lớp trước, qua đó làm giảm độ phức tạp tính toán trong xử lý và biểu diễn đặc trưng mà vẫn giữ được thông tin quan trọng nhất
Có nhiều kiểu lọc như Sum-Pooling, lọc cực đại (Max-Pooling), lọc trung bình (average pooling), L2-Pooling nhưng Max-Pooling thường được sử dụng Lớp lọc dùng một cửa sổ lọc có kích thước cụ thể nào đó, có thể 2x2 hoặc 3x3…Về mặt ý nghĩa thì Max-Pooling xác định vị trí cho tín hiệu mạnh nhất khi áp dụng lọc hoặc giá trị trung bình các phần tử trong vùng lọc (phương pháp average pooling) hoặc giá trị chuẩn L2-norm Trước đây lớp lọc trung bình thường được dùng tuy nhiên nó không còn được sử dụng nhiều, thay vào đó lớp lọc cực đại được sử dụng nhiều vì cho kết quả tốt hơn Ví dụ minh hoạ được thể hiện ở hình dưới, trong đó hai kiểu lọc cho ra hai kết quả khác nhau, nó giảm kích thước từ 4x4 thành 2x2
Hình 1.15 Minh họa hoạt động của lớp lọc
Trang 31Nếu dùng cửa sổ lọc với kích thước 2x2 thì sau khi thực hiện lọc, kết quả thu được với không gian mẫu giảm còn một phần tư số nơ-ron so với đầu vào của lớp, nghĩa là giảm đi 1/2 mỗi chiều, nhưng chiều sâu của lớp là không đổi Lớp lọc hoạt động độc lập với độ sâu của đầu vào và thay đổi kích thước trong miền không gian hai chiều Với kiểu lọc cực đại, các giá trị lớn nhất trong mỗi vùng sẽ giúp bảo toàn tính phù hợp của mỗi đặc trưng bên trong mỗi vùng Nghĩa là nó không quan tâm quá nhiều về vị trí chính xác nơi đặc trưng phù hợp, miễn là nó phù hợp ở chỗ nào
đó trong cửa sổ lọc Do giảm mạnh kích thước biểu diễn, xu hướng sử dụng các bộ lọc nhỏ hơn hoặc loại bỏ hoàn toàn lớp lọc
Chức năng của lớp lọc dùng để giảm kích thước dữ liệu, các tầng trong mạng CNN chồng lên nhau có lớp lọc ở cuối mỗi tầng giúp cho kích thước dữ liệu được
co lại nhưng vẫn giữ được các đặc trưng để lấy mẫu Ngoài ra việc giảm kích thước
dữ liệu sẽ làm giảm số lượng tham số của mạng làm tăng tính hiệu quả và kiểm soát hiện tượng quá khớp (Overfiting)
1.3.1.3 Lớp hiệu chỉnh
Lớp hiệu chỉnh (rectifier layer) nhằm hiệu chỉnh giá trị các bước trong mạng
có một số phương pháp hiệu chỉnh như hiệu chỉnh đơn vị tuyến tính (ReLU –rectifier units) Lớp hiệu chỉnh có vai trò quan trọng trong quá trình xử lý của mạng nhằm loại bỏ những phần tử âm Lớp này thực hiện thay thế tất cả các phần tử âm bởi giá trị không (0), Việc này giúp mô hình học được các biểu diễn phi tuyến tính
và cũng có thể giúp giảm độ phức tạp của mô hình bằng cách loại bỏ các giá trị âm không cần thiết Hàm hiệu chỉnh có thể được thực hiện theo công thức f(x) = x+ = max(0,x)
Hình 1.16 Minh hoạ hoạt động của lớp pooling 0,0
Trang 32Một số hàm điều chỉnh khác cũng được nghiên cứu áp dụng như hàm tăng không tuyến tính như các hàm hyperbolic f(x)=tanh(x), f(x)=|tanh(x)| hoặc hàm signmoid f(x)=(1+e-x)-1
Ngoài ra, hàm điều chỉnh với nhiễu phân phối Gaussian (Noisy ReLU) cũng được nghiên cứu và áp dụng thành công trong một số lĩnh vực của thị giác máy tính Hàm điều chỉnh ReLU được xác định như sau :
F(x) = max(0,x + Y) với Y ~ N(0,σ(x))
1.3.1.4 Lớp chuẩn hóa
Có nhiều kiểu khác nhau của lớp chuẩn hoá được đề xuất xử dụng trong kiến trúc CNN Về cơ bản ta muốn xác định một đỉnh cực đại cục bộ, nghĩa là nó có xu hướng tạo ra một sự tương phản trong một vùng để làm tăng độ nhạy cảm của quá trình học Đồng thời việc chuẩn hoá để giải quyết vấn đề phân phối các giá trị của nơ-ron quá rộng Lớp chuẩn hóa thường được sử dụng giữa lớp tích chập và lớp ReLU nhằm mục đích tăng tốc độ huấn luyện và làm giảm sự nhạy cảm trong khởi tạo tham số của mạng Tuy nhiên, những lớp chuẩn hóa này đôi khi không được ưu
tiên sử dụng vì trong thực tế mộ số bài toán đóng góp không lớn vào kết quả chung
1.3.1.5 Lớp kết nối đầy đủ (Fully connected - FC)
Lớp kết nối đầy đủ là một lớp giống như mạng nơron truyền thống Kết quả được tính toán từ các lớp trước sẽ được liên kết đầy đủ vào trong nơron của lớp tiếp theo Dữ liệu ở mức này thường thể hiện ở mức cao, có thể tổng hợp ngữ nghĩa để nhận dạng đối tượng với độ chính xác cao Lớp kết nối đầy đủ sẽ phân lớp dữ liệu bằng cách kích hoạt hàm softmax để tính xác suất ở lớp đầu ra Ở mức này có thể sử dụng mô hình truyền thẳng để thực hiện phân loại trực tiếp dữ liệu Như vậy, lớp kết nối đầy đủ thường đảm nhiệm chức năng như mô hình phân lớp dựa trên kết quả đặc trưng đã được xử lý, trích xuất ở các lớp trước đó
1.3.1.6 Lớp đầu ra
Lớp này có thể sử dụng mạng kết nối đầy đủ truyền thống để phân loại hoặc dùng các kĩ thuật phân loại truyền thống khác như SVM, boosting, cây quyết
Trang 33định,… Trong mạng tích chập, lớp đầu ra có thể gồm lớp softmax và lớp phân loại (classification layer) Như vậy để giải quyết bài toán phân lớp, một lớp softmax và
kế tiếp sau là một lớp phân loại phải được thêm vào sau lớp kết nối đầy đủ để thực hiện phân lớp dữ liệu
1.4 Đánh giá mạng trong học máy
Đánh giá mạng trong học máy là quá trình đánh giá hiệu suất của một mô hình mạng trên tập dữ liệu huấn luyện (training set) và tập dữ liệu kiểm tra (test set) Một
số phương pháp đánh giá mạng thông thường bao gồm tính toán độ chính xác (accuracy), độ chính xác trung bình (mean accuracy), độ chính xác dự đoán (prediction accuracy), độ chính xác theo nhãn (label accuracy), độ chính xác đa nhãn (multi- label accuracy), độ đo F1-score và hàm mất mát (loss function)
Các thuật toán học máy học từ các dữ liệu mẫu (training set), việc cung cấp dữ liệu tốt và nhiều thì mô hình càng có khả năng tìm ra các mẫu trong dữ liệu tốt hơn Tuy nhiên, việc cung cấp dữ liệu quá cụ thể, chuẩn mực thì mô hình có thể đưa ra
dự đoán chính xác đối với dữ liệu được huấn luyện nhưng mất đi tính khái quát đối với dữ liệu khác
Để đánh giá một mô hình học máy trước tiên ta cần xác định mục tiêu cần giải quyết của bài toán Với mỗi bài toán khác nhau thì thứ tự ưu tiên của các tiêu chí sẽ khác nhau Việc cải thiện một tiêu chí này có thể làm giảm hiệu quả của tiêu chí khác
Trang 34Bộ dữ liệu kiểm tra (Test set): Bộ dữ liệu dùng để đánh giá hiệu quả trong việc huấn luyện của mô hình Dữ liệu trong bộ dữ liệu kiểm tra phải là những dữ liệu mà
mô hình chưa được học và sát với thực tế
Bộ dữ liệu xác thực (validation set): Dùng trong trường hợp cần điều chỉnh mô hình (tinh chỉnh các siêu tham số)
1.4.2 Các khái niệm, độ đo khi đánh giá mô hình
- Accuracy (độ chính xác): Để đánh giá mô hình dự đoán đúng đến mức nào
Độ chính xác tỷ lệ giữa số điểm dữ liệu được dự đoán đúng với tổng số điểm dữ liệu
Accuracy=
- Ma trận hỗn loạn (Confusion Matrix): Thường được dùng trong đánh giá hiệu suất của mô hình cho bài toán phân lớp Ma trận hỗn loạn là một ma trận thể hiện số lượng điểm dữ liệu thuộc vào một lớp và dữ đoán thuộc vào một lớp
+ True positives: Khi dự đoán một thành viên thuộc về một lớp và nó thật
Mô hình dự đoán có 30 người dương tính, thực tế có 13 người nhiễm covid-19
Mô hình dự đoán có 970 ca âm tính, thực tế trong 970 đó có 20 ca dương tính Như vậy ta có thể biểu diễn bằng mô hình Confusion Matrix như sau:
Trang 35+ True positives:13- Thực tế có 13 người nhiễm được dự đoán đúng
+ True negatives:950 người được dự đoán không thuộc lớp dương tính, thực sự có 950 người được dự đoán đúng
+ False positives:17- dự đoán 30 ca nhiễm nhưng sự thật chỉ có 13 ca nhiễm
+ False negatives:20- không dự đoán 20 ca dương tính nhưng sự thật có
20 ca nhiễm trong số 970 ca dự đoán không nhiễm
- Precision và Recall
+ Precision: Là tỷ lệ giữa số điểm được dự đoán đúng và tổng số điểm được
dự dự đoán thuộc về một lớp nào đó
ta dùng độ đo F1-score
Trang 36Tham số β quyết định mức độ coi trọng giữa precision và recall
β >1: recall được coi trọng hơn precision
β <1:precision được coi trọng hơn recall
β =1:precision và recall được coi trọng như nhau
- Underfitting và Overfitting
Outlier: điểm dị biệt- Là những điểm dữ liệu có giá trị khác thường so với các
dữ liệu khác
- Bias và Variance
+ Bias: là sai số giữa giá trị dự đoán trung bình của mô hình và giá trị thực tế
+ Hight bias: sai số lớn, mô hình đơn giản nhưng hiệu quả dự đoán không cao
+ Low bias: sai số nhỏ, mô hình phức tạp nhưng hiệu quả dự đoán tốt
+ Variance: Là sai số thể hiện mức độ nhạy cảm của mô hình với những biến động trong dữ liệu huấn luyện
+ Low variance: mô hình ít biến thiên theo sự thay đổi của dữ liệu huấn luyện
+ Hight variance: mô hình biến thiên mạnh, bám sát theo sự thay đổi của dữ liệu huấn luyện
- Underfitting: Là hiện tượng mà mô hình có hight bias và low variance, cho kết quả dự đoán không tốt trên cả tập huấn luyện và tập kiểm thử
- Overfitting: Là hiện tượng mô hình có low bias và hight variance, lúc này
mô hình trở nên phức tạp, bám sát dữ liệu huấn luyện Mô hình cho kết quả tốt trên tập dữ liệu huấn luyện nhưng cho kết quả tệ trên những dữ liệu chưa được gặp bao giờ
- Nhận biết Underfitting và Overfitting
Trang 37+ Underfitting: xảy ra khi sai số dự đoán của mô hình trên cả tập huấn luyện
và tập kiểm thử đều cao
+ Overfitting xảy ra khi sai số dự đoán của mô hình trên tập huấn luyện thấp nhưng trên tập kiểm thử thì cao
1.5.1 Các thành phần cuả mạng học sâu
Mạng học sâu là một mô hình học máy đa tầng (multi layer) với nhiều lớp ẩn (hidden layers), được xây dựng từ các phép tính toán trên các nút (nơ-ron) trong mỗi lớp
Các thành phần chính của mạng học sâu gồm:
Nơ-ron: Là đơn vị cơ bản của mạng nơ-ron, nhận đầu vào, tính toán và đưa đầu ra
Hình 1.17 Cấu trúc nơ-ron Lớp (layer): Một mạng nơ-ron được xây dựng từ nhiều lớp chồng lên nhau, trong đó mỗi lớp chứa một số lượng nút
Trọng số (weights): là các giá trị số dùng để điều chỉnh đầu vào của mỗi nút
Trang 38Hàm kích hoạt (Activation function): là hàm được áp dụng lên đầu ra của mỗi nút để đưa đầu ra cuối cùng của mạng
Lớp đầu vào (input layer): Là lớp đầu tiên trong mạng nơ-ron, chứa các nút nhận đầu vào của mạng
Lớp đầu ra (Output layer): Là lớp cuối cùng trong mạng nơ-ron chứa các nút đưa ra kết quả của mạng
Lớp ẩn (hidden layer): Là các lớp nằm giữa tầng đầu vào và tầng đầu ra, thực hiện các phép tính toán phức tạp giữa các nút để trích xuất đặc trưng từ dữ liệu Hàm mất mát (loss function): là hàm đo lường sai số giữa đầu ra dự đoán của mạng và đầu ra thực tế để điều chỉnh các trọng số trong quá trình huấn luyện mạng Thuật toán tối ưu (Optimalization algorithm): Là thuật toán được sử dụng để tối ưu hóa hàm mất mát bằng cách điều chỉnh trọng số trong quá trình huấn luyện mạng
Batch normalization: Là một kỹ thuật được sử dụng để giúp cho quá trình huấn luyện được ổn định hơn bằng cách chuẩn hóa lại giá trị đầu ra của các lớp trong mạng
Dropout: Là một kỹ thuật được sử dụng để giảm thiểu hiện tượng quá khớp (overfitting) trong quá trình huấn luyện mạng, bằng cách loại bỏ ngẫu nhiên một số nút trong quá trình huấn luyện
Trang 39Hình 1.18 Kiến trúc mạng học sâu
1.5.2 Hoạt động của mạng học sâu
Mạng học sâu dựa trên mô hình mạng thần kinh nhân tạo với nhiều lớp ấn để phân tích và xử lí dữ liệu Một mạng học sâu bao gồm nhiều lớp các nút xử lí liên kết với nhau Các nút này thực hiện các phép tính và kết nối giữa chúng được cân bằng thông qua các trọng số Mỗi lớp kế tiếp dùng đầu ra của lớp trước làm đầu vào
Quá trình huấn luyện mạng học sâu gồm việc sử dụng một tập dữ liệu đào tạo
để điều chỉnh các trọng số và hệ số liên quan để đạt được kết quả tốt nhất Các trọng
số được điều chỉnh bằng cách tính toán độ lỗi giữa đầu ra thực tế và đầu ra dự đoán của mạng, sau đó sử dụng các thuật toán tối ưu hóa để cập nhật các trọng số Một số thuật toán tối ưu phổ biến được sử dụng trong các mạng học sâu là gradient descent, stochastic gradient descent và Adam
Khi mạng đã được huấn luyện, nó có thể được sử dụng để dự đoán cho các dữ liệu ra mới Để thực hiện việc dự đoán, dữ liệu mới được truyền vào mạng và mạng tính toán đầu ra dự đoán của nó
1.5.3 Ứng dụng
Mạng học sâu đã được sử dụng trong nhiều lĩnh vực, bao gồm nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên, dịch thuật và phân loại dữ liệu Mạng học sâu được
Trang 40coi là một trong những phương pháp học máy hiệu quả nhất hiện nay và đang được
sử dụng rộng rãi trong nhiều ứng dụng công nghệ