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

ỨNG DỤNG học máy vào NHẬN DIỆN BIỂU cảm của SINH VIÊN đại học THỦ dầu một SAU BUỔI học

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 (1.21 MB, 53 trang )

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỸ THUẬT – CÔNG NGHỆ

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN CẤP ĐƠN VỊ
NĂM HỌC 2021-2022

ỨNG DỤNG HỌC MÁY VÀO NHẬN DIỆN BIỂU CẢM CỦA
SINH VIÊN ĐẠI HỌC THỦ DẦU MỘT SAU BUỔI HỌC

Thuộc nhóm ngành khoa học: Trí tuệ nhân tạo và khoa học dữ liệu

Bình Dương, tháng 04 năm 2022


TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỸ THUẬT – CÔNG NGHỆ

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN CẤP ĐƠN VỊ
NĂM HỌC 2021-2022

ỨNG DỤNG HỌC MÁY VÀO NHẬN DIỆN BIỂU CẢM CỦA
SINH VIÊN ĐẠI HỌC THỦ DẦU MỘT SAU BUỔI HỌC
Thuộc nhóm ngành khoa học: Trí tuệ nhân tạo và khoa học dữ liệu
STT
1
2

Họ và tên


MSSV

Phạm Thái Bảo
Mai Đặng Sơn
Tùng

Lớp

Khoa

2024802050007 D20TTNT01

KT-CN

2024801030059 D20KTPM02

KT-CN

3

Phan Thúy Thanh

2124802050020 D21TTNT01

KT-CN

4

Lục Tấn Khoa


2124802050022 D21TTNT01

KT-CN

Người hướng dẫn: ThS. Hồ Ngọc Trung Kiên

Bình Dương, tháng 04 năm 2022
i

Ghi
chú


UBND TỈNH BÌNH DƯƠNG

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT

Độc lập – Tự do – Hạnh phúc

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: Ứng dụng máy học vào nhận diện biểu cảm của sinh viên đại học thủ dầu
một sau buổi học
- Sinh viên/ nhóm sinh viên thực hiện:
Năm thứ/
STT

Họ và tên


MSSV

Lớp

Khoa

Số năm
đào tạo

1

Phạm Thái Bảo

2024802050007

D20TTNT01

KT-CN

2/4

2

Mai Đặng Sơn Tùng

2024801030059

D20KTPM02


KT-CN

2/4

3

Phan Thúy Thanh

2124802050020

D21TTNT01

KT-CN

1/4

4

Lục Tấn Khoa

2124802050022

D21TTNT01

KT-CN

1/4

- Người hướng dẫn: ThS. Hồ Ngọc Trung Kiên
2. Mục tiêu đề tài:

Xây dựng hệ thống nhận diện biểu cảm của sinh viên thông qua đó giúp cho
giảng viên đánh giá buổi học, dễ dàng điều chỉnh và lựa chọn phương pháp giảng dạy
phù hợp, khoa học.
3. Tính mới và sáng tạo:
Thêm bộ lọc và hệ thần kinh nhằm cải thiện độ nhạy khi nhận diện biểu cảm tức
giận.
4. Kết quả nghiên cứu:

ii


Xây dựng mơ hình huấn luyện và thử nghiệm nhận diện biểu cảm khuôn mặt.
Nhận diện được biểu cảm khuôn mặt cơ bản hạnh phúc, đau buồn, sợ hãi, tức giận,
ngạc nhiên, bình thường.
5. Đóng góp về mặt kinh tế - xã hội, giáo dục và đào tạo, an ninh, quốc phòng và
khả năng áp dụng của đề tài:
Giáo dục: hỗ trợ giảng viên cải thiện phương pháp giảng dạy cho sinh thấy được
nhiều cách tiếp cận nâng cao sự chủ động của sinh viên trong việc nghiên cứu học tập.
6. Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài (ghi rõ họ tên
tác giả, nhan đề và các yếu tố về xuất bản nếu có) hoặc nhận xét, đánh giá của cơ sở
đã áp dụng các kết quả nghiên cứu (nếu có):

Ngày

tháng

năm 2022

Sinh viên chịu trách nhiệm chính
thực hiện đề tài

(ký, họ và tên)

Nhận xét của người hướng dẫn về những đóng góp khoa học của sinh viên thực
hiện đề tài (phần này do người hướng dẫn ghi):

iii


Ngày

tháng

Xác nhận của lãnh đạo khoa

Người hướng dẫn

(ký, họ và tên)

(ký, họ và tên)

iv

năm


UBND TỈNH BÌNH DƯƠNG

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT


Độc lập – Tự do – Hạnh phúc

THƠNG TIN VỀ SINH VIÊN
CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI

I. SƠ LƯỢC VỀ SINH VIÊN:
Ảnh 4x6

Họ và tên: Phạm Thái Bảo
Sinh ngày: 19 tháng 03 năm 2002
Nơi sinh: Ninh Thuận
Lớp: D20TTNT01

Khóa: 2020-2025

Khoa: Viện kĩ thuật – công nghệ
Địa chỉ liên hệ: 424/39/8 tổ 4, khu phố 4, Phường Phú Hồ, tp Thủ Dầu Một, tỉnh Bình
Dương.
Điện thoại: 0369430009

