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

Xử lý dữ liệu ảnh với mô hình yolo và ứng dụng vào bài toán điểm danh tự động

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC QUY NHƠN

NGUYỄN THANH HIỆP

XỬ LÝ DỮ LIỆU ẢNH VỚI MƠ HÌNH
YOLO VÀ ỨNG DỤNG VÀO BÀI TOÁN

ĐIỂM DANH TỰ ĐỘNG

LUẬN VĂN THẠC SĨ KHOA HỌC DỮ LIỆU ỨNG DỤNG

Bình Định – Năm 2023

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC QUY NHƠN

NGUYỄN THANH HIỆP

XỬ LÝ DỮ LIỆU ẢNH VỚI MƠ HÌNH
YOLO VÀ ỨNG DỤNG VÀO BÀI TOÁN

ĐIỂM DANH TỰ ĐỘNG

Ngành : Khoa học dữ liệu ứng dụng
Mã số : 8904648

Ngƣời hƣớng dẫn: TS. LÊ XUÂN VINH

LỜI CAM ĐOAN
Em Nguyễn Thanh Hiệp cam đoan rằng luận văn thạc sĩ có tiêu đề "Xử


lí dữ liệu ảnh với mơ hình YOLO và ứng dụng vào bài tốn điểm danh tự
động" là kết quả và là cơng trình nghiên cứu của bản thân em dưới sự hướng
dẫn của thầy TS. Lê Xuân Vinh. Em xin cam đoan rằng tất cả các kết quả
nghiên cứu và phân tích trong luận văn này là chân thực và chưa từng được
công bố trước đó. Các nội dung trích dẫn từ tư liệu, dữ liệu, thông tin và từ
các bài nghiên cứu của các tác giả khác mà em đã trình bày trong luận văn
này đã được ghi rõ nguồn trong phần tài liệu tham khảo.

Bình Định, ngày tháng 10 năm 2023
Người thực hiện

Nguyễn Thanh Hiệp

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn và lòng biết ơn sâu sắc đến thầy TS.
Lê Xuân Vinh đã tận tình hướng dẫn, chỉ bảo cho em trong suốt quá trình viết
báo cáo luận văn thạc sĩ.

Em xin chân thành cảm ơn quý thầy, cô trong Khoa Công Nghệ Thơng
Tin, Khoa Tốn và Thống kê, Phịng Đào Tạo Đại Học, Phòng Đào tạo sau
Đại học, Trường Đại Học Quy Nhơn đã tận tình giảng dạy, truyền đạt kiến
thức, hướng dẫn nghiên cứu khoa học và giúp đỡ cho em trong suốt những
năm tháng em học tập tại trường từ năm nhất đại học cho đến ngưỡng cửa
thời khắc này.

Em xin chân thành cảm ơn các anh, chị, em và các bạn học viên Khoa
học dữ liệu ứng dụng, những người đã hỗ trợ, giúp đỡ, động viên tinh thần và
chia sẻ kinh nghiệm quý báu giúp em vượt qua những khó khăn, vướng mắc
để có thể hồn thành bài luận văn này.


Em biết rằng sự học là hơn cả một đời người và lượng kiến thức thì rất
là nhiều và dài vơ tận, nên những lượng kiến thức em đã học được ở đây từ
trường, lớp, cơ sở, môi trường đào tạo vẫn chưa bao giờ là đủ đối với bản thân
em. Mặc dù em đã rất cố gắng trong quá trình viết luận văn cũng như báo cáo,
nhưng em tin chắc rằng không thể tránh khỏi những thiếu sót, sai sót. Vì vậy
em rất mong nhận được những ý kiến đánh giá, phê bình và đóng góp của q
thầy, cơ, anh, chị và các bạn.

Cuối cùng một lần nữa em kính chúc q thầy, cơ giáo dồi dào sức
khỏe và thành công trong sự nghiệp trồng người./.

Bình Định, ngày........ tháng 10 năm 2023

MỤC LỤC

LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
LỜI MỞ ĐẦU .................................................................................................. 1

1. Lý do chọn đề tài........................................................................................ 1
2. Mục tiêu nghiên cứu .................................................................................. 3
3. Đối tượng và phạm vi nghiên cứu ............................................................. 4
4. Nội dung nghiên cứu.................................................................................. 4
5. Phương pháp nghiên cứu ........................................................................... 4
CHƢƠNG I: KIẾN THỨC CƠ SỞ LIÊN QUAN ....................................... 5
1.1. Học máy, học máy bằng mạng ANN ...................................................... 5

