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

Nghiên cứu ứng dụng Deep Learning trong phân tích thông tin khách du lịch tại các điểm đến

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 (2.63 MB, 66 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

PHAN THẢO HIỀN

NGHIÊN CỨU ỨNG DỤNG DEEP LEARNING TRONG PHÂN
TÍCH THƠNG TIN KHÁCH DU LỊCH TẠI CÁC ĐIỂM ĐẾN

LUẬN VĂN THẠC SĨ
HỆ THỐNG THÔNG TIN

Đà Nẵng – Năm 2020


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM

PHAN THẢO HIỀN

NGHIÊN CỨU ỨNG DỤNG DEEP LEARNING TRONG PHÂN
TÍCH THƠNG TIN KHÁCH DU LỊCH TẠI CÁC ĐIỂM ĐẾN

Chuyên ngành: Hệ thống thông tin
Mã số: 8480104

LUẬN VĂN THẠC SĨ
HỆ THỐNG THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. NGŨN ĐÌNH LẦU
TS. TRỊNH CƠNG DUY



Đà Nẵng – Năm 2020


i

LỜI CAM ĐOAN
Tôi xin cam đoan:
- Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của TS. Nguyễn Đình Lầu và TS. Trịnh Công Duy.
- Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung
thực về tên tác giả, tên cơng trình, thời gian và địa điểm công bố.
- Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo tơi xin chịu hồn
tồn trách nhiệm.
Tác giả luận văn

Phan Thảo Hiền


ii

MỤC LỤC
LỜI CAM ĐOAN................................................................................................... i
MỤC LỤC ............................................................................................................. ii
DANH MỤC CÁC KÍ HIỆU, CÁC TỪ VIẾT TẮT ........................................... iv
DANH MỤC CÁC BẢNG BIỂU ......................................................................... v
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .............................................................. vi
MỞ ĐẦU ............................................................................................................... 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .................................................................. 4
1.1. Khái niệm về du lịch và thực trạng du lịch tại Việt Nam .............................. 4

1.1.1. Khái niệm về du lịch ............................................................................... 4
1.1.2. Thực trạng du lịch tại Việt Nam ............................................................. 4
1.2. Khái niệm về Trí tuệ nhân tạo, Machine Learning, Deep Learning .............. 6
1.2.1. Khái niệm Trí tuệ nhân tạo (AI – Artificail Intelligence) ....................... 6
1.2.2. Machine Learning ................................................................................... 8
1.2.3. Deep Learning ......................................................................................... 9
1.2.4. Tổng quan các phương pháp Deep Learning trong phát hiện đối tượng
và nhận dạng khn mặt ................................................................................. 11
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ BÀI TỐN PHÂN TÍCH THƠNG
TIN KHÁCH DU LỊCH.................................................................................... 17
2.1. Phát biểu bài tốn ......................................................................................... 17
2.2. Mơ hình nhận dạng khn mặt dựa trên CNN ............................................. 26
2.3. Quá trình huấn luyện mạng nơ ron .............................................................. 32
2.4. Thuật toán SVM (Máy vec tơ hỗ trợ) .......................................................... 33
2.4.1. Định nghĩa: ............................................................................................ 33
2.4.2. Bài toán phân lớp .................................................................................. 33
2.4.3. Cơ sở lý thuyết SVM............................................................................. 34
2.4.4. Bài toán phân 2 lớp với SVM ............................................................... 34
2.4.5 Bài tốn phân nhiều lớp với SVM ......................................................... 35
2.4.6 Mơ hình phân lớp ảnh chụp khuôn mặt người ....................................... 36
2.5. Hàm nhân Kernel ......................................................................................... 36
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH, CÀI ĐẶT, THỬ NGHIỆM
VÀ ĐÁNH GIÁ .................................................................................................. 38
3.1. Môi trường và công cụ sử dụng ................................................................... 38
3.1.1. Thư viện mã nguồn mở Skicit – Learn ................................................. 38


iii

3.1.2. Thư viện mã nguồn mở OpenCV .......................................................... 39

3.1.2.1. Tổng quan về OpenCV ...................................................................... 39
3.1.2.2. Các đặc trưng của OpenCV................................................................ 39
3.1.2.3. Cấu trúc tổng quan của OpenCV: ...................................................... 40
3.1.2.4. Giới thiệu về OpenCV ....................................................................... 41
3.2.1.5. Nhận dạng khuôn mặt OpenCV ......................................................... 45
3.1.2.6. Cấu trúc dự án của OpenCV .............................................................. 46
3.2. Ngơn ngữ và cơng cụ lập trình: .................................................................... 47
3.3. Phát triển chương trình ................................................................................. 47
3.3.1. Thu thập dữ liệu và xử lý dữ liệu .......................................................... 47
3.3.2. Đào tạo mơ hình .................................................................................... 48
3.3.3. Nhận dạng ............................................................................................. 49
3.3.4. Đếm người ............................................................................................. 49
3.4. Kết quả thực nghiệm .................................................................................... 51
3.5. Đánh giá kết quả ........................................................................................... 54
3.5.1. Nhận dạng khuôn mặt người ................................................................. 54
3.5.2. Đếm người ............................................................................................. 54
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................................... 55
TÀI LIỆU THAM KHẢO ................................................................................... 56


iv

DANH MỤC CÁC KÍ HIỆU, CÁC TỪ VIẾT TẮT
STT

Ký hiệu/
Viết tắt

Diễn giải


1

AI

Artificail Intelligence

2

SVM

Support Vector Machine

3

SSD

Single Shot Detector


v

DANH MỤC CÁC BẢNG BIỂU

Bảng 2.1. So sánh kích thước Filter .................................................................... 27
Bảng 3.1. Kết quả thực nghiệm nhận dạng khuôn mặt ....................................... 54
Bảng 3.2. Kết quả thực nghiệm đếm người ........................................................ 54


vi


DANH MỤC CÁC HÌNH VẼ, ĐỜ THỊ

Hình 1-1 Mối liên hệ của AI, Machine Leaning, Deep Learning ....................... 11
Hình 1-2 Minh họa ý tưởng Triplet Loss ............................................................ 12
Hình 1-3 Kiến trúc cơ bản của một mạng CNN.................................................. 12
Hình 1-4 Bộ lọc tích chập được sử dụng trên ma trận điểm ảnh. ....................... 13
Hình 1-5 Phương thức Max Pooling và Avarage Pooling .................................. 14
Hình 1-6 Kiến trúc của mạng VGG16 ................................................................ 14
Hình 1-7 Đường ống R – CNN sử dụng Caffe cho phát hiện đối tượng ............ 15
Hình 1-8 Mơ hình OpenFace............................................................................... 16
Hình 2-1Mơ hình giải pháp nhận dạng khn mặt ............................................. 18
Hình 2-2 Kiến trúc mạng SSD ............................................................................ 20
Hình 2-3 Bản đồ tính năng có độ phân giải thấp hơn (bên phải) phát hiện các đối
tượng có quy mơ lớn hơn. ................................................................................... 20
Hình 2-4 Phép chập theo chiều sâu 3x3 .............................................................. 21
Hình 2-5 Phép chập theo chiều kim 1x1 ............................................................. 21
Hình 2-6 Mơ hình kiến trúc mạng MobileNets ................................................... 22
Hình 2 -7 Convolution truyền thống (trái), Depthwise Separable Convolution . 23
Hình 2- 8 Mơ hình MobileNet Single Shot Detector. ......................................... 23
Hình 2-9 Tọa độ hộp giới hạn ............................................................................. 24
Hình 2-10 Khoảng cách Eculid giữa các cặp centroid ........................................ 24
Hình 2 –11Các ID đối tượng liên kết với khoảng cách tối thiểu ........................ 25
Hình 2-12 ID #3A mới khơng khớp với các đối tượng hiện có .......................... 25
Hình 2-13 Điểm góc trái của dữ liệu đầu vào sẽ tương ứng với điểm góc trái của
feature map .......................................................................................................... 27
Hình 2-14 Mơ tả sử dụng kích thước filter lẻ và filter chẵn ............................... 28
Hình 2-15 Ma trận sử dụng zero padding ........................................................... 29
Hình 2-16 Pooling layer 2x2 .............................................................................. 30



vii

Hình 2-17 Chuyển ma trận đặc trưng thành vec tơ ............................................. 30
Hình 2-18 Kiến trúc mạng khối mơ hình CNN ................................................... 31
Hình 2-19 Quá trình huấn luyện mạng nơ ron .................................................... 33
Hình 2-20 Ví dụ siêu phẳng với lề cực đại trong khơng gian R2 ........................ 34
Hình 3-1 Cấu trúc các phần của OpenCV ........................................................... 40
Hình 3-2 – Tổng quan về đường ống nhận dạng khn mặt OpenCV ............... 45
Hình 3-3 Cấu trúc dự án OpenCV ....................................................................... 46
Hình 3-4 Kết quả nhận dạng mặt người .............................................................. 52
Hình 3-5 Kết quả đếm người ............................................................................... 53


1

MỞ ĐẦU
1. Lý do chọn đề tài
Trong những năm gần đây, sự tiến bộ vượt bậc của công nghệ thông tin,
cuộc cách mạng công nghiệp 4.0 đang tác động mạnh mẽ đến các lĩnh vực. Thị
trường du lịch toàn cầu cũng đang chứng kiến sự thay đổi với sự lên ngôi của xu
hướng kinh doanh du lịch trực tuyến. Và thị trường du lịch Việt Nam cũng đang
thay đổi và phát triển du lịch trực tuyến cùng với sự phát triển của công nghệ.
Thực tế này buộc tất cả các thành phần trong ngành du lịch, từ các cơ quan quản
lý nhà nước cho đến các công ty cấp sản phẩm - dịch vụ du lịch, đều đứng trước
yêu cầu phải thực hiện nhanh quá trình chuyển đối số, hướng tới hình thành một
hệ thống tích hợp và trao đổi dữ liệu du lịch thông minh của Việt Nam.
Du lịch thông minh (Smart Tourism) là một thành phần trong đô thị thông
minh, sử dụng công nghệ thông tin và truyền thơng để hình thành hệ sinh thái du
lịch. Hệ thống du lịch thông minh bao gồm một hệ thống hạ tầng kỹ thuật, công
nghệ phục vụ du lịch phát triển một cách đồng bộ. Từ hệ thống du lịch thông minh

đó, khách du lịch sẽ tìm kiếm được thơng tin, giá trị, chương trình, dịch vụ nổi bật
của điểm đến để họ có thể nhanh chóng quyết định lựa chọn nơi đến phù hợp cho
chuyến du lịch theo sở thích, tài chính, nhu cầu của mình.
Hoạt động du lịch thơng minh được xây dựng trên nền tảng của công nghệ
và truyền thông; giúp cho sự tương tác, kết nối chặt chẽ giữa nhà quản lý, doanh
nghiệp và khách du lịch. Nhằm nâng cao chất lượng phục vụ khách, đồng thời,
giúp cho việc quản lý thuận tiện hơn, bên cạnh đó cịn có thể phân loại hệ thống
khách du lịch thì việc nhận dạng khuôn mặt khách đến địa điểm du lịch là vấn đề
quan trọng. Tôi quyết định chọn đề tài “Nghiên cứu ứng dụng Deep Learning
trong phân tích thơng tin khách du lịch tại các điểm đến.”
2. Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu:
- Mục tiêu nghiên cứu đề tài là nghiên cứu các phương pháp nhận dạng
khuôn mặt. Có nhiều phương pháp để nhận dạng khn mặt, từ việc tìm hiểu và
nghiên cứu các phương pháp thì đề xuất phương pháp cải tiến hiệu quả cho bài
toán nhận dạng khuôn mặt.
- Đánh giá được sự hiệu quả của phương pháp nhận dạng khuôn mặt.
- Ứng dụng các phương pháp trong việc nhận dạng khuôn mặt người.
Nhiệm vụ:


2

- Tìm hiểu về Trí tuệ nhân tạo (AI), Machine learning, Deep Learning;
- Tìm hiểu các phương pháp nhận dạng khn mặt;
- Tìm hiểu về dữ liệu thực tế (cụ thể các bài tốn thực tế).
- Xây dựng chương trình thử nghiệm bài toán ứng dụng.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
- Các phương pháp của Deep Learning trong nhận dạng khuôn mặt.

Phạm vi nghiên cứu
- Hình ảnh khn mặt khách đến du lịch trên hệ thống du lịch thông minh
“Con đường di sản Miền Trung”.
4. Phương pháp nghiên cứu
Nghiên cứu lý thuyết
- Tìm hiểu lý thuyết về kỹ thuật Deep Learning kết hợp với OpenCV;
- Tìm hiểu về các phương pháp phát hiện khn mặt và nhận dạng khuôn
mặt;
- Một số tài liệu liên quan.
Nghiên cứu thực nghiệm
- Xây dựng bộ dữ liệu thử nghiệm;
5. Ý nghĩa khoa học và thực tiễn
Về mặt khoa học:
- Nghiên cứu, tìm hiểu phương pháp nhận dạng khn mặt để ứng dụng vào
thực tế;
- Cơng trình nghiên cứu về đề tài này góp phần khảo sát và nghiên cứu về ứng
dụng Deep Learning.
Về mặt thực tiễn:
Kết quả nghiên cứu của đề tài góp phần mở rộng lĩnh vực ứng dụng phương
pháp nhận dạng khuôn mặt khách đến du lịch, từ việc nhận dạng được khn mặt
có thể xác định được là khách lạ hay khách quen, khách là nam hay nữ, khách đến
du lịch bao nhiêu lần, thời gian nào khách đến du lịch nhiều hơn hoặc ít hơn….để
nâng cao chất lượng phục vụ và quản lý.
6. Cấu trúc của luận văn
Sau phần mở đầu, nội dung chính của luận văn được chia thành 3 chương:


3

Chương 1: Cơ sở lý thuyết, giới thiệu khái niệm du lịch và thực trạng du

lịch Việt Nam; giới thiệu trí tuệ nhân tạo, Machine Learning, Deep Learning; tổng
quan về các phương pháp phát hiện đối tượng và nhận dạng khn mặt
Chương 2: Phân tích thiết kế bài tốn phân tích thơng tin khách du lịch
Chương 3: Xây dựng chương trình, cài đặt thử nghiệm và đánh giá
Cuối cùng là phần đánh giá kết luận và hướng phát triển của đề tài.


4

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Khái niệm về du lịch và thực trạng du lịch tại Việt Nam
1.1.1. Khái niệm về du lịch
Ngày nay du lịch là một hoạt động khơng thể thiếu trong đời sống con người,
ngồi ra du lịch cũng đã và đang tiếp tục trở thành lĩnh vực kinh doanh, dịch vụ
quan trọng trong nền kinh tế ở hầu hết các quốc gia trên thế giới. Theo định nghĩa
của Luật du lịch Việt Nam thì du lịch là các hoạt động có liên quan đến chuyến đi
của con người (cá nhân hoặc tập thể) đến những nơi khơng thuộc khu vực mình
cư trú thường xun nhằm mục đích tham quan, vui chơi, giải trí, nghỉ dưỡng
trong một khoảng thời gian nhất định (không bao gồm mục đích cơng việc).
Khách du lịch là những du khách từ bên ngoài đến với những địa điểm, vùng
đất danh lam thắng cảnh nhằm mục đích tham quan và tham gia vào các hoạt động
vui chơi, giải trí, thư giãn, tìm hiểu văn hóa,…kèm theo việc tiêu thụ những giá
trị tự nhiên, kinh tế, dịch vụ và qua đêm tại cơ sở cư trú của ngành du lịch.
Điểm đến du lịch là khách du lịch lựa chọn trong chuyến đi có thể là một địa
danh cụ thể, một khu vực, một vùng lãnh thổ, một vùng quốc gia, thậm chí là châu
lục, trong các tài liệu về khoa học du lịch, các địa điểm này được gọi chung là
điểm đến du lịch.
1.1.2. Thực trạng du lịch tại Việt Nam
Thủ tướng Chính phủ đã ban hành Chỉ thị số 16/CT-TTg ngày 4/5/2017 về
việc tăng cường năng lực tiếp cận cuộc Cách mạng công nghiệp 4.0 và giảm thiểu

những tác động tiêu cực của làn sóng này ở Việt Nam, trong đó nêu rõ du lịch là
một trong những ngành kinh tế được ưu tiên xây dựng chiến lược chuyển đổi số,
ứng dụng công nghệ thông tin nhằm thúc đẩy du lịch thông minh ở Việt Nam.
Đây là định hướng chính sách quan trọng cho ngành du lịch hướng tới các mục
tiêu do Nghị quyết số 08-NQ/TW của Bộ Chính trị về phát triển du lịch trở thành
nền kinh tế mũi nhọn đã đặt ra. Theo đó, tới năm 2020 Việt Nam sẽ thu hút được
từ 17 đến 20 triệu lượt khách quốc tế (so với 10 triệu năm 2016), phục vụ 82 triệu
lượt khách nội địa (so với 62 triệu năm 2016), đóng góp trên 10% GDP, tổng thu
từ khách du lịch đạt 35 tỷ USD và tạo ra khoảng 4 triệu việc làm gồm 1,6 triệu
việc làm trực tiếp. Ngày 31/11/2018, Chính phủ cũng đã ban hành Đề án về ứng
dụng CNTT trong phát triển du lịch đến 2025. Theo số liệu thống kê của Tổng
cục Thống kê (Bộ KHĐT), trong tháng 8.2018, lượng khách quốc tế đến Việt Nam
ước tính đạt 1.323,5 nghìn lượt người (tăng 11,3% so với tháng 7). Số tiền thu


5

được khoảng 27.000 tỉ đồng, điều này khẳng định ngành du lịch sẽ hồn thành
mục tiêu đón 15-17 triệu lượt khách du lịch quốc tế và 80 triệu lượt khách nội địa
năm 2018 là trong tầm tay.
Tháng 9/2018, Việt Nam được công nhận là điểm đến hàng đầu Châu Á. Đây
là giải thưởng danh giá được các chuyên gia và tổ chức du lịch hàng đầu Châu Á
bình chọn, dựa trên phản hồi của du khách khi sử dụng các sản phẩm dịch vụ khi
trải nghiệm. Giải thưởng là sự nỗ lực không ngừng trong việc cải thiện và phát
triển ngành du lịch được du lịch Việt Nam từ nhiều năm trước.
- Ngành du lịch của Việt Nam đóng góp trực tiếp khoảng 6,6% GDP và đóng
góp gián tiếp 13% GDP của cả nước, mức đóng góp bình qn của ngành du lịch
là 10% GDP. Theo số liệu thống kê được cung cấp bởi Bộ Văn hóa – Thể Thao
và Du lịch, Khách quốc tế đến Việt Nam trong quý IV năm 2018 đạt hơn 3,88
triệu lượt, tăng 11,7% so cùng kỳ năm trước. Tính chung cả năm 2018, khách

quốc tế đến nước ta ước tính đạt 15,5 triệu lượt người, tăng 19,9% (2,6 triệu lượt
khách) so với năm trước. Nhưng quảng bá du lịch Việt Nam hiện nay còn đang
chậm phát triển so với các nước trong khu vực. Trước đây, các nước Thái Lan,
Singapore, Malaysia... đều giống Việt Nam ở vạch xuất phát ban đầu về xúc tiến,
quảng bá du lịch chưa chuyên nghiệp.
- Tại buổi tọa đàm “Xây dựng khung chiến lược truyền thơng ngành Văn
hóa, Thể thao và Du lịch giai đoạn 2017 - 2020” do Bộ VH-TT&DL tổ chức tháng
12/2016, TS Nguyễn Anh Tuấn, Viện trưởng Viện Nghiên cứu Phát triển Du lịch
(Tổng cục Du lịch) nhận định: Các hoạt động xúc tiến, quảng bá du lịch Việt Nam
trên các phương tiện truyền thông nước ngồi cịn nhiều hạn chế so với nhiều đối
thủ cạnh tranh trong khu vực. Thông tin về du lịch Việt Nam còn thiếu và yếu. Ở
các nước như Thái Lan, Singapore… sử dụng hình thức e-marketing, quảng bá
trên mạng xã hội, phần mềm di động, thu phí tiện ích cho người dân và du khách
bằng thẻ du khách đa năng.… trong khi các thành phố lớn ở Việt Nam chưa có.
- Trên thế giới, xu hướng sử dụng dịch vụ trên internet để quyết định cho các
chuyến đi và nội dung hoạt động du lịch ngày càng tăng. Tại Việt Nam, theo khảo
sát của Công ty Nghiên cứu thị trường Q&Me, có 88% khách du lịch tra cứu thơng
tin qua mạng, trong đó, 35% thường xuyên sử dụng internet để tìm kiếm thơng tin
du lịch. Thơng tin du lịch trong nước được tìm kiếm thường liên quan đến điểm
đến, khách sạn, nhà hàng, kinh nghiệm du lịch... Những yếu tố này là nền tảng
thuận lợi để du lịch Việt Nam phát triển trong CMCN 4.0.
- Gần đây, du lịch Việt Nam có những chuyển động tích cực để sẵn sàng


6

bước vào cuộc cách mạng mới. Ở lĩnh vực trí tuệ nhân tạo trong CMCN 4.0, sản
phẩm “Hệ thống săn dữ liệu mạng xã hội” của tác giả Lê Công Thành và các cộng
sự Topica Al Lab. Sau đó, hệ thống này được Tổng cục Du lịch sử dụng để định
vị thương hiệu.

Các doanh nghiệp du lịch ở Việt Nam như Vietravel, Vietrantour, Five Stars
Travel… khá chủ động tiếp cận CMCN 4.0, coi đây là cơ hội nâng cao năng lực
cạnh tranh. Bắt đầu từ việc cơ bản như số hóa dữ liệu, bao gồm cập nhật thơng tin
tour tuyến, chương trình ưu đãi, hoạt động của doanh nghiệp lên website; ứng
dụng công nghệ mới để tăng trải nghiệm của khách hàng; nâng cấp phần mềm
điều hành tour; triển khai cổng thanh toán điện tử; thiết lập kênh tương tác trực
tiếp với khách... Việc chủ động nắm bắt cơ hội để CMCN 4.0 trở thành địn bẩy
phát triển, đó là hướng đi đúng của ngành Du lịch Việt Nam.
1.2. Khái niệm về Trí tuệ nhân tạo, Machine Learning, Deep Learning
1.2.1. Khái niệm Trí tuệ nhân tạo (AI – Artificail Intelligence)
a. Khái niệm
AI – Artificail Intelligence hay cịn gọi là Trí tuệ nhân tạo là một ngành khoa
học, kỹ thuật chế tạo máy móc thơng minh, đặc biệt là các chương trình máy tính
thơng minh. AI được thực hiện bằng cách nghiên cứu cách suy nghĩ của con người,
cách con người học hỏi quyết định và làm việc trong khi giải quyết một vấn đề
nào đó, và sử dụng những kết quả nghiên cứu này như một nền tảng để phát triển
các phần mềm và hệ thống thơng minh, từ đó áp dụng vào các mục đích khác nhau
trong cuộc sống. Nói một cách dễ hiểu thì AI là việc sử dụng, phân tích các dữ
liệu đầu vào nhằm đưa ra sự dự đoán rồi đi đến quyết định cuối cùng.
b. Phân loại công nghệ AI
Công nghệ AI phản ứng (Reactive Machine): dùng để phân tích những động
thái khả thi nhất của chính nó và đối thủ, từ đó đưa ra được giải pháp tối ưu nhất.
Công nghệ AI với bộ nhớ hạn chế: đây là loại có khả năng sử dụng những
kinh nghiệm trong quá khứ để đưa ra những quyết định trong tương lai. Công
nghệ AI này thường kết hợp với cảm biến môi trường xung quanh nhằm mục đích
dự đốn những trường hợp có thể xảy ra và đưa ra quyết định tốt nhất cho thiết
bị.
Lý thuyết trí tuệ nhân tạo: đây là một thuật ngữ tâm lý có thể học hỏi cũng
như tự suy nghĩ, sau đó áp dụng những gì học được để thực hiện một việc cụ thể.
Hiện nay công nghệ AI này vẫn chưa trở thành một phương án khả thi.



7

Tự nhận thức: chúng có khả năng tự nhận thức về bản thân, có ý thức và
hành xử như con người vậy. Thậm chí chúng cịn có thể bộc lộ cảm xúc cũng như
hiểu được những cảm xúc. Đây được xem là bước phát triển cao nhất của công
nghệ AI cho đến thời điểm hiện tại, thế nhưng công nghệ này vẫn chưa khả thi.
c. Ứng dụng của AI
Ứng dụng trong lĩnh vực sức khỏe.
Sản sinh ngôn ngữ tự nhiên (Nature Language Generation, NLG): tạo ra các
văn bản từ những dữ liệu máy tính tự tổng hợp được.
Nhận diện giọng nói: chuyển đổi lời nói của con người sang dạng mà các
ứng dụng máy tính có thể hiểu được.
Quản trị viên ảo: từ những chatbot đơn giản cho đến những hệ thống tiên tiến
có thể kết nối được với con người, công nghệ này đang được sử dụng trong dịch
vụ khách hàng, hỗ trợ người dùng và quản lý nhà thông minh.
Nền tảng máy học (Machine Learning): cung cấp các thuật tốn, API, bộ
cơng cụ phát triển và huấn luyện, dữ liệu cũng như các cơng nghệ điện tốn để
thiết kế, huấn luyện và triển khai các mơ hình máy học vào trong các ứng dụng,
tiến trình và máy móc.
Phần cứng tối ưu hóa AI: bao gồm các bộ xử lý GPU và các thiết bị đặc biệt
được thiết kế để có thể thực hiện được các cơng việc của trí tuệ nhân tạo một cách
hiệu quả nhất. Để xử lý các AI tốt nhất chúng ta cần phải trang bị một bộ máy
tính chuyên dụng cho ứng dụng AI – Trí tuệ nhân tạo (Deep Learning), đây là
những bộ PC mà được xây dựng rất là đặc biệt, chạy song song nhiều card màn
hình.
Quản lý ra quyết định: đây là công nghệ đưa các quy tắc và logic vào trong
hệ thống AI để sử dụng cho việc thiết lập/huấn luyện ban đầu nhằm giúp chúng
có khả năng duy trì và điều chỉnh liên tục.

Nền tảng Deep Learning: là một lĩnh vực đặc biệt trong máy học (Machine
Learning), Deep Learning là một chương trình chạy trên một mạng thần kinh nhân
tạo, có khả năng huấn luyện máy tính học một lượng rất lớn dữ liệu.
Sinh trắc học: công nghệ này cho phép tương tác tự nhiên hơn giữa con người
và máy móc, bao gồm cả nhận diện hình ảnh, dấu vân tay, giọng nói và cử chỉ con
người.
Quy trình tự động hóa robot: sử dụng mã hóa và những phương pháp khác để tự
động hóa hoạt động của con người bằng robot để hỗ trợ công việc hiệu quả hơn.


8

1.2.2. Machine Learning
a. Khái niệm
Machine Learning (Học máy) là một bộ phận của Trí tuệ nhân tạo (AI), sử
dụng các thuật tốn cho phép máy tính có thể học từ dữ liệu để thực hiện các cơng
việc thay vì được lập trình một cách rõ ràng. Nó có nghĩa rằng, chúng ta có thể
lập trình cho máy tính có khả năng tự học.
b. Phân loại thuật toán Machine Learning
Các thuật tốn học máy được giám sát: nó có thể áp dụng những gì đã được
gắn nhãn để dự đốn các sự kiện trong tương lai. Bắt đầu từ việc phân tích một
tập dữ liệu huấn luyện đã biết, thuật tốn học tạo ra một hàm được suy ra để đưa
ra dự đoán về các giá trị đầu ra.
Các thuật toán học máy không giám sát: được sử dụng khi thông tin được sử
dụng để đào tạo không được phân loại cũng không được dán nhãn. Nghiên cứu
học tập không giám sát làm thế nào các hệ thống có thể suy ra một chức năng để
mô tả một cấu trúc ẩn từ dữ liệu khơng được gắn nhãn.
Các thuật tốn Machine Learning bán giám sát: các thuật toán học máy nằm
ở đâu đó giữa học máy có giám sát và khơng giám sát, vì chúng sử dụng cả dữ
liệu được gắn nhãn và không nhãn – thường là một lượng nhỏ dữ liệu được gắn

nhãn và một lượng lớn dữ liệu khơng được gắn nhãn.
Thuật tốn học máy tăng cường: là một phương pháp học tương tác với mơi
trường của nó bằng cách tạo ra các hành động và phát hiện ra các lỗi hoặc manh
mối. Thử nghiệm và tìm kiếm lỗi và manh mối. Phương pháp này cho phép máy
móc, máy tính với phần mềm tự động xác định hành vi lý tưởng trong một bối
cảnh cụ thể để tối đa hóa hiệu suất của nó.
c. Một số thuật tốn Machine Learning
Support Vector Machines (SVM): một thuật toán cố gắng xây dựng một siêu
mặt phẳng trong không gian nhiều chiều để phân biệt các đối tượng ở các lớp khác
nhau. Làm sao cho khoảng cách giữa 2 đối tượng khác label gần nhau nhất có
khoảng cách cực đại. Ý tưởng của thuật tốn cực kỳ đơn giản, nhưng mơ hình này
lại rất phức tạp và có hiệu quả. Thực tế ở một số bài tốn, SVM là một mơ hình
machine learning cho hiệu quả tốt nhất.
Mơ hình xác suất (Probabilistic Models): các mơ hình này cố gắng giải quyết
bài tốn bằng phân bố xác suất. Một thuật toán phổ biến nhất là phân loại Navie
Bayes. Nó sử dụng lý thuyết Bayes và giả thiết các đặc trưng là độc lập. Điểm


9

mạnh của mơ hình xác suất là đơn giản nhưng hiệu quả. Đầu ra của nó khơng chỉ
là label mà cịn đi kèm xác suất thể hiện độ chính xác cho kết quả đó.
Học sâu (Deep Learning): hiện đang là xu hướng trong Machine Learning
dựa trên các mơ hình mạng nơ ron nhân tạo (Artificial Neural Networks). Mạng
nơ ron có cách tiếp cận kết nối và sử dụng ý tưởng theo cách bộ não con người
làm việc. Chúng bao gồm số lượng lớn các nơ ron liên kết với nhau, được tổ chức
thành các lớp (layers). Học sâu liên tục được phát triển với các cấu trúc mới sâu
hơn, xây dựng các cấu trúc biểu diễn các đặc trưng quan trọng một cách tự động.
1.2.3. Deep Learning
a. Khái niệm

Deep Learning (Học sâu) là một phương pháp của máy học dựa trên một tập
hợp các thuật tốn để cố gắng mơ hình dữ liệu trừu tượng hóa ở mức cao bằng
cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm
nhiều biến đổi phi tuyến. Hay nói cách khác học sâu là một kỹ thuật trong học
máy, sử dụng các thuật toán liên quan đến các thuật toán dựa trên cấu trúc và hoạt
động của bộ não động vật gọi là mạng nơ ron nhân tạo dựa trên việc phân tích dữ
liệu về nhiều đặc trưng hơn nhờ sự hỗ trợ khả năng tính tốn của máy tính.
b. Các thuật tốn Deep Learning sử dụng
K-nearest neighbors: là một thuật toán đơn giản và được giám sát để giải
quyết cả hai vấn đề phân loại và hồi quy.
Hierarchical Clustering: nhóm các đối tượng tương tự thành cụm. Mỗi cụm
khác biệt với các cụm khác.
K-means Clustering: gán các điểm dữ liệu cho các danh mục hoặc các cụm,
bằng cách tìm khoảng cách trung bình giữa các điểm dữ liệu.
Artificial Neural Networks: là một lưới nhiều lớp được kết nối với nhau đầy
đủ để xem xét dữ liệu.
Recurrent Neural Networks: sử dụng đầu ra từ bước trước để làm đầu vào
cho bước tiếp theo.
Convolutional Neural Networks: lấy một hình ảnh đầu vào, xử lý và phân
loại nó theo các loại nhất định.
Linear Regression: là phương pháp thống kê mạnh mẽ để tạo ra những hiểu
biết về hành vi của người tiêu dùng, về kinh doanh,…
Logical Regression: được sử dụng khi dữ liệu có thể phân tách tuyến tính
hoặc phân loại và kết quả là nhị phân.


10

c. Các ứng dụng của Deep Learning
Trợ lý ảo: Amazon Echo, Google Assistant, Alexa và Siri đều đang khai thác

các khả năng học sâu để giúp hiểu lời nói của người dùng và ngôn ngữ con người
sử dụng khi họ tương tác với máy.
Dịch thuật: thuật tốn học sâu có thể tự động dịch giữa các ngơn ngữ. Điều
này có thể hỗ trợ cho khách du lịch, doanh nhân và những người làm việc trong
chính phủ.
Ơ tơ tự lái: Deep Learning cho phép một chiếc xe không người lái điều hướng
bằng cách đưa cho nó hàng triệu tình huống, giúp nó học và xử lý, mang đến một
chuyến đi an toàn và thoải mái cho người dùng. Dữ liệu từ các cảm biến. GPS,
lập bản đồ địa lý được kết hợp với nhau trong quá trình học sâu để tạo ra các mơ
hình chun xác định đường đi, biển báo đường phố, các yếu tố động như giao
thông, tắc nghẽn và người đi bộ.
Cá nhân hóa: lĩnh vực thương mại và giải trí như Amazon và Netflix…đang
cố gắng xây dựng năng lực Deep Learning để cung cấp cho người dùng một hệ
thống mua sắm hoặc giải trí được cá nhân hóa.
Chăm sóc sức khỏe: từ trợ lý ảo cá nhân đến các bài tập thể dục phục hồi sức
khỏe, máy tính ghi lại rất nhiều dữ liệu về tình trạng sinh lý và tinh thần mỗi giây
của bệnh nhân. Phát hiện sớm các bệnh và tình trạng, hình ảnh định lượng, phẫu
thuật robot.
Nhận dạng hình ảnh: mạng thần kinh chuyển đổi cho phép xử lý hình ảnh kỹ
thuật số có thể được phân tách thành nhận dạng khuôn mặt, nhận dạng đối tượng,
phân tích chữ viết tay… Hiện nay máy tính có thể nhận dạng hình ảnh bằng Deep
Learning. Cơng nghệ nhận dạng hình ảnh dựa trên cơng nghệ xử lý hình ảnh kỹ
thuật số và sử dụng cơng nghệ trí tuệ nhân tạo, đặc biệt là phương pháp học máy,
để làm cho máy tính nhận ra nội dung trong hình ảnh. Các ứng dụng khác bao
gồm tơ màu hình ảnh đen trắng và thêm âm thanh vào các bộ phim câm.
Nhận dạng khuôn mặt: học sâu được sử dụng để nhận diện khn mặt khơng
chỉ vì mục đích bảo mật mà còn cho việc gắn thẻ mọi người trên bài đăng
Facebook. Những thách thức đối với thuật toán học sâu trong nhận dạng khn
mặt là nhận biết chính người đó ngay cả khi họ thay đổi kiểu tóc, cạo râu hoặc khi
hình ảnh được chụp trong điều kiện thiếu sáng.



11

Hình 1-1 Mối liên hệ của AI, Machine Leaning, Deep Learning
1.2.4. Tổng quan các phương pháp Deep Learning trong phát hiện đối tượng
và nhận dạng khuôn mặt
a. Facenet: Triplet Loss
Facenet [2] là mơ hình mạng học sâu dùng hàm học Triplet Loss. Ở giai đoạn
huấn luyện, ta cần tìm bộ ba vector đặc trưng của các mẫu, trong đó hai mẫu cùng
lớp và một mẫu khác lớp. Với bộ ba này ta cần cực tiểu hóa khoảng cách của cặp
mẫu dương và cực đại hóa khoảng cách của cặp mẫu âm. Công thức Triplet Loss:
𝑛
2

2

L(𝐴, 𝑃, 𝑁) = ∑ 𝑚𝑎𝑥 (||f(𝐴𝑖 ) − f(𝑃𝑖 )||2 − ||f(𝐴𝑖 ) − f(𝑁𝑖 )||2 + 𝛼, 0)
𝑖=0

Giải thích kí hiệu:


A là mẫu Anchor đầu vào



P: hình ảnh dương




N: hình ảnh âm



𝜶 : biên độ giữa hình ảnh âm và hình ảnh dương.



𝒇 : vec tơ đặc trưng

Thử thách của việc huấn luyện mô hình dùng Triplet Loss đó là ta phải tìm
bộ ba mẫu trong bộ dữ liệu. Cặp mẫu dương nhóm tác giả chọn cặp mẫu dương
có khoảng cách xa nhau nhất. Đối với cặp mẫu âm thì chọn cặp có khoảng cách
gần nhau nhất. Việc chọn bộ ba có tính chất như trên là kéo cặp mẫu dương cùng
lớp về gần nhau hơn và đẩy xa nhau ra với mẫu khác nhóm. Kết quả là mơ hình


12

có khả năng rút trích đặc trưng phân biệt cho từng người và đặc trưng của từng
người sẽ ở gần một tâm cụm nào đó trong miền khơng gian đặc trưng.

Hình 1-2 Minh họa ý tưởng Triplet Loss
Hình trên minh họa ý tưởng chính của Triplet Loss. Các đặc trưng của mẫu
âm ban đầu chưa phân tách có thể nằm gần trong nhóm mẫu dương. Qua q trình
học điều chỉnh bằng hàm lỗi Triplet, các đặc trưng của mẫu dương cùng nhóm sẽ
tách biệt nhau ra.
b. Mạng nơ ron CNN – VGG16
Kiến trúc mạng CNN [12]: các lớp cơ bản trong một mạng CNN bao gồm:

lớp tích chập (Convolutional); lớp kích hoạt phi tuyến ReLU (Rectified Linear
Unit); lớp lấy mẫu (Pooling); lớp kết nối đầy đủ (Fully connected) được thay đổi
về số lượng và cách sắp xếp để tạo ra các mơ hình huấn luyện phù hợp cho từng
bài tốn khác nhau.

Hình 1-3 Kiến trúc cơ bản của một mạng CNN
Lớp tích chập: đây là thành phần quan trọng nhất trong mạng CNN, thể hiện
sự liên kết cục bộ thay vì kết nối tồn bộ các điểm ảnh. Các liên kết cục bộ được
tính tốn bằng phép tích chập giữa các giá trị điểm ảnh trong vùng ảnh cục bộ với
các bộ lọc filters có kích thước nhỏ.


13

Hình 1-4 Bộ lọc tích chập được sử dụng trên ma trận điểm ảnh.
Trong hình 1-4, bộ lọc được sử dụng là một ma trận có kích thước 3x3, bộ
lọc này dịch chuyển lần lượt qua từng vùng ảnh đến khi hoàn thành quét toàn bộ
bức ảnh, tạo ra một bức ảnh mới có kích thước nhỏ hơn hoặc bằng với kích thước
ảnh đầu vào. Kích thước này được quyết định tùy theo kích thước các khoảng
trắng được thêm ở viền bức ảnh gốc và được tính theo cơng thức sau:

Trong đó: O: kích thước ảnh đầu ra; i: kích thước ảnh đầu vào; p: kích thước
khoảng trắng phía ngồi viền của ảnh gốc; k: kích thước bộ lọc; s: bước trượt của
bộ lọc.
Như vậy, sau khi đưa một bức ảnh đầu vào cho lớp tích chập nhận được kết
quả đầu ra là một loạt ảnh tương ứng với các bộ lọc đã được sử dụng để thực hiện
phép tích chập. Các trọng số của các bộ lọc này được khởi tạo ngẫu nhiên trong
lần đầu tiên và sẽ được cập nhật trong q trình huấn luyện.
Lớp kích hoạt phi tuyến ReLU: được xây dựng để đảm bảo tính phi tuyến
của mơ hình huấn luyện sau khi đã thực hiện một loạt các phép tính tốn tuyến

tính qua các lớp tích chập. Lớp kích hoạt phi tuyến sử dụng các hàm kích hoạt phi
tuyến như ReLU hoặc sigmoid, tanh,… để giới hạn phạm vi biên độ cho phép của
giá trị đầu ra. Trong đó các hàm kích hoạt này, hàm ReLU được chọn do cài đặt
đơn giản, tốc độ xử lý nhanh mà vẫn đảm bảo được tính tốn hiệu quả. Phép tính
tốn của hàm ReLU chỉ đơn giản là chuyển tất cả các giá trị âm thành giá trị 0.
Lớp ReLU được áp dụng ngay phía sau lớp tích chập, với đầu ra là một ảnh
mới có kích thước giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn


14

tương tự, trừ các giá trị âm đã bị loại bỏ.
F(x) = max (0,x)
Lớp lấy mẫu: được đặt sau lớp tích chập và lớp ReLU để làm giảm kích
thước ảnh đầu ra trong khi vẫn giữ được các thông tin quan trọng của ảnh đầu vào.
Việc giảm kích thước dữ liệu có tác dụng làm giảm số lượng tham số cũng như
tăng hiệu quả tính tốn. Lớp lấy mẫu cũng sử dụng một cửa sổ trượt để quét toàn
bộ các vùng trong ảnh như lớp tích chập, và thực hiện phép lấy mẫu thay vì phép
tích chập, sẽ chọn lưu lại một giá trị duy nhất đại diện cho toàn bộ thơng tin của
vùng ảnh đó.
Các phương thức lấy mẫu thường được sử dụng nhất hiện nay, đó là Max
Pooling (lấy giá trị điểm ảnh lớn nhất) và Avarage Pooling (lấy giá trị trung bình
của các điểm ảnh trong vùng ảnh cục bộ).

Hình 1-5 Phương thức Max Pooling và Avarage Pooling
Như vậy, với mỗi ảnh đầu vào được đưa qua lấy mẫu sẽ thu được một ảnh
đầu ra tương ứng, có kích thước giảm xuống đáng kể nhưng vẫn giữ được các đặc
trưng cần thiết cho q trình tính tốn và nhận dạng.
Lớp kết nối đầy đủ: được thiết kế tương tự như trong mạng nơ ron truyền
thống, tất cả các điểm ảnh được kết nối đầy đủ với node trong lớp tiếp theo.


Hình 1-6 Kiến trúc của mạng VGG16


15

c. Caffe
- Caffe [13] là một Deep Learning framework được phát triển bởi Berkeley
AI Research (BAIR) và cộng đồng người dùng. Deep Neural Networks được định
nghĩa trong Caffe theo layer-by-layer. Dữ liệu được đưa vào qua data layers. Tuy
layers mới phải được viết theo C++/Cuda nhưng có một vài layer được hỗ trợ trên
Python.
Các bước đào tạo CNN bằng Caffe:
- Chuẩn bị dữ liệu: Trong bước này, hình ảnh sẽ được làm sạch và lưu trữ
chúng ở định dạng có thể được sử dụng bởi Caffe. Ở đây, chúng ta sử dụng bộ dữ
liệu dataset là ImageNet.
- Định nghĩa mô hình: Trong bước này, mơ hình được chọn là CNN và các
tham số của nó sẽ được xác định rồi trong tệp cấu hình có phần mở rộng . prototxt
- Định nghĩa bộ giải: Bộ giải có trách nhiệm tối ưu hóa mơ hình. Xác định
các tham số bộ giải trong một tệp cấu hình có phần mở rộng . prototxt
- Đào tạo mơ hình: Đào tạo mơ hình bằng cách thực hiện một lệnh Caffe từ
thiết bị đầu cuối. Sau khi đào tạo mơ hình, chúng ta sẽ có được mơ hình được đào
tạo trong một tệp có phần mở rộng .caffemodel.

Hình 1-7 Đường ống R – CNN sử dụng Caffe cho phát hiện đối tượng
Caffe có thể xử lý hơn 60 triệu ảnh mỗi ngày với một GPU NVIDIA K40,
đó là 1ms/hình ảnh cho suy luận và 4ms/ hình ảnh để học tập.
d. OpenFace
OpenFace [2] là một mơ hình nhận dạng khn mặt học sâu được phát triển
bởi BrandonAmos, Bartosz Ludwiczuk và Mahadev Sytyanarayanan, mơ hình tập

trung vào nhận dạng khuôn mặt thời gian thực.
OpenFace sử dụng kiến trúc Google Facenet để trích xuất đặc trưng và sử
dụng hàm Triplet Loss để kiểm tra mức độ chính xác của mạng phân loại một
khn mặt. Nó thực hiện điều này bằng cách huấn luyện trên ba hình ảnh khác


16

nhau trong đó một hình ảnh khn mặt được gọi là anchor (đầu vào), sau đó một
hình ảnh khác của cùng một người (positive), trong khi hình ảnh thứ 3 là hình ảnh
của một người khác (negative).

Hình 1-8 Mơ hình OpenFace


×