Email:

II. QUÁ TRÌNH HỌC TẬP (kê khai thành tích của sinh viên từ năm thứ 1 đến năm
đang học):
* Năm thứ 1:
Ngành học: Trí tuệ nhân tạo và khoa học dữ liệu

Khoa: Viện kĩ thuật – công


nghệ
Kết quả xếp loại học tập: giỏi
Sơ lược thành tích:

Ngày
v

tháng

năm 2022


Xác nhận của lãnh đạo khoa

Sinh viên chịu trách nhiệm chính

(ký, họ và tên)

thực hiện đề tài
(ký, họ và tên)

vi


MỤC LỤC
MỤC LỤC.................................................................................................................. vii
DANH MỤC NHỮNG TỪ VIẾT TẮT.....................................................................ix
DANH MỤC BẢNG BIỂU..........................................................................................x
DANH MỤC HÌNH....................................................................................................xi
A. PHẦN MỞ ĐẦU......................................................................................................1

1. Lí do chọn đề tài....................................................................................................1
2. Mục tiêu nghiên cứu..............................................................................................1
3. Đối tượng nghiên cứu............................................................................................1
4. Phạm vi nghiên cứu...............................................................................................1
5. Phương pháp nghiên cứu.......................................................................................1
6. Ý nghĩa đề tài........................................................................................................2
B. PHẦN NỘI DUNG..................................................................................................3
CHƯƠNG 1. CƠ SỞ LÍ THUYẾT.............................................................................3
1.1. Tổng quan tình hình nghiên cứu..........................................................................3
1.2. Một số khái niệm.................................................................................................5
1.2.1. Machine learning..........................................................................................5
1.2.2. Deep learning...............................................................................................8
1.2.3. Training set.................................................................................................10
1.2.4. Validation...................................................................................................10
1.2.5. Testing set...................................................................................................12
CHƯƠNG 2. MƠ HÌNH BÀI TỐN.......................................................................14
2.1. Quy trình thực hiện............................................................................................14
2.2. Mơ hình bài toán................................................................................................15
2.2.1. Train model.................................................................................................15
2.2.2. Thuật toán được sử dụng............................................................................16
2.2.3. Test model...................................................................................................19
CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ.....................................................22
3.1. Chuẩn bị............................................................................................................22
3.1.1. Cấu hình máy..............................................................................................22
3.1.2. Phần mềm...................................................................................................22
3.1.3. Ngơn ngữ lập trình......................................................................................23
3.1.4. Các thư viện được sử dụng.........................................................................25
vii



3.1.5. Mô tả bộ dữ liệu..........................................................................................29
3.2. Tiến hành...........................................................................................................30
3.2.1. Train model.................................................................................................30
3.2.2. Test model...................................................................................................33
3.3. Kết quả..............................................................................................................36
3.4. Đánh giá............................................................................................................37
C. PHẦN KẾT LUẬN...............................................................................................38
1. Kết quả đạt được.................................................................................................38
2. Khuyến nghị........................................................................................................38
TÀI LIỆU THAM KHẢO.........................................................................................40

viii


DANH MỤC NHỮNG TỪ VIẾT TẮT
Viết tắt

Tiếng anh

Tiếng việt

Machine learning

Máy học

Deep learning

Học sâu

Train


Huấn luyện

Model

Mẫu

ix


DANH MỤC BẢNG BIỂU
Bảng 3.1: Phân chia tập dữ liệu...................................................................................30

x


DANH MỤC HÌNH
Hình 1.1: Machine learning workflow(website).......................................................6
Hình 1.2: Supervised learning(website)....................................................................7
Hình 1.3: Unsupervised learning(website)................................................................8
Hình 1.4: Deep learning(website).............................................................................9
Hình 1.5: Validation...............................................................................................11
Hình 1.6: Testing set(website)................................................................................12
Hình 2.1: Quy trình thực hiện(website)..................................................................14
Hình 2.2: Khởi tạo các lớp player...........................................................................15
Hình 2.3: Quy trình train model..............................................................................16
Hình 2.4: Cấu trúc mạng CNN(website).................................................................18
Hình 2.5: Xử lí của mạng CNN(website)................................................................19
Hình 2.6: Quy trình thử nghiệm nhận diện biểu cảm..............................................20
Hình 3.1: Máy được sử dụng(website)....................................................................22

Hình 3.2: Phần mềm sử dụng..................................................................................23
Hình 3.3: Python(website)......................................................................................24
Hình 3.4: Numpy(website).....................................................................................26
Hình 3.5: Keras(website)........................................................................................26
Hình 3.6: Tensorflow(website)...............................................................................27
Hình 3.7: OpenCV(website)...................................................................................28
Hình 3.8: Pillow(website).......................................................................................28
Hình 3.9: Matplotlib(website).................................................................................28
Hình 3.10: Tkinter(website)....................................................................................29
Hình 3.11: Mơ tả các biểu cảm có trong tập dữ liệu FER2013s..............................29
Hình 3.12: Nhận diện biểu cảm..............................................................................37

xi