1.1.1. Học máy ............................................................................................ 5

1.1.2. Học máy bằng mạng ANN................................................................ 8
1.2. Học sâu, mạng CNN ............................................................................. 11
1.2.1. Học sâu............................................................................................ 11
1.2.2. Mạng CNN...................................................................................... 13
1.3. Bài toán nhận dạng đối tượng ............................................................... 18
1.3.1. Một số khái niệm liên quan ............................................................ 18
1.3.2. Nhận dạng khuôn mặt ..................................................................... 19
1.3.3. Cách thức hoạt động ....................................................................... 20
1.3.4. Mơ tả bài tốn ................................................................................. 21
1.3.5. Kết luận chương I ........................................................................... 23
CHƢƠNG II: MƠ HÌNH YOLO................................................................. 24
2.1. Cấu trúc mơ hình YOLO....................................................................... 24
2.1.1. Input Layer...................................................................................... 24
2.1.2. Backbone Network ......................................................................... 25

2.1.3. Detection Head trong mơ hình YOLO............................................ 27
2.1.4. Bounding Box Regression trong mơ hình YOLO .......................... 28
2.1.5. Non-Maximum Suppression (NMS) trong mơ hình YOLO........... 29
2.1.6. Output (Đầu ra) trong mơ hình YOLO ........................................... 31
2.2. Dữ liệu................................................................................................... 33
2.3. Thuật toán YOLO ................................................................................. 34
2.4. Hàm Loss .............................................................................................. 35
2.5. Huấn luyện ............................................................................................ 36
2.6. Kết luận chương II ............................................................................... 38
CHƢƠNG III: ỨNG DỤNG CỦA MƠ HÌNH MẠNG YOLO TRONG
VIỆC NHẬN DIỆN KHUÔN MẶT ............................................................ 39
3.1. Phát biểu bài toán điểm danh tự động................................................... 39
3.2. Dữ liệu huấn luyện ................................................................................ 41
3.2.1. Thu thập dữ liệu .............................................................................. 41
3.2.2. Xử lý dữ liệu và gán nhãn............................................................... 43

3.3. Thành phần của mơ hình....................................................................... 45
3.3.1. Tìm hiểu về YOLO v5 .................................................................... 45
3.3.2. Tổ chức thư mục ............................................................................. 46
3.3.3. Chọn mơ hình.................................................................................. 47
3.3.4. Xây dựng mơ hình YOLOv5 trên mơi trường Colab ..................... 47
3.4. Huấn luyện mơ hình .............................................................................. 48
3.4.1. Huấn luyện mơ hình........................................................................ 48
3.4.2. Phân tích dữ liệu đầu vào................................................................ 49
3.4.3. Huấn luyện mơ hình........................................................................ 50
3.4.5. Đánh giá mơ hình điểm danh học sinh ........................................... 56
3.5. Sử dụng mơ hình để diểm danh ............................................................ 60
3.5.1. Mơ hình nhận dạng dựa trên biến val ............................................. 60
3.5.2. Áp dụng vào thực tế ........................................................................ 63

3.5.3. Kết luận chương III......................................................................... 65
KẾT LUẬN .................................................................................................... 66
DANH MỤC TÀI LIỆU THAM KHẢO..................................................... 67
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ ( BẢN SAO)

1

LỜI MỞ ĐẦU

1. Lý do chọn đề tài

Trong thời đại số hóa mạnh mẽ như hiện nay, dữ liệu ảnh đã trở thành
một nguồn thông tin vô cùng quý báu và phổ biến. Chúng ta sử dụng ảnh
hàng ngày để lưu giữ những kỷ niệm quý giá, chia sẻ trải nghiệm của mình,
và truyền tải thơng điệp. Tuy nhiên, giữa bộn bề thông tin này, ẩn chứa những
tri thức và giá trị có thể đánh thức tiềm năng to lớn nếu biết cách khai thác và

xử lý dữ liệu ảnh một cách hiệu quả.

Trong cuộc cách mạng này, mơ hình Deep Learning đã nổi lên như một
công cụ mạnh mẽ cho việc xử lý dữ liệu ảnh. Deep Learning đại diện cho một
loạt các thuật toán và kiến trúc mạng nơ-ron sâu, cho phép máy tính tự động
học hỏi từ dữ liệu và hiểu được ngữ cảnh của hình ảnh. Điều này đã mở ra cánh
cửa cho nhiều ứng dụng mới mẻ và quan trọng, và một trong những ứng dụng
hàng đầu của Deep Learning trong lĩnh vực này là nhận dạng khuôn mặt.

