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

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

88 1 0

Đ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

Thông tin cơ bản

Tiê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
Tác giả Ngô Tuấn Lĩnh
Người hướng dẫn TS. Lê Xuân Vinh
Trường học Trường Đại Học Quy Nhơn
Chuyên ngành Khoa Học Máy Tính
Thể loại Đề Án/Luận Văn Thạc Sĩ
Năm xuất bản 2023
Thành phố Bình Định
Định dạng
Số trang 88
Dung lượng 6,63 MB

Nội dung

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 1

NGÔ 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 2

NGÔ 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 3

dẫ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 4

Trườ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 5

MỞ ĐẦ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 6

1.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 7

3.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 8

ANN 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 9

Bả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 10

Hì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 11

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 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 12

Hì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 13

MỞ ĐẦ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 14

nơ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 17

CHƯƠ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 18

1.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 19

tá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 20

Sau 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 21

Mô 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 22

Trong đó:

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 23

Rấ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 26

Lớ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 28

Hì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 29

dung 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 31

Nế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 32

Mộ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 34

Bộ 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 36

Tham 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 38

Hà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 39

Hì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 40

coi 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ệ

Ngày đăng: 25/03/2024, 14:52

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

TÀI LIỆU LIÊN QUAN

w