A. PHẦN MỞ ĐẦU
1. Lí do chọn đề tài
Với tình hình hiện nay hình thức học trực tuyến là giải pháp giúp chúng ta có thể
tiếp nhận thơng tin dễ dàng chỉ với một chiếc điện thoại, máy tính hoặc máy tính bảng
có kết nối Internet. Như vậy, học sinh có thể học tập từ xa mà khơng cần phải đến
trường học. Mặt khác hình thức này làm giảm khả năng truyền và đạt sự nhuyệt huyết
trong công tác giảng dạy, khó khăn trong việc tương tác qua lại giữa giảng viên, sinh
viên. Như vậy giảng viên khó có thể nắm bắt được tình hình học tập của sinh viên và
đưa ra phương pháp giảng dạy phù hợp. Ngoài ra nếu giảng dạy trong một lớp quá
đông giảng viên chỉ biết được tổng thể biểu cảm sinh viên và chưa thấy được từng các
biểu cảm khác. Bởi vì lí do đó, cần xây dựng hệ thống có thể nhận biết được biểu cảm
của sinh viên sau buổi học giúp cho giảng viên đưa ra phương pháp giảng dạy phù
hợp. Đó cũng là lý do nhóm nghiên cứu sinh chọn đề tài “ứng dụng máy học vào nhận
diện biểu cảm của sinh viên đại học thủ dầu một sau buổi học” làm đề tài nghiên cứu
khoa học.

2. Mục tiêu nghiên cứu
Nhận diện biểu cảm khn mặt thơng phân tích hình ảnh được lấy từ webcam
hoặc băng ghi hình. Đưa hình ảnh lấy được đưa vào thuật tốn phân tích và đưa ra biểu
cảm khn mặt trong đó. Từ đây nhận diện được biểu cảm của khuôn mặt và báo cáo
cho người dùng thơng tin tươn ứng và độ chính xác của dữ liệu.
3. Đối tượng nghiên cứu
Tập trung nghiên cứu nhận diện biểu cảm khuôn mặt người. Như các bạn đã biết
biểu cảm là sự biểu lộ, thể hiện tình cảm, tư tưởng của con người nhờ ngôn ngữ hay
một số phương tiện khác. Bởi lẽ trong cuộc sống, con người sẽ trải qua rất nhiều
những niềm vui, nỗi buồn, có tình u thương nhưng cũng có lịng căm giận… Và có
lẽ họ cũng muốn được bộc lộ, được chia sẻ những tình cảm, biểu cảm của mình. Thế
nên, biểu cảm chính là một nhu cầu tất yếu của con người trong cuộc sống hằng ngày.
4. Phạm vi nghiên cứu
Phạm vi nghiên cứu chỉ tập trung trong khối sinh viên lớp D20TTNT01,
D21TTNT01.
1


5. Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết:
- Tìm hiểu ngơn ngữ lập trình Python cơ bản, tìm hiểu các thư viện keras,
opencv, tensorflow và các khái niệm, một số các thuật toán liên quan đến machine
learning, deep learning. Thời gian thực hiện chiếm khoảng 50% thời gian nghiên cứu.
Cần tìm hiểu kĩ lưỡng về cách thực thi của các hàm, các tham số được truyền vào và
các giá trị đầu ra.
- Tìm kiếm bài báo liên quan đến nhận diện biểu cảm bằng nhiều phương pháp
khác nhau. Để tham khảo và kế thừa sự phát triển về nhận diện biểu cảm khuôn mặt và
công nghệ liên quan.
- Tìm hiểu về thuật tốn convolutional neural network(CNN), supper vector
machine(SVN).

Phương pháp thực nghiệm: Lập trình xây dựng ứng dụng học sâu
6. Ý nghĩa đề tài
Kết quả nghiên cứu của đề tài “ứng dụng học máy vào nhận diện biểu cảm khuôn
mặt của sinh viên Thủ Dầu Một sau giờ học” sẽ là căn cứ hỡ trợ giảng viên xác định
được biểu cảm của từng sinh trong quá trình giảng dạy. Từ đó cải thiện phương pháp
giảng dạy phù hợp cho sinh viên.

2


Chương 1. Cơ sở lí thuyết

B. PHẦN NỘI DUNG
CHƯƠNG 1. CƠ SỞ LÍ THUYẾT
1.1. Tổng quan tình hình nghiên cứu
Nhận dạng biểu cảm trên khn mặt là q trình xác định các biểu cảm trên
khuôn mặt của con người thông qua khuôn mặt. Mọi người rất khác nhau với độ chính
xác khác nhau trong việc nhận biết biểu cảm của người khác. Trong sự lan rộng của
các độ chính xác khác nhau này, cơng nghệ có thể chứng minh kênh nhận dạng biểu
cảm cũng như phát triển một số mô hình để xác định biểu cảm khn mặt chính xác
của con người. Các phương tiện giao tiếp bao gồm cử chỉ cơ thể, nét mặt,… ngồi lời
nói. Cử chỉ cơ thể giúp điều chỉnh giao tiếp trong lời nói, trong khi nét mặt thể hiện
biểu cảm của con người theo phản xạ. Nhận dạng biểu cảm khn mặt có ứng dụng
trong nhiều lĩnh vực khác nhau bao gồm khoa học lâm sàng, khoa học hành vi,… Phát
hiện nét mặt cũng là điều kiện tiên quyết ngày nay đối với giao diện người - máy.
Trong vài năm qua, một số tiến bộ đã được thực hiện trong lĩnh vực phát hiện nét mặt,
như kỹ thuật trích xuất các đặc điểm trên khuôn mặt và phân loại biểu cảm. Nhưng vẫn
phải phát triển một hệ thống phát hiện biểu cảm khuôn mặt tự động. Dự án này thực
hiện nhận dạng khuôn mặt theo nhiều cách, bằng cách sử dụng bộ mô tả (Histogram
Of Orientation Gradient) và SVM (Máy vectơ hỗ trợ) cho mơ hình đầu tiên trong khi