Deep Learning đã chứng minh sức mạnh của nó trong xử lý dữ liệu ảnh
bằng việc giải quyết các bài toán phức tạp mà trước đây được coi là khó khăn
hoặc thậm chí là khơng thể. Mơ hình Deep Learning, đặc biệt là mạng nơ-ron
sâu (Deep Neural Networks), đã làm cho việc nhận dạng, phân loại, và xử lý
ảnh trở nên hiệu quả hơn và chính xác hơn.

Khả năng học từ dữ liệu: Một trong những ưu điểm lớn của Deep
Learning là khả năng học từ dữ liệu. Thay vì phụ thuộc vào việc lập trình cụ
thể, Deep Learning cho phép mơ hình học cách hiểu và trích xuất thơng tin từ
dữ liệu ảnh. Điều này tự nhiên dẫn đến việc cải thiện đáng kể khả năng nhận
dạng khuôn mặt và xử lý ảnh.

Kiến trúc mạng nơ-ron sâu: Deep Learning sử dụng mạng nơ-ron sâu
với nhiều tầng ẩn, cho phép mơ hình biểu diễn thơng tin ảnh dưới nhiều khía

2

cạnh khác nhau. Điều này giúp mơ hình hiểu được sự phức tạp trong dữ liệu
ảnh và tạo ra các biểu đồ biểu diễn rất mạnh mẽ.

Học chuyển giao: Deep Learning cũng đã đưa ra khái niệm về học

chuyển giao, cho phép mơ hình được đào tạo trước trên một tập dữ liệu lớn và
sau đó được sử dụng trong các bài toán cụ thể khác. Điều này làm giảm đáng
kể thời gian và nguồn lực đào tạo mơ hình.

Nhận dạng khuôn mặt là một trong những ứng dụng tiêu biểu của Deep
Learning trong xử lý dữ liệu ảnh. Từ việc mở khóa điện thoại thơng minh
bằng khn mặt, đến giám sát an ninh, quản lý thời gian làm việc, và thậm chí
trong lĩnh vực y tế để xác định bệnh lý, nhận dạng khuôn mặt đã đi vào đời
sống hàng ngày của chúng ta.

Ứng Dụng Trong An Ninh: Nhận dạng khuôn mặt đã giúp cải thiện tính
bảo mật trong nhiều tình huống, từ kiểm soát truy cập vào các khu vực nhạy
cảm đến theo dõi tội phạm và mất cắp. Hệ thống này có khả năng nhận dạng
người nhanh chóng và hiệu quả.

Quản Lý Thời Gian Làm Việc: Trong môi trường công nghiệp, nhận dạng
khuôn mặt đã giúp tự động hóa việc ghi nhận thời gian làm việc và quản lý nhân
sự một cách hiệu quả hơn. Điều này giúp tăng năng suất và giảm sai sót.

Ứng Dụng Y Tế: Trong lĩnh vực y tế, nhận dạng khuôn mặt có thể
được sử dụng để xác định và theo dõi tiến triển của bệnh lý, đặc biệt là trong
việc theo dõi các vấn đề về sức khỏe của bệnh nhân.

Mặc dù có những thành tựu đáng kể, việc xử lý dữ liệu ảnh và nhận
dạng khuôn mặt bằng Deep Learning vẫn đối mặt với nhiều thách thức. Các
vấn đề về bảo mật, quyền riêng tư, và đạo đức nổi lên khi chúng ta sử dụng
công nghệ này một cách rộng rãi. Sự hiểu biết và ứng dụng có trách nhiệm

3


của Deep Learning trong các lĩnh vực như cơng nghiệp, chính trị và y tế cũng
đặt ra nhiều câu hỏi quan trọng.

Hướng phát triển của đề tài này sẽ không chỉ tập trung vào cách xử lý
dữ liệu ảnh và nhận dạng khuôn mặt một cách hiệu quả hơn mà cịn đề cập
đến các khía cạnh đạo đức và xã hội của việc sử dụng Deep Learning trong
lĩnh vực này. Chúng ta cũng sẽ nghiên cứu các tiềm năng ứng dụng mới, từ
trợ lý ảo đến xe tự hành và nhiều ứng dụng khác.