với các chiến lược đầu vào khác nhau cho Mạng nơ-ron tích chập Convolutions Neural
Network (CNN) trong các mơ hình khác. Sau đó, CNN và SVM dự đoán nhãn theo
một trong các biểu cảm trên khn mặt sau: bình thường, hạnh phúc, sợ hãi, buồn bã,
chán ghét, tức giận, ngạc nhiên. Động cơ của việc kết hợp hai hoặc nhiều kỹ thuật và
tiền xử lý để đạt được kết quả có thể so sánh được thành cơng
Bài tốn phát hiện biểu cảm khn mặt đã có lịch sử nghiên cứu lâu dài. Từ năm
1964, Bledsoe là người đầu tiên xây dựng chương trình nhận dạng khn mặt tự động
kết hợp với hệ thống máy tính, bằng cách phân loại khuôn mặt trên cơ sở mốc chuẩn
được nhập vào bằng tay. Các thông số để phân loại là khoảng cách chuẩn, tỉ lệ giữa
các điểm như góc, mắt, miệng, chóp mũi và chóp cằm. Sau này, tại Bell Labs đã phát
triển một kĩ thuật dựa trên vector với 21 thuộc tính khn mặt được phát hiện bằng
cách sử dụng kỹ thuật phân loại tiêu chuẩn mẫu. Các thuộc tính được lựa chọn đánh
giá chủ yếu là: màu tóc, chiều dài của đơi tai, độ dày mơi... Năm 1986, hệ thống
WISARD dựa trên mạng nơron đã có thể nhận biết được tình trạng và biểu cảm khn
mặt một cách hạn chế.
Phát hiện biểu cảm khuôn mặt là bước phát triển tiếp sau của việc phát hiện
khuôn mặt, tuy nhiên có nhiều quan điểm trong việc định nghĩa khái niệm biểu cảm,
3


Chương 1. Cơ sở lí thuyết
vốn rất khơng rõ ràng. Matsumoto phân chia biểu cảm khn mặt thành 7 nhóm thể
hiện chính: Vui vẻ, Ngạc nhiên, Hài lịng, Buồn bực, Cáu giận, Phẫn nộ và Sợ hãi. Tuy
nhiên, nhóm của Mase và Pentland cho rằng chỉ 4 loại biểu cảm được thể hiện một
cách rõ ràng là Hạnh phúc, Ngạc nhiên, Giận giữ và Căm phẫn; các loại biểu cảm khác
thường không rõ ràng và tùy thuộc nhiều vào kinh nghiệm của người quan sát (tức là
không thể định lượng một cách chính xác). Cơ sở dữ liệu Radboud Faces Database thì
phân chia biểu cảm khn mặt thành 8 loại: Tức giận, Căm phẫn, Sợ hãi, Hạnh phúc,
Buồn rầu, Bất ngờ, Khinh miệt và Trung lập. Dataset Kaggle FER-F2013 thì lại chỉ có
7 loại biểu cảm: Giận dữ, Căm phẫn, Sợ hãi, Hạnh phúc, Buồn rầu, Bất ngờ và Trung

lập.
Hiện nay vấn đề này vẫn đang được rất nhiều người quan tâm bởi tính hấp dẫn
cùng những vấn đề phức tạp của nó. Tính đến hiện nay đã nhận diện được 8 trạng thái
cơ bản gồm vui vẻ, rầu rĩ, sợ hãi, ghê tởm, giận dữ, ngạc nhiên, hy vọng và tin tưởng
bằng một số công cụ được Microsoft áp dụng. Ngồi ra phịng nghiên cứu của cơng ty
Fujistu đã phát triển nhận diện thêm những trạng thái mới như hồi hộp hoặc bối rối.
Bằng việc xác định 2 thực hiện “gị má được nâng lên” và “phía góc mơi được kéo
giãn” xảy ra cùng lúc, AI sẽ đưa ra kết luận trạng người dùng. Nhận dạng biểu cảm
dựa trên nhận diện các thành phần chính (PCA) truyền thống ngồi ra cịn kết hợp với
một số thuật tốn như mạng noron, cây quyết định,…
Trong nước có nhiều nghiên cứu về chủ đề nhận diện biểu cảm như: tổng quan về
ước lượng mức độ biểu cảm của người qua biểu cảm khuôn mặt và hướng tiếp cận
dựa trên ảnh nhiệt [1], Mơ hình khai phá ý kiến và phân tích biểu cảm khách hàng trực
tuyến trong ngành thực phẩm [2], sử dụng phương pháp support vector machine và
convolutional neural network để phân loại biểu cảm của khuôn mặt [3], sử dụng
phương pháp support vector machine và convolutional neural network để phân loại
biểu cảm của khn mặt [4],…
Ngồi nước có rất nhiều nghiên cứu về vấn đề nhận diện biểu cảm như:
Leveraging Recent Advances in Deep Learning for Audio-Visual Emotion
Recognition [5], Multimodal Emotion Recognition using Deep Learning Architectures
[6], A Robust Method for Face Recognition and Face Emotion Detection System using
Support Vector Machines [7],...
4


Chương 1. Cơ sở lí thuyết
Hiện nay trên thị trường đã có phần mềm nhận diện biểu cảm như là: “MAL Face
Emotion” ra mắt vào ngày 01/04/2020, nhận diện được 5 loại biểu cảm của từng
khn: bình thường, vui, buồn, giận dữ và ngạc nhiê
1.2. Một số khái niệm

1.2.1. Machine learning
Machine learning theo định nghĩa cơ bản là ứng dụng các thuật tốn để phân tích
cú pháp dữ liệu, học hỏi từ nó, và sau đó thực hiện một quyết định hoặc dự đốn về
các vấn đề có liên quan. Vì vậy, thay vì code phần mềm bằng cách thức thủ cơng với
một bộ hướng dẫn cụ thể để hồn thành một nhiệm vụ cụ thể, máy được “đào tạo”
bằng cách sử dụng một lượng lớn dữ liệu và các thuật tốn cho phép nó học cách thực
hiện các tác vụ. Điển hình là thuật tốn support vector machine(SVM).
Một trong những lĩnh vực ứng dụng tốt nhất cho Machine learning trong nhiều
năm qua là computer vision, mặc dù nó vẫn địi hỏi rất nhiều kỹ năng code thủ cơng để
có thể hồn thành cơng việc. Mọi người vẫn sẽ viết các lớp phân loại bằng tay như các
bộ lọc để chương trình có thể xác định nơi mà một đối tượng bắt đầu và kết thúc. Phát
hiện hình dạng để xác định nếu nó có tám mặt. Một phân loại để nhận dạng các chữ cái
“S-T-O-P”. Từ tất cả những ứng dụng phân loại, họ sẽ phát triển các thuật tốn để làm
cho hình ảnh và “học” khả năng nhận diện dấu hiệu liệu nó có phải là kí hiệu stop hay
khơng?
Một số khái niệm trong machine learning:
- Dataset (cịn gọi là data corpus hay data stock): là tập dữ liệu ở dạng nguyên
thủy chưa qua xử lý mà bạn đã thu thập được ở bước data collection. Một dataset sẽ
bao gồm nhiều data point.
- Data point: là điểm dữ liệu, mỗi điểm dữ liệu biểu diễn cho một quan sát. Mỗi
data point có nhiều đặc trưng hay thuộc tính khác nhau, được chia làm hai loại: dữ liệu
số (numerical) và dữ liệu khơng phải số (ví dụ như chuỗi) (non-numerical/categorical).
Data point được biểu diễn thành dòng tương ứng, mỗi dịng có thể có 1 hoặc nhiều dữ
liệu (chính là các đặc trưng).

5


Chương 1. Cơ sở lí thuyết
- Training data và test data: dataset thường sẽ được chia làm 2 tập này, training

data dùng để huấn luyện cho mơ hình, test data dùng để dự đốn kết quả và đánh giá
mơ hình. Có bài tốn người ta sẽ cho sẵn hai tập này thì bạn khơng cần phải chia nữa,
đối với bài tốn chỉ cho mỗi dataset thơi thì phải chia ra. Thường tỷ lệ giữa tập train và
test sẽ là 8/2.
- Features vector: là vector đặc trưng, mỗi vector này sẽ biểu diễn cho một điểm
dữ liệu trong dataset. Mỗi vector có n chiều biểu diễn các đặc trưng của điểm dữ liệu,
mỗi đặc trưng là một chiều và phải là dữ liệu số. Các mơ hình chỉ có thể huấn luyện
được từ các vector đặc trưng này, do đó dataset cần phải chuyển về dạng một tập các
vector đặc trưng (features vectors).
- Model: là các mơ hình được dùng để training trên một training data theo thuật
tốn của mơ hình đó. Sau đó mơ hình có thể dự đốn hoặc đưa ra các quyết định dựa
trên những gì chúng đã được học.
Machine learning workflow là các bước cụ thể trong machine learning như:

Hình 1.1: Machine learning workflow(website)
- Data collection – thu thập dữ liệu: để máy tính có thể học được bạn cần có
một bộ dữ liệu (dataset), bạn có thể tự thu thập chúng hoặc lấy các bộ dữ liệu đã được
cơng bố trước đó. Lưu ý là bạn phải thu thập từ nguồn chính thống, có như vậy dữ liệu
mới chính xác và máy có thể học một cách đúng đắng và đạt hiệu quả cao hơn.
- Preprocessing – tiền xử lý: bước này dùng để chuẩn hóa dữ liệu, loại bỏ các
thuộc tính khơng cần thiết, gán nhãn dữ liệu, mã hóa một số đặc trưng, trích xuất đặc
6