Trong bối cảnh này, đề tài "Xử lí dữ liệu ảnh với mơ hình YOLO và
ứng dụng vào bài tốn điểm danh tự động" sẽ đóng góp vào sự hiểu biết và
khám phá vô tận về cách mà Deep Learning có thể thay đổi cách chúng ta xử
lý và sử dụng dữ liệu ảnh. Hy vọng rằng thơng qua việc nghiên cứu này,
chúng ta sẽ có cái nhìn sâu sắc hơn về tiềm năng và các vấn đề cần xem xét
khi áp dụng Deep Learning trong xử lý dữ liệu ảnh và nhận dạng khuôn mặt.

2. Mục tiêu nghiên cứu

Mục tiêu nghiên cứu của luận văn "Xử lí dữ liệu ảnh với mơ hình
YOLO và ứng dụng vào bài tốn điểm danh tự động" là:

Nghiên cứu và hiểu rõ về cơ sở lý thuyết của Deep Learning: Đề tài sẽ
mục tiêu nghiên cứu các kiến thức cơ bản và nâng cao về Deep Learning, bao
gồm các kiến thức về mạng nơ-ron sâu (Deep Neural Networks), thuật toán
học máy, và các kiến thức liên quan đến xử lý dữ liệu ảnh.

Phát triển mơ hình Deep Learning cho nhận dạng khuôn mặt: Chúng ta
sẽ xây dựng và tối ưu hóa một mơ hình Deep Learning đáng tin cậy để nhận
dạng khuôn mặt từ dữ liệu ảnh. Điều này bao gồm việc chọn lựa kiến trúc
mạng, đào tạo mô hình trên tập dữ liệu lớn, và kiểm định mơ hình để đảm bảo

tính chính xác và ổn định.

4

Áp dụng mơ hình Deep Learning vào các ứng dụng thực tế: Chúng ta sẽ
thực hiện các thử nghiệm và thử nghiệm về hiệu suất của mô hình Deep
Learning trong các ứng dụng nhận dạng khuân mặt. Mục tiêu là đánh giá tính
khả thi và hiệu suất của mơ hình trong các tình huống thực tế.
3. Đối tƣợng và phạm vi nghiên cứu

Đối tƣợng nghiên cứu: Nghiên cứu cơ sở lý thuyết về học máy, học
sâu và mơ hình YOLO.

Phạm vi nghiên cứu:
Về không gian: tại trường THCS Trần Bá, thị trấn Diêu Trì, huyện Tuy
Phước, tỉnh Bình Định.
Nội dung: Xử lí dữ liệu ảnh với mơ hình YOLO vào bài toán điểm
danh tự động.
4. Nội dung nghiên cứu
Lý thuyết và mô hình YOLO
Ứng dụng mơ hình YOLO xây dựng hệ thống điểm danh tự động.
5. Phƣơng pháp nghiên cứu
Đề tài sử dụng nhiều phương pháp khác như phương pháp thu thập
thông tin và xử lý thông tin như tiến hành sưu tầm các sách, báo, tạp chí, tài
liệu khoa học, nguồn Internet… các cơng trình liên quan đến học máy và học
sâu, các lớp mơ hình phát hiện đối tượng, tiến hành sử dụng phương pháp xử
lý thơng tin, ngồi ra luận văn cịn sử dụng các phương pháp khác như sử
dụng phương pháp so sánh, tổng hợp, hệ thống hóa các vấn đề được nghiên
cứu làm cơ sở lý luận và thực tiễn cho các nội dung nghiên cứu.


5

CHƢƠNG I: KIẾN THỨC CƠ SỞ LIÊN QUAN

Trong chương I của luận văn này, em sẽ trình bày sơ lược về học máy, học
máy bằng mạng ANN, học sâu, cấu trúc mạng CNN, trình bày về bài tốn
nhận dạng đối tượng.

1.1. Học máy, học máy bằng mạng ANN

1.1.1. Học máy