Chương 1. Cơ sở lí thuyết
trưng, rút gọn dữ liệu nhưng vẫn đảm bảo kết quả… Bước này tốn thời gian nhất tỉ lệ
thuận với số lượng dữ liệu bạn có. Bước 1 và 2 thường chiếm hơn 70% tổng thời gian
thực hiện.
- Training model – huấn luyện mơ hình: bước này là bước bạn huấn luyện cho
mơ hình hay chính là cho nó học trên dữ liệu bạn đã thu thập và xử lý ở hai bước đầu.

- Evaluating model – đánh giá mơ hình: sau khi đã huấn luyện mơ hình xong,
chúng ta cần dùng các độ đo để đánh giá mơ hình, tùy vào từng độ đo khác nhau mà
mơ hình cũng được đánh giá tốt hay khơng khác nhau. Độ chính xác của mơ hình đạt
trên 80% được cho là tốt.
- Improve – cải thiện: sau khi đã đánh giá mơ hình, các mơ hình đạt độ chính
xác khơng tốt thì cần được train lại, chúng ta sẽ lặp lại từ bước 3, cho đến khi đạt độ
chính xác như kỳ vọng. Tổng thời gian của 3 bước cuối rơi vào khoảng 30% tổng thời
gian thực hiện.
Có rất nhiều cách phân loại machine learning, thơng thường thì machine learning
sẽ được phân làm hai loại chính sau:
- Supervised learning(học có giám sát) là việc cho máy tính học trên dữ liệu đã
được gán nhãn (label), hay nói cách khác, với mỗi đầu vào Xi, chúng ta sẽ có nhãn Yi
tương ứng.

Hình 1.2: Supervised learning(website)
7


Chương 1. Cơ sở lí thuyết
- Unsupervised learning(học khơng giám sát) là cho máy tính học trên dữ liệu
mà khơng được gán nhãn, các thuật tốn machine learning sẽ tìm ra sự tương quan dữ
liệu, mơ hình hóa dữ liệu hay chính là làm cho máy tính có kiến thức, hiểu về dữ liệu,
từ đó chúng có thể phân loại các dữ liệu về sau thành các nhóm, lớp (clustering) giống
nhau mà chúng đã được học hoặc giảm số chiều dữ liệu (dimension reduction).

Hình 1.3: Unsupervised learning(website)
Ngồi ra, machine learning cịn có thể phân làm các loại sau: Semi-supervised
learning(học bán giám sát), Deep learning(học sâu về một vấn đề nào đó), Reinforce
learning(học củng cố/tăng cường)
1.2.2. Deep learning

Deep Learning là một nhánh của Machine Learning sử dụng mạng lưới thần kinh
với nhiều lớp. Một mạng lưới thần kinh sâu phân tích dữ liệu với các biểu diễn đã học
tương tự như cách một người nhìn vào một vấn đề của họ. Và nó có tác dụng hỗ trợ
cho máy tính tự huấn luyện chính nó để có thể thực hiện mọi tác vụ tương tự như con
người. Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ.
Điển hình là thuật tốn convolutional neural network(CNN).

8


Chương 1. Cơ sở lí thuyết

Hình 1.1: Deep learning(website)
Một phương pháp tiếp cận thuật toán khác từ cộng đồng machine-learning,
Artificial Neural Networks, được nhắc đến nhiều thập kỷ qua. Neural Networks được
lấy cảm hứng từ sự hiểu biết về sinh học của bộ não loài người – sự liên kết giữa các
nơ-ron. Tuy nhiên, không giống như một bộ não sinh học nơi mà bất kỳ nơ-ron nào
cũng có thể liên kết với các nơ-ron khác trong một khoảng cách vật lý nhất định, các
mạng thần kinh nhân tạo này có các lớp rời rạc, các kết nối, và các hướng truyền dữ
liệu.
Mỗi nơ-ron đảm nhiệm một chức năng – làm thế nào để biết chính xác liệu rằng
nó có liên quan đến nhiệm vụ đang được thực hiện. Vì vậy, suy nghĩ về điểm dừng là
một dấu hiệu. Các thuộc tính của một hình ảnh dấu hiệu “dừng” được cắt nhỏ và được
“kiểm tra” bởi các nơ-ron – dạng hình trụ, màu đỏ của các động cơ cháy, các chữ cái
đặc trưng, kích thước biển báo giao thơng, và sự chuyển động hoặc sự thiếu hụt của
nó. Nhiệm vụ của mạng thần kinh là để kết luận liệu đây có phải là dấu hiệu dừng hay
khơng. Nó đi kèm với một “vector xác suất”. Trong ví dụ của chúng ta, hệ thống có thể
xác định chắc chắn đến 86% một dấu hiệu dừng, 7% rằng đó là một dấu hiệu giới hạn
tốc độ, và 5% còn lại là một con diều bị mắc kẹt trong cây,( hoặc cái gì đó tương tự)
vv … và kiến trúc mạng sau đó sẽ thơng báo đến mạng nơron cho dù đó là đúng hay