Học máy là một lĩnh vực của khoa học máy tính, theo Arthur Samuel
vào năm 1959, "máy tính có khả năng học hỏi mà khơng cần được lập trình
một cách rõ ràng.". Phát triển từ nghiên cứu về nhận dạng mẫu và lý thuyết
học tính tốn trong trí tuệ nhân tạo. Học máy xây dựng các thuật tốn có thể
học hỏi và thực hiện các dự đoán về dữ liệu, các thuật toán như vậy vượt qua
các hướng dẫn chương trình nghiêm ngặt bằng cách dự đốn dữ liệu hoặc
quyết định thơng qua xây dựng một mơ hình từ mẫu đầu vào. Học máy được
sử dụng trong một loạt các tác vụ khi thiết kế và lập trình các thuật tốn rõ
ràng với hiệu năng tốt là khó hoặc khơng khả thi; Các ví dụ ứng dụng bao
gồm lọc email, phát hiện các kẻ xâm nhập mạng hoặc những người trong nội
bộ đang làm việc để phá vỡ dữ liệu, nhận dạng ký tự quang học (OCR), học
để xếp hạng và tầm nhìn máy tính.

Học máy liên quan chặt chẽ và thường thống kê tính tốn, tập trung vào
việc dự đốn bằng cách sử dụng máy tính. Nó có quan hệ chặt chẽ với việc tối
ưu hóa tốn học, cung cấp các phương pháp, lý thuyết và các lĩnh vực ứng
dụng cho lĩnh vực này. Việc học máy đôi khi được kết hợp với việc khai thác
dữ liệu, trong đó lĩnh vực nhỏ thứ hai tập trung nhiều hơn vào phân tích dữ liệu

thăm dị và được biết đến là học khơng giám sát. Học máy cũng có thể là giám
sát và được sử dụng để tìm hiểu và thiết lập hồ sơ hành vi cơ bản cho các thực
thể khác nhau và sau đó được sử dụng để tìm các dị thường có ý nghĩa.

6

Trong lĩnh vực phân tích dữ liệu, học máy là một phương pháp được sử
dụng để đưa ra các mơ hình phức tạp và các thuật tốn cho phép dự đoán;
Trong sử dụng thương mại, điều này được gọi là phân tích tiên đốn. Các mơ
hình phân tích này cho phép các nhà nghiên cứu, các nhà khoa học dữ liệu,
các kỹ sư và các nhà phân tích "đưa ra các quyết định, kết quả đáng tin cậy,
lặp lại" và khám phá những "cái nhìn sâu sắc ẩn giấu" thông qua việc học hỏi
từ các mối quan hệ và xu hướng lịch sử trong dữ liệu.

Các loại học máy Học máy thường được phân thành ba loại, tùy thuộc
vào tính chất của "tín hiệu" hoặc "phản hồi" của hệ thống học. Gồm có:

- Học có giám sát (Supervied learning): Máy tính được thể hiện với các
đầu vào ví dụ và các đầu ra mong muốn của nó, được cho bởi "người dạy" và
mục tiêu là tìm hiểu một quy tắc chung cho phép ánh xạ các đầu vào cho đầu ra.

- Học không giám sát (Unsupervied learing): Khơng có nhãn nào được
đưa ra cho thuật tốn học, mục đích là để nó tự tìm ra cấu trúc trong đầu vào
của nó. Học tập khơng giám sát có thể là một mục tiêu tự nó (khám phá các
mẫu ẩn trong dữ liệu).

- Học tăng cường (Reinforcement learning): Một chương trình máy tính
tương tác với một mơi trường động, trong đó nó phải thực hiện một mục đích
nhất định. Chương trình được cung cấp phản hồi về đầu ra khi nó điều hướng
các vấn đề của nó.


Các thuật tốn học máy

Có rất nhiều thuật toán học máy được nghiên cứu và ứng dụng, có thể
kể đến các thuật tốn học máy dưới đây:

- Thuật toán cây quyết định (Decision tree learning): là một phương
pháp không tham biến (không cần đưa vào dạng hàm phụ thuộc vector tham
biến của hàm mục tiêu). Phương pháp này sẽ chia không gian vector đặc

7

trưng thành các miền, rồi xấp xỉ hàm mục tiêu trên mỗi miền bởi một hàm
đơn giản nhất, gọi là hàm hằng. Khi đó, toàn bộ hàm mục tiêu sẽ được xấp xỉ
bởi một hàm có thể mơ tả dưới dạng cấu trúc cây.

- Học theo quy tắc kết hợp (Association rule learning): là một phương
pháp học dựa trên quy tắc để học tập các mối quan hệ thú vị giữa các biến
trong các cơ sở dữ liệu lớn. Nó nhằm xác định các quy tắc mạnh mẽ được
phát hiện trong cơ sở dữ liệu sử dụng một số biện pháp thú vị.