sai.

9


Chương 1. Cơ sở lí thuyết
Ngày nay, khả năng nhận dạng hình ảnh của máy móc được luyện tập thơng qua
deep learning trong một số tình huống tốt hơn so với con người. AlphaGo của Google
đã được huấn luyện chơi cờ vay – nó điều chỉnh mạng lưới thần kinh của mình bằng
cách tự mình chống lại chính mình.
1.2.3. Training set
Tập huấn luyện (training set) là tập dữ liệu được sử dụng để huấn luyện mơ hình.
Các thuật tốn học máy sẽ học các mơ hình từ tập huấn luyện này. Việc học sẽ khác
nhau tùy thuộc vào thuật toán và mơ hình sử dụng. Ví dụ, khi sử dụng mơt hình Hồi
quy tuyến tính (Linear Regression), các điểm trong tập huấn luyện được sử dụng để
tìm ra hàm số hay đường phù hợp nhất mô tả quan hệ giữa đầu vào và đầu ra của tập
dữ liệu huấn luyện bằng cách sử dụng một số phương pháp tối ưu hóa như cơng thức
nghiệm ở bài trước hoặc các thuật toán tối ưu gần đúng như gradient descent hay
stochastic gradient descent. Trong thuật tốn K-Nearest Neighbors (K-Hàng xóm gần
nhất), các điểm trong tập huấn luyện là những điểm có thể là hàng xóm của nhau (gần
nhau) được học theo các phương pháp tham lam. Trong thực tế, tập dữ liệu huấn luyện
thường bao gồm các cặp vectơ đầu vào và vectơ đầu ra tương ứng, trong đó vector đầu
ra thường được gọi là nhãn (label hoặc target). Các thuật toán nói chung sẽ tìm cách
tối ưu sai số dự đốn trên tập huấn luyện này đến mức đủ tốt. Trong trường hợp
overfitting sai số dự đốn của mơ hình trên tập huấn luyện có thể rất thấp, thậm chí =
0%.
1.2.4. Validation
Việc sử dụng testing set giúp chúng ta đánh giá được hiệu quả của mơ hình xây
dựng cuối cùng. Tuy nhiên, nếu kết quả đánh giá tệ thì sao? Rõ ràng chúng ta lại phải
cố gắng điều chỉnh để đưa ra các mơ hình tốt hơn. Tức là testing set đang có vẻ ảnh

hưởng đơi chút đến việc huấn luyện mơ hình. Điều này theo một mặt nào đó là có vẻ
khơng cơng bằng. Chúng ta đang cố gắng dự đốn những điều chưa biết, chuẩn bị cho
các tính huống xấu nhất cơ mà!!! Chứ không phải là đưa lại tình huống đã xảy ra đã
biết để hiệu chỉnh lại mơ hình. Chính vì lí do đó, một tập dữ liệu khác sẽ được sử dụng
để đóng vai trị đưa ra các phản hồi nhằm hiệu chỉnh các mô hinh sau quá trình huấn
luyện. Tập dữ liệu này gọi là tập dữ liệu kiểm chứng (validation set). Thực ra, đây mới
nên dịch là tập kiểm thử còn testing set phải là tập kiểm định. Anh chạy thử xe, thử
thuốc các kiểu rồi thì mới được đưa ra cấp chứng nhận kiểm định (bài test cuối cùng)
trước khi đưa ra sử dụng. Tuy nhiên, các thuật ngữ đã được đưa khá nhiều trong các tài
liệu khác tiếng Việt, do đó, ở đây chúng ta khơng tìm cách sửa lại nó nữa. Chúng ta chỉ
10


Chương 1. Cơ sở lí thuyết
cần nắm được rằng, tập validation là tập cho phép lựa chọn mơ hình huấn luyện cho
phù hợp, còn testing set là tập đánh giá lại mơ hình lần cuối cùng. Điều này, cũng
giống như các bạn học trên lớp, có các bài kiểm tra miệng, bài tập, kiểm tra giữa kỳ để
đánh giá mức độ học của bạn, từ đó biết mình yếu phần nào, cần bổ sung phần nào để
chuẩn bị cho bài thi cuối cùng vậy. Và cũng do đó, nên các đoạn phía sau này, chúng
ta sẽ tạm dùng từ tiếng anh (Validation set và testing set) để giữ được nghĩa vốn có
này.
Tập dữ liệu kiểm chứng (validation set) cung cấp các đánh giá công bằng về sự
phù hợp của mô hình trên tập dữ liệu huấn luyện trong quá trình huấn luyện.
Validation set có chức năng như một sự kết hợp: nó vừa là dữ liệu huấn luyện được sử
dụng để thử nghiệm, nhưng không phải là một phần của q trình huấn luyện cấp thấp
cũng khơng phải là một phần của thử nghiệm cuối cùng. Nó là một bước chung gian
cho phép lựa chọn mơ hình phù hợp.
Validation set có tác dụng giúp tìm kiếm mơ hình tốt nhất trong các ứng viên
được huấn luyện từ training set. Nó được sử dụng để so sánh hiệu suất của các mơ
hình ứng viên này và quyết định cái nào sẽ là mơ hình tốt nhất cuối cùng bằng cách so

sánh các độ đo hiệu suất như độ chính xác, độ nhạy cảm, độ hồi tưởng, RMSE, MSE,
… đạt được trên nó. Nó giúp cho q trình điều chỉnh các siêu tham số của mơ hình
chẳng hạn số lượng đơn vị ẩn (lớp và chiều rộng lớp) trong mạng nơron để đạt được
mơ hình phù hợp.
Validation set cũng giúp phát hiện và dừng sớm (early stopping) q trình huấn
luyện mơ hình khi lỗi trên validation set tăng lên đột biến, vì đây là dấu hiệu của mơ
hình overfitting. Kỹ thuật early stopping là một kỹ thuật được sử dụng khá phổ biến để
tránh việc overfitting. Mặc dù nhìn có vẻ khá đơn giản, nhưng việc thực hiện nó trên
thực tế lại khá phức tạp. Sỡ dĩ như vậy là do lỗi dự đốn trên validation set có thể dao
động trong q trình huấn luyện, tạo ra nhiều cực tiểu địa phương. Sự phức tạp này đã
dẫn đến việc có rất nhiều các quy tắc đặc biệt được xây dựng và đề xuất để xác định
chính xác thời điểm overfitting thực sự bắt đầu dựa trên lỗi dự đoán trên tập validation
set.

11


Chương 1. Cơ sở lí thuyết

Hình 1.1: Validation
Như trên hình vẽ trên, ta thấy chúng ta có thể dừng việc huấn luyện tại vị trí có
sự thay đổi rõ rệt sai số trong tập validation set. Đây là thời điểm xảy ra overfitting.
1.2.5. Testing set
Mục tiêu của machine learning là tạo ra những mơ hình có khả năng tổng qt
hóa để dự đoán tốt trên cả dữ liệu chưa thấy bao giờ (nằm ngồi tập huấn luyện), do
đó, để biết một thuật tốn hay mơ hình có tốt hay khơng thì sau khi được huấn luyện,
mơ hình cần được đánh giá hiệu quả thông qua bộ dữ liệu kiểm thử (testing set). Bộ dữ
liệu này được sử dụng để tính độ chính xác hoặc sai số của mơ hình dự đoán đã được
huấn luyện. Chúng ta biết nhãn thực của mọi điểm trong tập hợp dữ liệu kiểm thử này,
nhưng chúng ta sẽ tạm thời giả vờ như không biết và đưa các giá trị đầu vào của tập

vào mô hình dự đốn để nhận kết quả dự đốn đầu ra. Sau đó chúng ta có thể nhìn vào
các nhãn thực và so sánh nó với kết quả dự đốn của các đầu vào tương ứng này và
xem liệu mô hình có dự đốn đúng hay khơng. Việc tính tổng trung bình của tồn bộ
các lỗi này chúng ta có thể tính tốn được lỗi dự đốn trên tập kiểm thử.
Các lỗi dự đốn này được đánh giá thơng qua rất nhiều chỉ số khác nhau như độ
chính xác (precision), độ hồi tưởng (recall), F1-Score, RMSE, MAE,…Các chỉ số này
sẽ được trình bày chi tiết hơn trong bài tiếp theo. Một lưu ý là các chỉ số đo mức độ
hiệu quả của mơ hình này trên tập kiểm thử có thể khác với các lossfunction hay
objective function sử dụng để tối ưu hóa mơ hình trên tập huấn luyện. Nghĩa là quá
trình kiểm thử và quá trình huấn luyện là hoàn toàn độc lập với nhau, cả về bộ dữ liệu
lẫn cách thức so sánh chỉ số.
Tập dữ liệu kiểm thử tốt là một tập dữ liệu độc lập với tập dữ liệu huấn luyện (để
ngồi và khơng được tham gia vào quá trình huấn luyện), nhưng tuân theo cùng một
12


Chương 1. Cơ sở lí thuyết
phân phối xác suất như tập dữ liệu huấn luyện. Điều này giúp cho việc đánh giá khơng
bị thiên vị. Nếu một mơ hình phù hợp với trainining set nhưng lại sai khác trên testing
set, thì việc rất có khả năng nó bị overfitting (xem hình bên dưới). Ngược lại, sai số
khơng q nhiều thì thường chúng là một mơ hình phù hợp.

Hình 1.1: Testing set(website)
Với mơ hình màu xanh lá, lỗi dự đốn trên cả training set và testing set là không
chênh lệch nhau q nhiều, ngược lại với mơ hình màu cam, lỗi dự đoán trên testing
set lớn hơn rất nhiều so với trên training set. Do đó mơ hình màu cam nhiều khả năng
bị overfitting hơn mơ hình màu xanh. sỡ dĩ có điều này là do các mơ hình overfitting
có các tham số có variance khá cao và vì vậy chỉ những sai khác nhỏ trên dữ liệu đầu
vào cũng có thể tạo ra những sai khác lớn trên giá trị đầu ra, điều đó dẫn đến sai số
trên tập testing sẽ cao hơn đột biến.


13


×