- Thuật toán mạng neural nhân tạo (ANN): thường được gọi là "mạng
nơ-ron" (NN), là một thuật toán học được lấy cảm hứng từ cấu trúc và các
khía cạnh chức năng của mạng nơ-ron sinh học. Tính tốn được cấu trúc theo
một nhóm các neuron nhân tạo kết nối, xử lý thông tin bằng cách sử dụng một
cách tiếp cận kết nối để tính tốn. Mạng nơ-ron hiện đại là các cơng cụ mơ
hình hố dữ liệu khơng tuyến tính. Chúng thường được sử dụng để mơ hình
các mối quan hệ phức tạp giữa đầu vào và đầu ra, để tìm các mẫu trong dữ
liệu hoặc để nắm bắt cấu trúc thống kê trong phân bố xác suất chung không
xác định giữa các biến quan sát được.


- Học sâu (Deep learning): bao gồm nhiều lớp ẩn trong một mạng nơ-
ron nhân tạo. Cách tiếp cận này cố gắng mơ hình hóa cách não người xử lý
hình ảnh và âm thanh bởi thị giác và thính giác.

- SVMs là một tập hợp các phương pháp học tập có giám sát liên quan
được sử dụng để phân loại và hồi quy. Với một tập hợp các ví dụ huấn luyện,
được đánh dấu là thuộc một trong hai loại, thuật tốn huấn luyện SVM xây
dựng mơ hình dự đốn xem một ví dụ mới có thuộc một loại hay không.

- Phân cụm (Clustering): Phân cụm là sự phân chia của một tập các
quan sát thành các tập con (gọi là các cụm) để các quan sát trong cùng một
cụm tương tự theo một số tiêu chí hoặc tiêu chí được chuẩn bị trước, trong khi

8

các quan sát được rút ra từ các cụm khác nhau thì khơng giống nhau. Các kỹ
thuật phân cụm khác nhau đưa ra các giả định khác nhau về cấu trúc dữ liệu,
thường được xác định bởi một số chỉ số tương tự và được đánh giá bởi sự
tương tự giữa các thành viên của cùng một cụm và sự tách biệt giữa các cụm
khác nhau. Các phương pháp khác dựa trên mật độ và kết nối đồ thị. Phân
cụm là một phương pháp học không được giám sát và là một kỹ thuật phổ
biến để phân tích dữ liệu thống kê.

- Mạng Bayesian là một mô hình đồ thị xác suất (một loại mơ hình
thống kê) đại diện cho một tập các biến ngẫu nhiên và các phụ thuộc có điều
kiện của chúng qua một đồ thị trục không hướng (DAG)

- Học máy dựa trên nguyên tắc là một thuật ngữ chung cho bất kỳ
phương pháp học máy nào xác định, học hỏi, hoặc phát triển “các quy tắc” để

lưu trữ, vận dụng hoặc áp dụng kiến thức. Đặc điểm xác định của học máy
dựa trên quy tắc xác định và sử dụng một tập hợp các quy tắc quan hệ đại diện
cho kiến thức thu được bởi hệ thống. Điều này trái ngược với những học máy
khác thường xác định một mơ hình độc nhất có thể được áp dụng phổ quát
cho bất kỳ trường hợp nào để dự đoán. Các phương pháp học tập dựa trên
nguyên tắc máy học bao gồm các hệ thống phân loại học tập, học về quy tắc
kết hợp và các hệ thống miễn dịch nhân tạo.

- Bên cạnh đó cịn một số thuật tốn học máy khác như: thuật toán di
truyền (Genetic algorithm), Học máy dựa trên nguyên tắc (Rule-based
machine learning), hệ thống phân loại học (Learning classifier systems).

1.1.2. Học máy bằng mạng ANN

1.1.2.1. Tổng quan về mạng ANN
Mạng nơ ron nhân tạo (ANN – Artificial neural network) là một tập

hợp các thuật tốn phân tích dữ liệu cho phép xác định mối liên hệ toán

9

học phức tạp giữa tập hợp các yếu tố ảnh hưởng (Input) với một biến số
hoặc một tập hợp biến số mục tiêu (target). ANN là một ứng dụng trên
nền tảng trí tuệ thơng minh nhân tạo (Artificial intelligence - AI), cấu trúc
của ANN và quá trình học tập, suy luận và tái tạo của nó có khả năng tự
thích ứng linh hoạt (autofit) với nhiều loại dữ liệu khác nhau. ANN xử lý
thông tin phỏng theo cách thức xử lý thông tin của các hệ nơ ron sinh học
trong não người. Nó được tạo nên từ một số lượng lớn các nơ ron kết nối
với nhau thơng qua các liên kết có trọng số, tạo thành một thể thống nhất,
nhằm xử lý, phân tích một thơng tin, một vấn đề. Một mạng nơron nhân

tạo được cấu trúc cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ
liệu,...) thông qua một quá trình huấn luyệnhọc (training) từ tập các mẫu
huấn luyện. Dữ liệu đầu vào (input) sẽ chạy qua toàn bộ mạng nơ ron, sẽ
được xử lý, tìm các mối liên hệ và tái tạo lại thành kết quả đầu ra
(output). Các output này sẽ được so sánh với với các dữ liệu mục tiêu
(target) mà hệ thống đã được học trước đó. Nếu cịn có sự sai lệch đáng kể
giữa output và target, thì quá trình huấn luyện – học tập (training) lặp lại,
các trọng số liên kết giữa các nơ ron lại được hiệu chỉnh để đưa ra output
khác cải thiện hơn. Quá trình này liên tục lặp lại nhiều lần cho đến khi
mang lại độ chệch (bias) bé nhất có thể giữa output và target. Như vậy, về
bản chất q trình huấn luyện - học (training) chính là q trình hiệu
chỉnh trọng số liên kết giữa các nơ ron cho đến khi đạt được một kết quả
tối ưu, đó là tái tạo ra output tương tự target và có thể sử dụng để dự báo
ngoài mẫu cho target.
1.1.2.2. Cấu trúc nơ ron nhân tạo

Cấu trúc của một nơ ron nhân tạo tiêu biểu có các thành phần cơ bản
như mơ tả ở hình dưới.

10

Sơ đồ 1. Cấu trúc của nơ ron nhân tạo

Nguồn: Neural Networks in Finance gaining predictive edge in the
market của Paul D.Mc Nelis

Đầu vào cung cấp các tín hiệu vào (input signals) của nơ ron, các tín
hiệu này thường được đưa vào dưới dạng một vector N chiều.

Các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng

số liên kết – Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j với nơ
ron k thường được kí hiệu là wkj. 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 huấn luyện mạng.

Hàm tổng (Summing function): Thường dùng để tính tổng của tích các
đầu vào với trọng số liên kết của nó.
Cơng thức của hàm này có thể được biểu diễn như sau:

∑( )

Trong đó:
+ là trọng số liên kết của đầu vào thứ i.
+ là giá trị của đầu vào thứ i.
+ bias là giá trị bias (độ lệch).

11

Hàm này thường được sử dụng trong các mơ hình học máy và mạng
nơ-ron để tính tổng của các đầu vào sau khi áp dụng trọng số và bias. Kết quả
của hàm tổng thường là đầu vào cho một hàm kích hoạt (activation function)
để tạo ra đầu ra của mơ hình.

Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa
vào như một thành phần của hàm truyền.

Hàm truyền (Transfer function): Hàm này được dùng để giới hạn phạm
vi đầu ra của mỗi nơ ron. Nó nhận đầu vào là kết quả của hàm tổng và
ngưỡng đã cho. 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]. Các hàm truyền rất đa dạng, có thể là các hàm

tuyến tính hoặc phi tuyến3 . Một số hàm truyền thường sử dụng trong các mơ
hình mạng nơ ron gồm: Symmetrical Hard Limit (hardlims), Linear (purelin),
Saturating Linear (satlin) và Log-Sigmoid (logsig).

() {

Đầu ra (output) Là tín hiệu đầu ra của một nơ ron, với mỗi nơ ron sẽ có
tối đa là một đầu ra.

Như vậy tương tự như nơ ron sinh học, nơ ron nhân tạo cũng nhận các
tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng
các tích thu được rồi gửi kết quả tới hàm truyền), và tái tạo tín hiệu đầu ra (là
kết quả của hàm truyền).

1.2. Học sâu, mạng CNN

1.2.1. Học sâu
Học sâu (Deep Learning) là một phần của lĩnh vực Trí tuệ nhân tạo

(Artificial Intelligence - AI) tập trung vào việc sử dụng các mơ hình máy tính
phức tạp gọi là mạng nơ-ron nhân tạo (Artificial Neural Networks) để học và

12

hiểu dữ liệu. Khái niệm này đặc biệt nổi tiếng trong thời gian gần đây nhờ vào
khả năng của nó trong việc giải quyết nhiều vấn đề phức tạp và đạt được kết
quả xuất sắc trong các ứng dụng như thị giác máy tính, xử lý ngơn ngữ tự
nhiên, xử lý giọng nói, tự động lái xe, và nhiều lĩnh vực khác.

Kiến trúc mạng nơ-ron sâu (DNN)

Kiến trúc mạng nơ-ron sâu (DNN) là một phần quan trọng của lĩnh vực

học sâu (Deep Learning), đã thay đổi cách chúng ta tiếp cận và giải quyết các
vấn đề phức tạp liên quan đến dữ liệu. Với khả năng học biểu diễn tự động từ
dữ liệu đầu vào, DNN đã mang lại sự tiến bộ đáng kể trong nhiều ứng dụng
quan trọng như thị giác máy tính, xử lý ngơn ngữ tự nhiên, xe tự động, và
nhiều lĩnh vực khác. Trong phần này, chúng ta sẽ tìm hiểu về kiến trúc DNN
và tại sao nó trở thành cơng cụ quan trọng trong học sâu.

Cấu Trúc Cơ Bản của DNN
Kiến trúc DNN bao gồm nhiều lớp nơ-ron xếp chồng lên nhau. Các lớp

này chia thành ba loại chính: lớp nhập, lớp ẩn và lớp đầu ra.
Lớp Nhập (Input Layer)
Lớp nhập chứa các đầu vào ban đầu của mạng. Điều này thường là dữ

liệu thơ, ví dụ, các pixel của hình ảnh hoặc các từ trong văn bản.
Lớp Ẩn (Hidden Layer)
Lớp ẩn là nơi diễn ra hầu hết công việc trong DNN. Mỗi lớp ẩn chứa

nhiều nơ-ron hoặc các đơn vị tính tốn. Các nơ-ron trong lớp ẩn kết nối với
tất cả các nơ-ron trong lớp trước đó và lớp sau nó. Mỗi kết nối được điều
chỉnh bằng các trọng số riêng biệt, và mỗi nơ-ron có một hàm kích hoạt non-
linear.

Lớp Đầu Ra (Output Layer)

13

Lớp đầu ra chứa đầu ra cuối cùng của mơ hình. Số lượng nơ-ron trong

lớp này thường phụ thuộc vào nhiệm vụ cụ thể. Ví dụ, trong bài tốn phân
loại hình ảnh, số lượng nơ-ron có thể là số lượng lớp phân loại.

Hàm Kích Hoạt (Activation Functions)

Mỗi nơ-ron trong một lớp thường có một hàm kích hoạt non-linear.
Hàm này giúp mơ hình học được các biểu diễn phi tuyến tính và khả năng
biểu diễn dữ liệu phức tạp. Các hàm kích hoạt phổ biến bao gồm Rectified
Linear Unit (ReLU), sigmoid, và tanh. Sử dụng hàm kích hoạt non-linear cho
phép DNN học các biểu diễn phức tạp từ dữ liệu đầu vào.

Kết Nối và Trọng Số

Mỗi kết nối giữa các nơ-ron trong DNN được điều chỉnh bằng một
trọng số riêng biệt. Quá trình học của DNN dựa vào việc cập nhật và tinh
chỉnh các trọng số này trong quá trình huấn luyện. Mục tiêu là tối ưu hóa các
trọng số sao cho mơ hình có khả năng dự đốn và biểu diễn dữ liệu tốt nhất.

1.2.2. Mạng CNN

Mạng nơ-ron tích chập (CNN - Convolutional Neural Network) là một
trong những mơ hình mạng Học sâu phổ biến nhất hiện nay, có khả năng nhận
dạng và phân loại hình ảnh với độ chính xác rất cao, thậm chí cịn tốt hơn con
người trong nhiều trường hợp. Mơ hình này đã và đang được phát triển, ứng
dụng vào các hệ thống xử lý ảnh lớn của Facebook, Google hay Amazon…
cho các mục đích khác nhau như các thuật tốn tagging tự động, tìm kiếm ảnh
hoặc gợi ý sản phẩm cho người tiêu dùng.

Sự ra đời của mạng CNN là dựa trên ý tưởng cải tiến cách thức các
mạng nơ-ron nhân tạo truyền thống học thông tin trong ảnh. Do sử dụng các

liên kết đầy đủ giữa các điểm ảnh vào node, các mạng nơ-ron nhân tạo truyền
thẳng (Feedforward Neural Network) bị hạn chế rất nhiều bởi kích thước của


×