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

(Luận văn thạc sĩ) Nghiên cứu chế tạo thiết bị nhận diện đối tượng ứng dụng thư viện xử lý ảnh TENSORFLOW

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 (889.1 KB, 62 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------

TRƯƠNG MINH ĐỨC

NGHIÊN CỨU CHẾ TẠO THIẾT BỊ NHẬN DIỆN ĐỐI TƯỢNG ỨNG
DỤNG THƯ VIỆN XỬ LÝ ẢNH TENSORFLOW

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI-2021


HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------

TRƯƠNG MINH ĐỨC

NGHIÊN CỨU CHẾ TẠO THIẾT BỊ NHẬN DIỆN ĐỐI TƯỢNG ỨNG
DỤNG THƯ VIỆN XỬ LÝ ẢNH TENSORFLOW
CHUYÊN NGÀNH : KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 8.52.02.08
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. ĐẶNG HOÀI BẮC

HÀ NỘI-2021



i

LỜI CAM ĐOAN
Tôi cam đoan: Luận văn tốt nghiệp với đề tài “Nghiên cứu chế tạo thiết bị nhận
diện đối tượng ứng dụng thư viện xử lý ảnh Tensorflow” là cơng trình nghiên cứu của
cá nhân tơi, các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
cơng bố trong bất kỳ cơng trình nào khác.
Tơi xin chịu mọi trách nhiệm về cơng trình nghiên cứu của riêng mình !
Tác giả luận văn


ii

LỜI CẢM ƠN
Lời cảm ơn đầu tiên em xin gửi đến PGS.TS. Đặng Hoài Bắc người đã hướng
dẫn em rất nhiều từ khi còn là sinh viên đại học tại học viện cho đến bây giờ khi đã ra
trường nhiều năm học và quay trở lại học tập các môn học và tiến hành xây dựng
những bước đầu cho đến khi hoàn thành luận văn “Nghiên cứu chế tạo thiết bị nhận
diện đối tượng ứng dụng thư viện xử lý ảnh Tensorflow”.
Lời cảm ơn tiếp theo em xin gửi đến các Thầy, Cô giáo trong Khoa quốc tế và
đào tạo sau đại học, đối với em bất kể Thầy Cô giáo nào của học viên đã từng dạy em
luôn để lại trong em những tình cảm nồng thắm và sâu sắc nhất. Các Thầy Cơ ln
nhiệt tình và tâm huyết với mỗi bài giảng, sự tận tâm đó là động lực để em học tập và
nghiên cứu rất nhiều.
Thời gian thực hiện luận văn cũng là khoảng thời gian phải dãn cách, việc học
tập và tiến hành các thử nghiệm đã gặp những khó khăn nhất định, nhưng bên cạnh đó
ln có những bạn học viên giúp đỡ, những lời động viên của bạn bè đã giúp em hoàn
thành tốt luận văn. Trong lúc hồn thành cũng có những điểm chưa thơng suốt, rất
mong nhận được sự đóng góp của Thầy Cô và các bạn học viên quan tâm.
Xin chân thành cảm ơn!



iii

MỤC LỤC

LỜI CAM ĐOAN ........................................................................................................................ i
LỜI CẢM ƠN............................................................................................................................. ii
MỤC LỤC .................................................................................................................................iii
DANH MỤC TỪ VIẾT TẮT ..................................................................................................... v
DANH MỤC CÁC BẢNG ........................................................................................................ vi
DANH MỤC CÁC HÌNH ........................................................................................................ vii
MỞ ĐẦU .................................................................................................................................... 1
CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ ẢNH .............................................. 3
1.1

Tổng quan về học máy ................................................................................................. 3

1.1.1
1.2

Sự hình thành và phát triển của học máy.............................................................. 3

Các mơ hình học máy và học sâu ................................................................................ 6

1.2.1

Mơ hình học có giám sát ...................................................................................... 7

1.2.2


Mơ hình học khơng giám sát ................................................................................ 8

1.2.3

Mơ hình học bám giám sát ................................................................................. 10

1.3

Thuật tốn phổ biến trong học máy ........................................................................... 11

1.4

Thư viện TensorFlow ................................................................................................. 15

1.4.1

Tổng quan về thư viện TensorFlow ....................................................................... 15

1.4.2

Đặc điểm của TensorFlow...................................................................................... 17

CHƯƠNG 2: XÂY DỰNG MƠ HÌNH HỆ THỐNG NHẬN DIỆN ĐỐI TƯỢNG BẰNG
CƠNG NGHỆ XỬ LÝ ẢNH .................................................................................................... 19
2.1

Bài tốn xử lý ảnh bằng học máy............................................................................... 19

2.1.1


Mạng Neural truyền thống.................................................................................. 20

2.1.2

Mạng neural tích chập (CNN – Convolution Neural Network) ......................... 22

2.2

Máy tính nhúng trong xử lý ảnh ................................................................................ 25

2.2.1

Một số máy tính nhúng ....................................................................................... 25

2.2.2

Cài đặt thư viện TensorFlow trên Raspberry Pi ................................................. 28

2.3

Mơ hình hệ thống của thiết bị nhận diện đối tượng ................................................... 29

2.3.1

Thuật toán Gradient Descent .................................................................................. 29

2.3.2

Gradient Descent trên ngôn ngữ Python ................................................................ 30


2.3.3

Biến thể của Gradient Descent ............................................................................... 32

2.4

Kết luận ...................................................................................................................... 34

CHƯƠNG 3: THIẾT KẾ CHẾ TẠO THỬ NGHIỆM HỆ THỐNG ........................................ 35
3.1

Thiết kế hệ thống ....................................................................................................... 35

3.1.1
3.2
3.2.1

Lựa chọn thiết bị ................................................................................................. 35

Thiết lập phần mềm hệ thống .................................................................................... 39
Thiết lập Python ..................................................................................................... 39


iv
Thiết lập TensorFlow ............................................................................................. 40

3.2.2
3.3


Lập trình và đánh giá hệ thống .................................................................................. 43

3.3.1

Lập trình hệ thống .............................................................................................. 43

3.3.2

Đánh giá hệ thống ............................................................................................... 46

3.4

Kết luận ...................................................................................................................... 47

KẾT LUẬN .............................................................................................................................. 48
DANH MỤC CÁC TÀI LIỆU THAM KHẢO ........................................................................ 49
PHỤ LỤC ................................................................................................................................. 50


v

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

Tiếng Anh

Tiếng Việt

AI


Artificial Intelligence

Trí tuệ nhân tạo

ML

Machine Learning

Học máy

IoT

Internet of Thing

Vạn vật kết nối

CNN

Convolution Neural Network

Mạng Neural tích chập

MNIST

Modified National Institute of

Tập dữ liệu chữ viết tay tiêu

Standards and Technology


chuẩn

SVM

Support Vector Machine

Máy hỗ trợ vector

CPU

Central Processing Unit

Bộ xử lý trung tâm

GPU

Graphics Processing Unit

Bộ xử lý đồ họa

CUDA

Compute Unified Device

Kiến trúc thiết bị tính tốn hợp

Architecture

nhất


M2M

Machine to Machine

Máy tới máy

MLP

Multilayer Perceptron

Mạng nhiều lớp lan truyền thẳng

ReLU

Rectified Linear Unit

Điều chế biên độ xung

PCM

Pulse Code Modulation

Đơn vị hiệu chỉnh tuyến tính

GD

Gradient Descent

SNR


Signal to noise ratio

Tỉ số tín hiệu trên nhiễu

OpenCV

OpenSource Computer Vision

Thị giác máy tính mã nguồn mở

WAN

Wide High Frequency

Mạng diện rộng


vi

DANH MỤC CÁC BẢNG
Bảng 1.1: Một số mốc quan trọng của học máy ......................................................................... 6
Bảng 2.1: So sánh ba loại máy tính nhúng phổ biến ................................................................ 27


vii

DANH MỤC CÁC HÌNH
Hình 1.1: Mơ hình phép thử Turning ......................................................................................... 4
Hình 1.2: Xe tự lái Tesla model X.............................................................................................. 5
Hình 1.3: Mơ tả luồng hoạt động của học có giám sát ............................................................... 7

Hình 1.4: Đồ thị hồi quy tuyến tính ............................................................................................ 8
Hình 1.5: Mơ hình thuật tốn học bán giám sát........................................................................ 10
Hình 1.6: Điểm hội tụ của phương pháp Gradient Descent ..................................................... 13
Hình 1.7: So sánh tốc độ của các thuật tốn và tiêu tốn bộ nhớ ............................................... 15
Hình 1.8: Khả năng nhận diện số qua ảnh nhiễu dùng TensorFlow ......................................... 17
Hình 2.1: Chạy thử xe tự lái thế hệ thứ tư của VinFast ............................................................ 19
Hình 2.2: Kiến trúc của mạng Neural ....................................................................................... 20
Hình 2.3: Dữ liệu của bài tốn phân loại .................................................................................. 21
Hình 2.4: Bài tốn phân loại hai giá trị dùng mạng tích chập .................................................. 22
Hình 2.5: Kiến trúc một CNN .................................................................................................. 23
Hình 2.6: Kết quả sau khi nhân tích chập ................................................................................. 23
Hình 2.7: Kết quả sau khi tiến hành hợp nhất .......................................................................... 24
Hình 2.8: Trình cài đặt gói TensorFlow trên trang chủ ............................................................ 28
Hình 2.10: tập dữ liệu sao khi tạo ngẫu nhiên .......................................................................... 31
Hình 2.11: Ví dụ về Gradient Desent và biến thể momentum ................................................. 33
Hình 3.1: mơ hình hệ thống nhận diện đối tượng ứng dụng thư viện TensorFlow .................. 35
Hình 3.2: Camera trong xử lý ảnh ............................................................................................ 36
Hình 3.3: Một số định dạng cảm biến ảnh phổ biến ................................................................. 37
Hình 3.4: Camera sử dụng cho đề tài với độ phân giải HD720P ............................................. 37
Hình 3.7: Cài đặt thành cơng Python ........................................................................................ 40
Hình 3.8: Phát hiện đối tượng trên đường ứng dụng OpenCV ................................................. 43
Hình 3.9: Phát hiện đặc trưng của đối tượng ............................................................................ 46
Hình 3.10: Đồ thị của quá trình huấn luyện ............................................................................. 47


1

MỞ ĐẦU
Thuật ngữ cách mạng công nghiệp lần thứ tư chính thức được đặt nền móng tại
hội chợ cơng nghệ Hannover thuộc Cộng hòa Liên bang Đức vào năm 2011, trải qua

một thập kỉ, khái niệm cách mạng công nghiệp lần thứ tư hay ngắn gọn hơn là cách
mạng 4.0 đã khơng cịn là một vấn đề mới đối với giới nghiên cứu cho đến đại bộ phận
người dân. Cách mạng công nghiệp đang diễn ra mạnh mẽ ở khắp mọi nơi trên thế
giới, đặc biệt là khu vực Châu Á Thái Bình Dương, và Việt Nam là một quốc gia chịu
sự ảnh hưởng trực tiếp. Đặc trưng của những cuộc cách mạng công nghiệp trước đây là
sự ứng dụng những kỹ thuật khác nhau vào sản xuất. Cuộc cách mạng Công nghiệp lần
thứ nhất dùng máy hơi nước để cơ khí hóa sản xuất. Cách mạng lần thứ hai sử dụng
điện năng phục vụ cho sản xuất hàng loạt. Cách mạng lần thứ ba sử dụng điện tử và
công nghệ thơng tin để tự động hóa sản xuất. Và giờ đây Cách mạng Công nghiệp lần
thứ tư dựa trên nền tảng cuộc Cách mạng lần thứ ba và đi kèm với cách mạng số khởi
nguồn từ giữa thế kỷ trước để làm nền móng, đặc trưng của cuộc cách mạng lần này là
ranh giới giữa các yếu tố vật chất, kĩ thuật số, sinh học sẽ bị xóa mờ. Sự cải tiến công
nghệ đến mức tinh gọn đồng thời phát triển những công nghệ mới đã làm thay đổi cả
chất và lượng của lực lượng lao động trên toàn thế giới, những cơng nghệ như: AI- trí
tuệ nhân tạo, công nghệ robot, BigData-dữ liệu lớn, công nghệ Nano, công nghệ sinh
học và in 3D, phương tiện tự điều khiển và thiết bị IoT sẽ là diện mạo của của cuộc
cách mạng công nghiệp 4.0. Đặc biệt, mạng vạn vật kết nối-IoT có sự lớn mạnh hơn
bao giờ hết, theo báo cáo mới đây của McKinsey, Công ty hàng đầu thế giới trong lĩnh
vực tư vấn quản lý và chiến lược kinh doanh, tỷ lệ doanh nghiệp sử dụng IoT tăng từ
13% lên 25% [7], trong giai đoạn từ năm 2014-2019. Các ứng dụng của công nghệ IoT
rất đa dạng, bao gồm công nghiệp, nông nghiệp, bán lẻ và dịch vụ y tế... Nghiên cứu
chỉ ra rằng các ngành dịch vụ cơng cộng, ví dụ như đồng hồ đo thơng minh, là phân
khúc được lắp đặt và sử dụng cao nhất, chiếm 1/4 tổng số thiết bị đầu cuối. Báo cáo
nhấn mạnh, số lượng thiết bị IoT trên toàn thế giới đang tăng vọt. Ước tính sẽ có hơn
75 tỷ thiết bị IoT được lắp đặt vào năm 2025 [8], gấp 5 lần so với năm 2015. Sự tăng
trưởng này đã tạo ra cơ hội cho các doanh nghiệp lớn và nhỏ để xây dựng các sản
phẩm IoT. Ở nước ta, việc nghiên cứu các công nghệ liên quan của cách mạng công
nghiệp 4.0 cũng được đặt biệt chú trọng, nhiều tập đoàn lớn như Viettel, FPT,
BKAV… và nhiều viện nghiên cứu trên cả nước đã và đang tập trung đầu tư nguồn lực



2

để từng bước làm chủ công nghệ. Trong các thiết bị IoT nói chung và IoT liên quan
đến xử lý ảnh nói riêng chiếm một vai trị quan trọng trong q trình làm chủ các cơng
nghệ chủ đạo của cách mạng công nghiệp lần thứ tư. Ứng dụng của công nghệ xử lý
ảnh, đặc biệt là xử lý ảnh liên quan đến đối tượng cụ thể như con người, hay các vật
dụng định danh như chứng minh nhân dân, biển số xe…ngày càng được quan tâm.
Hiện tại, các quốc gia phát triển, nhất là các quốc gia có dân số lớn rất chú trọng đến
lĩnh vực này, đối với Việt Nam, một quốc gia với 96 triệu dân và dự kiến tăng lên 120
triệu dân vào năm 2050, thì việc làm chủ công nghệ nhận dạng đối tượng dựa trên xử
lý ảnh là hết sức quan trọng. Ngày 03/06/2020 Thủ tướng Chính phủ ban hành Quyết
định số 749/QĐ-TTg phê duyệt “Chương trình Chuyển đổi số quốc gia đến năm 2025,
định hướng đến năm 2030” với mục tiêu Việt Nam gia nhập nhóm 50 nước dẫn đầu về
Chính phủ điện tử (EGDI). Theo đó, Việt Nam trở thành quốc gia số, ổn định và thịnh
vượng, tiên phong thử nghiệm các công nghệ và mơ hình mới, chính bởi vậy, nghiên
cứu và làm chủ công nghệ cũng như chế tạo được các thiết bị IoT có khả năng xử lý
ảnh là hết sức cấp thiết và cần được xúc tiến.
Vì các lý do trên học viên xin chọn đề tài luận văn tốt nghiệp là "Nghiên cứu
chế tạo thiết bị nhận diện đối tượng ứng dụng thư viện xử lý ảnh tensorflow".
Sau quá trình tìm hiểu và nghiên cứu cũng như thực hiện các thử nghiệm nhất
định, học viên đã xây dựng luận văn với kết cấu gồm 3 phần chính như sau:
Chương 1: Tổng quan về học máy và xử lý ảnh
Chương 2: Xây dựng mơ hình hệ thống thiết bị nhận diện đối tượng bằng
công nghệ xử lý ảnh
Chương 3: Thiết kế chế tạo thử nghiệm hệ thống
Do hạn chế về kiến thức của bản thân cũng như thời gian nghiên cứu, trong luận
văn không thể tránh khỏi những điểm thiết xót. Rất mong nhận được sự đóng góp ý
kiến của Thầy Cô giáo cũng như các bạn Học viên quan tâm đến đề tài để luận văn
được hoàn thiện hơn.



3

CHƯƠNG 1: TỔNG QUAN VỀ HỌC MÁY VÀ XỬ LÝ ẢNH
Chương 1 của luận văn học viên sẽ trình bày về bối cảnh của cuộc cách mạng
công nghiệp lần thứ tư và vai trò của học máy trong cuộc cách mạng này, đồng thời
nội dung chương 1 cũng sẽ khái qt các mơ hình học máy, học sâu cũng như các
thuật toán huấn luyện học máy và bộ thư viện Tensorflow.

1.1 Tổng quan về học máy
Mạng vạn vật kết nối- Internet of Things (IoT) là một hệ sinh thái vô cùng lớn,
bao hàm nhiều mơ hình, nhiều thiết bị cũng như cách thức tiếp cận và xây dựng đa
dạng, tạo thành một hệ sinh thái phức tạp. Thiết kế một hệ thống hay một sản phẩm
IoT phải đặt trong bối cảnh chung của hệ sinh thái IoT đó, tương tự như vậy, nhận
dạng đối tượng bằng công nghệ xử lý ảnh cũng là một phần của chuyên nghành thị
giác máy tính, đây cũng là một chuyên nghành phức tạp và có mức độ liên thơng liên
kết khá chặt chẽ.
Học máy hay máy học (Machine learning) là một thuật ngữ đề cập đến các
chương trình máy tính có khả năng học hỏi về cách hoàn thành các nhiệm vụ và cách
cải thiện hiệu suất theo thời gian. Học máy là một lĩnh vực của trí tuệ nhân tạo AI
liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống "học" tự
động từ dữ liệu để giải quyết những vấn đề cụ thể. Trong machine learning, các máy
tính khơng cần phải được lập trình một cách rõ ràng nhưng có thể tự thay đổi và cải
thiện các thuật tốn của chúng.

1.1.1Sự hình thành và phát triển của học máy
Hiện nay những định nghĩa về học máy vẫn chưa rõ ràng và cũ thể nhưng có thể
hiểu rằng nó là các kỹ thuật giúp cho máy tính có thể tự học mà khơng cần phải cài đặt
các luật quyết định. Thường một chương trình máy tính cần các quy tắc, luật lệ để có

thể thực thi được một tác vụ nào đó như dán nhãn cho các email là thư rác nếu nội
dung email có chứa từ khố “quảng cáo”. Nhưng với học máy, các máy tính có thể tự
động nhận biết và phân lại các thư rác mà không cần chỉ trước bất kỳ quy tắc nào cả.
Những định nghĩa về học máy khá trừu tượng nhưng có thể hiểu đơn giản là nó giúp
cho máy tính có được cảm quan và suy nghĩ được như con người. Ở mức khái niệm
học máy có thể hiểu là phương pháp vẽ các đường thể hiện mối quan hệ của tập dữ
liệu. Ví dụ như đường ngăn cách hai loại dữ liệu cho nhãn khác nhau, đường thể hiện
xu hướng của giá nhà phụ thuộc vào diện tích và vị trí hay các đường phân cụm dữ


4

liệu. Quá trình con người nhận thấy sự quan trọng của học máy thì chỉ những năm gần
đây, nhưng lịch sử của học máy đã được đặt những viên gạch đầu tiên từ rất lâu. Ngay
từ những năm 1950, nhà bác học Alan Turning đã nghĩ đến việc xác định trí thơng
minh của máy tính và so sánh với trí thơng minh của con người, vì vậy ơng đã nghiên
cứu và tạo ra Phép thử Turning (Turing Test) xem máy tính có khả năng đánh lừa
người kiểm tra rằng nó là một con người khơng.

Hình 1.1: Mơ hình phép thử Turning

Trong hơn 70 năm, lĩnh vực học máy nói riêng và trí tuệ nhân tạo nói chung đã
đạt được rất nhiều bước ngoặt nổi bật và thu hút rất nhiều nhà khoa học trên thế giới
quan tâm và nghiên cứu. Trí tuệ nhân tạo được coi là một nhân tố lớn trong cách mạng
công nghiệp lần thứ 4 của thế giới. Nhân tố này đang được áp dụng rộng rãi trong rất
nhiều lĩnh vực như: Nông nghiệp, công nghiệp, y tế, xã hội,…. và không chỉ dành cho
các nhà khoa học, tổ chức hay công ty lớn mà mọi người đều có thể áp dụng trong các
bài tốn có thể gặp trong cuộc sống. Trí tuệ nhân tạo được ứng dụng trên những
phương tiện vận tải tự lái, điển hình là ơ tơ. Sự ứng dụng này góp phần mang lại lợi ích
kinh tế cao hơn nhờ khả năng cắt giảm chi phí cũng như hạn chế những tai nạn nguy

hiểm đến tính mạng. Nghành vận tải mà cụ thể là xe tự lái áp dụng rất nhiều để xây
dựng các trợ lý ảo trên ô tô cũng như xây dựng các chế độ tự lái cho chiếc xe công
nghệ. Trí tuệ nhân tạo được ứng dụng để xây dựng những quy trình sản xuất tối ưu
hơn. Cơng nghệ AI có khả năng phân tích cao, làm cơ sở định hướng cho việc ra quyết
định trong sản xuất.


5

Hình 1.2: Xe tự lái Tesla model X

Sự ra đời của trí tuệ nhân tạo giúp tạo ra những thay đổi lớn trong lĩnh vực giáo
dục. Các hoạt động giáo dục như chấm điểm hay dạy kèm học sinh có thể được tự
động hóa nhờ cơng nghệ AI. Nhiều trị chơi, phần mềm giáo dục ra đời đáp ứng nhu
cầu cụ thể của từng học sinh, giúp học sinh cải thiện tình hình học tập theo tốc độ
riêng của mình. Trí tuệ nhân tạo cịn có thể chỉ ra những vấn đề mà các khóa học cần
phải cải thiện. Chẳng hạn như khi nhiều học sinh được phát hiện là gửi đáp án sai cho
bài tập, hệ thống sẽ thông báo cho giáo viên đồng thời gửi thông điệp đến học sinh để
chỉnh sửa đáp án phù hợp. Công nghệ AI cịn có khả năng theo dõi sự tiến bộ của học
sinh và thông báo đến giáo viên khi phát hiện ra vấn đề đối với kết quả học tập của học
sinh.
Năm

Sự kiện

1990

Machine Learning đã dịch chuyển từ cách tiếp cận hướng kiến
thức (knowledge-driven) sang cách tiếp cận hướng dữ liệu (datadriven). Các nhà khoa học bắt đầu tạo ra các chương trình cho
máy tính để phân tích một lượng lớn dữ liệu và rút ra các kết

luận - hay là "học" từ các kết quả đó.

1997

Deep Blue máy tính chơi cờ vua của hãng IBM đã đánh bại nhà
vô địch cờ vua thế giới.

2006

Geoffrey Hinton đã đưa ra một thuật ngữ "deep learning" để giải
thích các thuật tốn mới cho phép máy tính "nhìn thấy" và phân
biệt các đối tượng và văn bản trong các hình ảnh và video.

2010

Microsoft Kinect có thể theo dõi 20 hành vi của con người ở một


6
tốc độ 30 lần mỗi giây, cho phép con người tương tác với máy
tính thơng qua các hành động và cử chỉ
2012

X Lab của Google phát triển một thuật toán machine learning có
khả năng tự động duyệt qua các video trên YouTube để xác định
xem video nào có chứa những con mèo.

2015

Hơn 3.000 nhà nghiên cứu AI và Robotics, được sự ủng hộ bởi

những nhà khoa học nổi tiếng như Stephen Hawking, Elon Musk
và Steve Wozniak (và nhiều người khác), đã ký vào một bức thư
ngỏ để cảnh báo về sự nguy hiểm của vũ khí tự động trong việc
lựa chọn và tham gia vào các mục tiêu mà không có sự can thiệp
của con người.

2016

Thuật tốn trí tuệ nhân tạo của Google đã đánh bại nhà vơ địch
trị chơi Cờ Vây, được cho là trò chơi phức tạp nhất thế giới (khó
hơn trị chơi cờ vua rất nhiều). Thuật toán AlphaGo được phát
triển bởi Google DeepMind đã giành chiến thắng 4/5 trước nhà
vô địch Cờ Vây.

2019

Ứng dụng làm giả hình ảnh và video deepfake sử dụng trí tuệ
nhân tạo bị Mỹ xếp vào một trong năm ứng dụng gây mất an
ninh toàn cầu.

2020

Xe tự hành cấp độ 5 của Tesla ra mắt
Bảng 1.1: Một số mốc quan trọng của học máy

1.2 Các mơ hình học máy và học sâu
Mơ hình học máy là một biểu hiện của một thuật tốn qt qua hàng núi dữ liệu
để tìm ra các mẫu hình hoặc đưa ra dự đốn. Được cung cấp dữ liệu, các mơ hình học
máy là “động cơ” tốn học của trí tuệ nhân tạo. Về cơ bản, một mơ hình là một biểu
diễn tốn học của các đối tượng và mối quan hệ của chúng với nhau. Các đối tượng có

thể là bất cứ thứ gì, từ “lượt thích” trên một bài đăng trên mạng xã hội cho đến các
phân tử trong một thí nghiệm ở phịng lab. Khơng có ràng buộc nào đối với các đối
tượng có thể trở thành các ‘feature’ trong mơ hình học máy, khơng có giới hạn đối với
việc sử dụng AI. Để phân loại các mơ hình học máy chúng ta căn cứ vào một số cơ sở
nhất định như bản chất của đầu vào dữ liệu, bản chất của chính vấn đề mà mơ hình giải
quyết, bản chất của thuật tốn sử dụng, bản chất của giải pháp hoặc bản chất của dữ
liệu đầu ra.


7

1.2.1 Mơ hình học có giám sát
Supervised learing hay học có giám sát là thuật tốn dự đốn đầu ra (outcome) của một
dữ liệu mới (new input) dựa trên các cặp (input, outcome) đã biết từ trước. Cặp dữ liệu
này còn được gọi là (data, label) hay là dữ liệu, nhãn. Thuật tốn học có giám sát là
một trong nhóm những thuật toán phổ biến khi sử dụng học máy và trí tuệ nhân tạo nói
chung. Có thể hiểu ở mức khái niệm rằng là khi chúng ta có một nhóm các tập hợp
biến đầu vào X = { x1, x2,…, xN } và tập hợp nhãn tương ứng Y = { y1, y2,…, yN } trong
đó xi, yi là các vector. Các cặp dữ liệu xi, yi ∈ X∗ Y được gọi là tập huấn luyện.
(trainning data). Từ tập huấn luyện này, mơ hình cần tìm được một hàm ánh xạ từ
giá trị của tập X sang tập Y. Với mục tiêu tìm hàm xấy xỉ ƒ tốt nhất có thể để khi có
tập giá trị x mới hàm ƒcó thể tính tốn được nhãn một cách tương ứng bằng hàm đã
xây dựng được từ tập mẫu ban đầu. Thuật tốn học có giám sát chia làm hai loại chính
là phân loại (Classification) và hồi quy (Regression).

Hình 1.3: Mơ tả luồng hoạt động của học có giám sát

Phân loại (Classification): một bài toán được gọi là phân loại nếu các nhãn của
dữ liệu đầu vào được chia thành một số hữu hạn các nhóm theo các nhãn. Cơng việc
phân loại tiến hành của mơ hình học máy sẽ tiến hành học dựa vào tập dữ liệu có sẵn

từ đó sau khi chúng ta đưa dữ liệu mới, nó có thể chỉ ra cho chúng ta dữ liệu ấy có thể
là một trong các loại nhãn đã được khai báo trong tập dữ liệu mẫu và ngồi ra có thể
cho biết một phần từ khơng nằm trong số nhãn đó. Nếu có nhiều loại khác nhau cùng
chưa nằm trong danh sách tập mẫu thì chương trình học vẫn chỉ có thể chỉ ra tất cả
các loại ấy nằm chung một nhóm nhãn khơng nằm trong danh sách các nhãn đã được
đưa vào để huấn luyện. Trong thực tế, các ngân hàng sử dụng nó để phân loại khách
hàng. Các bệnh viện ứng dụng nó để phân loại bệnh nhân, các công ty bảo hiểm dùng
trong việc phân loại các thân chủ của mình... Phân loại cịn có thể được sử dụng ở một


8

mức độ sâu sắc hơn. Ví dụ, các loại camera hiện đại dùng thuật tốn phân loại để nhận
diện khn mặt, dịch vụ bưu điện sử dụng nó trong việc nhận dạng địa chỉ viết tay.
Các thương gia dự đoán thị trường bằng các thuật toán phân loại, trong khi những nhà
khí tượng sử dụng nó để dự báo thời tiết. Điểm khác biệt chính giữa những ví dụ trên
chính là các thuộc tính. Với khách hàng của các ngân hàng, thuộc tính là thu nhập
hàng tháng, điểm tín dụng, số lần sử dụng thẻ gần đây,...
Hồi quy (Regression): Ở bài tốn phân loại chúng ta có danh sách các nhãn đã
được định nghĩa sẵn và mơ hình có nhiệm vụ chỉ ra đầu vào mới là một trong các nhãn
đã được học hoặc không phải. Tuy nhiên, trong thực tế có những bài tốn mà các
nhãn khơng được chia thành các nhóm mà là các nhãn được thay bởi các giá trị cụ thể
nào đó. Ví dụ như bài toán xác định giá căn nhà phụ thuộc vào vị trí, diện tích căn
phịng, số phịng ngủ,… và u cầu xác định giá của căn nhà. Giá trị của căn nhà
khơng thể nằm trong danh sách có thể liệt kê vì giá trị chuỗi số là quá nhiều. Như
vậy, đối với các bài tốn mà tập đích trong tập dữ liệu huấn luyện có dạng liên tục
khơng thể hoặc rất khó để có thể phân nhóm thì bài tốn được xếp vào dạng bài
toán hồi quy. Bài toán này đặc trưng thường được áp dụng cho các vấn đề thực tế
như: tính tốn giá cả của sản phẩm dựa trên thơng số trước đó, hoặc dự đốn biến động
tài chính...


Hình 1.4: Đồ thị hồi quy tuyến tính

1.2.2 Mơ hình học khơng giám sát
Unsupervised Learning hay bài tốn học khơng giám sát thường được sử dụng
đối với tập dữ liệu mà chúng ta biết trước được nhãn đầu ra của một tập lớp dữ liệu


9

lớn được thu thập trước đó, nhưng khơng phải tất cả dữ liệu thu thập được trong thực
tế đều có giá trị nhãn được xác định mà chúng ta chỉ có tập dữ liệu đầu vào. Thuật
tốn học khơng giám sát lúc này chủ yếu dựa vào cấu trúc của tập dữ liệu để thực hiện
cơng việc nào đó như phân nhóm hoặc giảm chiều dữ liệu để làm gọn tập dữ liệu thuận
tiện cho việc lưu trữ và tính toán sau này. Các bài toán Unsupervised learning được
tiếp tục chia nhỏ thành hai loại là: Phân nhóm và giảm chiều dữ liệu.
Phân nhóm (Clustering): Bài tốn phân nhóm là bài tốn phân nhóm tồn bộ dữ
liệu từ tập đầu vào X thành các nhóm nhỏ dựa vào sự liên quan giữa các dữ liệu trong
mỗi nhóm. Ví dụ như bài tốn phân nhóm khách hang dựa trên hành vi mua hàng của
họ thành khách hàng tiềm năng hay không. Bài toán này tương tự như bài toán phân
loại ở mục học có giám sát bị bỏ đi tập nhãn đầu ra tuy nhiên việc phân nhóm như thế
nào kết quả đầu ra là hồn tồn khơng thể xác định cho đến khi thuật tốn được thực
hiện xong. Ví dụ như với bài toán phân loại email là spam nhưng hồn tồn khơng có
bất kì ai đánh dấu mail là spam hay không. Việc phân loại lúc này đơn thuần chỉ dựa
trên những nhóm email được cho là giống nhau về cách đặt tên, nguồn gửi, tần suất
xuất hiện, nội dung... Do đó, ở bài tốn này việc phân loại hồn tồn vào đặc trưng mà
thuật tốn chọn làm điểm phân loại.
Giảm chiều dữ liệu (Dimensionality reduction): trong quá trình thu thập dữ liệu
chúng ta khơng biết được vai trị của các thơng số vì thế chúng ta có xu hướng thu thập
những thứ mà chúng ta nghĩ là có thể ảnh hưởng đến kết quả đầu ra của bài tốn. Ví

dụ như thu thập các thơng số mơi trường để phục vụ điều khiển hệ thống chăm sóc cây
nơng nghiệp.Tuy nhiên, trên thực tế có một số thơng số không ảnh hưởng hoặc ảnh
hưởng không nhiều đến các kết quả đầu ra thực tế vì thế chúng ta có thể loại bỏ các
thông số này để tiết kiệm tài nguyên lưu trữ và làm gia tăng tốc độ tính tốn của các hệ
thống học. Điều này có thể được thực hiện bởi các thuật toán giảm chiều dữ liệu. Với
đầu vào là tất cả các thông số chúng ta đã thu thập được và đầu ra là tập dữ liệu đã
được loại bỏ đi các thành phần dữ liệu khơng thực sự cần thiết đối với q trình tính
tốn của hệ thống. Nếu chúng ta có thể biểu diễn các vector dữ liệu ban đầu trong một
hệ cơ sở mới mà trong hệ cơ sở mới đó, tầm quan trọng giữa các thành phần là khác
nhau rõ rệt, thì chúng ta có thể bỏ qua những thành phần ít quan trọng nhất. Lấy một ví
dụ về việc có hai camera đặt dùng để chụp một con người, một camera đặt phía trước
người và một camera đặt trên đầu. Rõ ràng là hình ảnh thu được từ camera đặt phía


10

trước người mang nhiều thơng tin hơn so với hình ảnh nhìn từ phía trên đầu. Vì vậy,
bức ảnh chụp từ phía trên đầu có thể được bỏ qua mà khơng có q nhiều thơng tin về
hình dáng của người đó bị mất.

1.2.3 Mơ hình học bám giám sát
Học bán giám sát (Semi-Supervised Learning) xuất phát từ trong thực tế có
những bài tốn có tập dữ liệu mà chỉ một phần trong lượng lớn dữ liệu được đính nhãn
đầu ra. Bài toán này là bài toán nằm giữa bài toán học có giám sát và học khơng có
giám sát. Vì lý do chi phí cũng như lượng dữ liệu thu thập được là rất lớn nên việc
đính nhãn cho tất cả các tập mẫu là rất khó khăn chưa kể đến các trường hợp việc đánh
nhãn dữ liệu cần sử dụng đến các chuyên gia và nhiều phép đo đạc. Vì vậy, cách thực
hiện học bán giám sát là một cách thức được thực hiện thường xuyên trong các bài
toán thực tế. Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản
được gán nhãn và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu

thập từ internet. Một thuật toán học bán giám sát được sử dụng sẽ học các ví dụ có
nhãn, sau đó tiến hành gán nhãn cho một số (có lựa chọn) ví dụ khơng có nhãn một
cách hợp lý, có đánh giá chất lượng cơng việc hay độ chính xác. Tiếp theo, chọn các ví
dụ vừa được gán nhãn có độ tin cậy cao (vượt trên một ngưỡng chọn trước) đưa vào
kết hợp với tập dữ liệu có nhãn, tạo thành một tập dữ liệu huấn luyện mới sau đó áp
dụng một phương pháp kiểm thử để đánh giá hiệu năng/độ chính xác của mơ hình.

Hình 1.5: Mơ hình thuật tốn học bán giám sát

Một số thuật toán thường được sử dụng trong các phương pháp học bán giám sát bao
gồm:
Thuật toán cực đại kỳ vọng (EM - Expectation Maximization)
SVM truyền dẫn TSVM - (Transductive Support Vector Machine)
Self-training


11

Co-training
Các phương pháp dựa trên đồ thị

1.2.4 Học củng cố
Yếu tố tự xác định hành vi là điểm đầu tiên cần hiểu rõ khi nghiên cứu áp dụng
phương pháp học củng cố. Trong học củng cố chủ yếu vận hành theo Game Theory
hay cịn được biết đến là các ví dụ về Lý Thuyết Trò Chơi. Lý thuyết trò chơi là một
cách tiếp cận để hiểu và phân tích hành vi hay quyết định của mỗi cá nhân và các
nhóm cá nhân trong một tình huống mâu thuẫn. Bắt nguồn từ cơ sở tốn học ứng dụng
và sau đó là ngành kinh tế, lý thuyết trò chơi theo đuổi hai giả định căn bản. Thứ nhất,
nó giả định mỗi cá nhân hay các nhóm cá nhân là một người tham gia trong một cuộc
chơi và mục tiêu của họ là làm thế nào để giành lợi ích (có thể là chiến thắng hay giảm

sự thiệt hại). Thứ hai, nó xem mỗi hành động của con người được dẫn dắt dựa trên
nguyên tắc lý tính theo ý nghĩa là trước mỗi quyết định, cá nhân đều cố gắng tính tốn
xem lợi ích/thiệt hại của bản thân mình khi đưa ra quyết định đó như thế nào.

1.3 Thuật tốn phổ biến trong học máy
Thuật ngữ “học” trong Machine Learning thực chất là cơng việc tối thiểu hóa
giá trị của hàm mất mát. Giá trị của hàm này thường là tổng các lỗi của các giá trị của
hàm thực và giá trị thực tế mà hàm học đáp ứng được. Mức độ sai số của hàm mất
mát cũng là thông số để đánh giá mức độ khớp của quá trình học đối với tập dữ liệu
đầu vào. Hiện nay, có một số thuật tốn thường được áp dụng để tối ưu hóa hàm mất
mát như: Gradient Descent, Phương pháp Newton, Gradient kết hợp, Phương
pháp Quasi-Newton, Thuật tốn Levenberg-Marquardt,…Phần này sẽ trình bày
giới thiệu cơ bản về các thuật tốn thơng dụng trên.

1.3.1 Phương pháp Newton
Tối ưu hóa ma trận Hessian chính là điểm chính của phương pháp Newton, với
mục tiêu huấn luyện tốt vẫn trên cơ sở thuật toán tối ưu và lấy đạo hàm bậc hai của
hàm mất mát.
Giả sử :
ƒ(wi) = ƒi , ∇ (wi) = gi , Hƒ (wi) = Hi

(1.1)

Theo khai triển Taylor chúng ta có:
ƒ = ƒ0 + g0 (w − w0) + 0.5(w − w0)2.H0

(1.2)


12


H0 là ma trận Hessian của hàm ƒ tại điểm w0 . Chúng ta tìm cách tối thiểu hóa
hàm ƒ(w) bằng cách đặt g = 0.
g = g0 + H0 (w − w0) = 0

(1.3)

Thuật toán bắt đầu bằng một thơng số w0 nào đó và lặp lại theo cơng thức sau:
wi+1 = wi – Hi-1gi hoặc wi+1 = wi − (Hi-1gi)𝜂 I

(1.4)

Thuật toán Newton triển khai trong thực tế khơng hề dễ dàng nhưng lại tìm giá
trị tối thiểu của hàm mất mát với hiệu quả cao. Việc tính toán ma trận đảo của ma trận
Hessian (Hi-1) rất tốn kém tài nguyên của hệ thống.

1.3.2 Phương pháp Quasi-Newton
Phương pháp Newton có khả năng tìm được tham số tối ưu với tốc độ rất nhanh
tuy nhiên phương pháp này được đánh giá là rất “đắt” do yêu cầu số ính tốn lớn nhất
là q trình tính tốn ma trận Hessian và ma trận đảo của nó. Từ những ưu và nhược
điểm đó một phương pháp khác có tên là Quasi-Newton được thiết kế ra để giải quyết
những hạn chế đó của phương pháp Newton.Để áp dụng được phương pháp QuasiNewton cần vận dụng hai khả năng đó là tính tốn nhanh với Newton và sử dụng tính
xấp xỉ ma trận Hessian đồng thời sử dụng cả ma trận Hessian nghịch đảo. Thơng số
này được tính tốn bằng cách chỉ sử dụng các thông số của hàm đạo hàm bậc một của
hàm mất mát. Tiến hành tính xấp xỉ và suy ra ma trận nghịch đảo đặt tên là ma trận G.
Cơng thức tính tốn của phương án này có thay đổi so với phương pháp Newton như
sau:
wi+1 = wi –(Gigi)𝜂 I

(1.5)


Trong đó ma trận G được tính theo một trong hai phương án phổ biến sau:
Davidon–Fletcher–Powell (DFP) và Broyden–Fletcher–Goldfarb–Shanno (BFGS).
Nhờ thuật tốn này mà khả năng tính tốn được nâng cấp rõ rệt nếu so với phương
pháp khác thì tốc độ hội tụ nhanh hơn nhiều.

1.3.3 Thuật toán Gradient Descent
Khi đề cập đến một thuật toán học máy đơn giản và phổ biến được coi là bản lề
khi tiếp cận thì đó là Gradient Descent. Để bắt đầu nghiên cứu cần giả sử chúng ta ở
một điểm w0 tìm điểm wi cách lặp khi các thông số được đáp ứng theo yêu cầu. Mỗi
bước di chuyển từ wi đến wi+1 theo chiều di = −gi . Thực hiện lặp chuỗi với điều kiện
như sau:
wi+1 = wi −gi 𝜂 i

(1.6)


13

Hệ số 𝜂 được coi là tỉ lệ học. Ở phương pháp Gradient Descent cơ bản giá trị
này thường là một giá trị cố định trong cả quá trình huấn luyện. Quá trình lặp lại cho
đến khi tìm được các thông số mà người huấn luyện đặt ra từ trước hoặc mạng vượt
quá giới hạn và cho thấy không thể hội tụ. Việc tối ưu vector tham số được chia làm 2
bước sau:
Với thông số hiện tại cần xác định giá trị và chiều sai số
Hiệu chỉnh các thông số của phương trình.
Thuật tốn Gradient Descent là phương pháp cơ bản nhất trong các thuật tốn
huấn luyện và cũng cịn nhiều nhược điểm như yêu cầu rất nhiều bước lặp để có thể
tìm được điểm nghiệm thỏa mãn các thơng số mong muốn mặc dù thuật toán này hỗ
trợ tối thiểu hàm mất mát khá nhanh tuy nhiên quá trình tìm kiếm khơng phải là đường

ngắn nhất mà thường là đường zigzac gây tốn thời gian. Điều này được mô tả ở hình
sau:

Hình 1.6: Điểm hội tụ của phương pháp Gradient Descent

Thuật toán Gradient Descent thường được khuyến nghị sử dụng đối với các
mạng neural có số thơng số cực lớn đến hàng nghìn thơng số bởi vì mặc dù phương
pháp này tốn rất nhiều vòng lặp nhưng chiếm rất ít bộ nhớ (Chỉ chiếm bộ nhớ bằng số
thông số của vector grandient).

1.3.4 Thuật toán Gradient kết hợp
Khi thực hiện kết hợp giữa Gradient Desent và thuật toán Newton ta có thuật
tốn Gradient kết hợp. Phương pháp này được xây dựng với mục tiêu khắc phục sự hội
tụ chậm của phương pháp Gradient Desent và giảm bớt sự phức tạp về tính tốn và
lưu trữ bộ nhớ của phương pháp Newton. Giả sử d là vector huấn luyện, chúng ta tiến
hành bắt đầu huấn luyện với vector thông số w0 khởi tạo vector huấn luyện theo


14

công thức: di = −gi .Phương pháp gradient kết hợp được tiến hành dựa vào phương
trình lặp sau:
di +1= gi+1 + di𝛾i

(1.7)

Với 𝛾i được gọi là thông số kết hợp. Sử dụng phương pháp của các nhà bác học
Fletcher, Reeves và Polak, Ribiere là có thể tính được thơng số kết hợp này. Cập nhật
giá trị của tham số sử dụng công thức:
wi+1 = wi +di 𝜂 i


(1.8)

Đảm bảo rằng đã tính tốn được thơng số của vector huấn luyện. Đối với
phương pháp Gradient Descent kết hợp, việc huấn luyện cho hiệu quả tốt hơn phương
pháp Gradient Desent. Khi thực hiện cũng khơng u cầu phải tính ma trận Hessian vì
thê các mạng neural, đặc biệt là mạng có số tham số rất lớn thường hay sử dụng
phương pháp này.

1.3.5 Thuật tốn Levenberg-Marquardt
Áp dụng cách tính tổng bình phương của các sai số của hàm mất mát, thuật toán
Levenberg-Marquardt hoạt động dựa trên nền tảng vector gradient và ma trận Jacobian
với hàm mất mát được xây dựng như sau:
ƒ = ∑ 𝑒𝑖2

(1.9)

Trong đó ma trận Jacobian được định nghĩa như sau:
Ji,j ƒ(w) =

dei
dwj

(i=1,…,m; j =1,…,n)

(1.10)

Với m là số tập mẫu và n là số phần tử của mạng neural. Vì thế ma trận
Jacobian có kích thước là m.n. Vector gradient của hàm mất mát được tính tốn trên
nền tảng cơng thức sau:

∇ƒ = 2.JTe

(1.11)

Sau khi tính tốn các thơng số chúng ta có thể tiến hành tối ưu thơng số của
mạng theo công thức sau:
wi+1 = wi −(JTJi + λI )-1.(2JiTei)

(1.12)

Với hệ số λ bằng 0 phương pháp này trở thành phương pháp Newton với ma
trận Hessian được tính xấp xỉ, với hệ số λ lớn phương pháp này lại trở thành phương
pháp Gradient Desent với tỉ lệ học chậm. Ban đầu hệ số λ được khởi tạo là một số lớn
do vậy những bước đầu của quá trình huấn luyện giống với thuật tốn huấn luyện
Gradient Desent sau đó sau mỗi bước huấn luyện nếu giá trị của hàm mất mát tăng lên
giá trị λ sẽ được tăng lên ngược lại nếu giá trị của hàm mất mát giảm đi thì thơng số λ


15

cũng cũng được giảm theo do đó thời điểm đó quá trình tối ưu sẽ được thực hiện theo
cách tiếp cận của phương pháp Newton.
Thuật tốn trên có ưu điểm đã tích hợp được ưu điểm của cả 2 phương pháp
Gradient Desent và Newton tại các thời điểm phù hợp khác nhau và đặc biệt nó được
thiết kế để huấn luyện rất nhanh. Khi áp dụng thuật tốn Levenberg-Marquardt có tập
mẫu lớn thuật toán sẽ chiếm tài nguyên rất lớn nên không phù hợp huấn luyện với kiến
trúc mạng lớn và dữ liệu lớn.

Hình 1.7: So sánh tốc độ của các thuật tốn và tiêu tốn bộ nhớ


Hình 1.7 so sánh giữa tốc độ huấn luyện và lượng bộ nhớ sử dụng của các thuật
tốn đã được trình bày ở mục này. Rõ ràng muốn tốc độ nhanh thì tiêu tốn nhiều bộ
nhớ chính là Levenberg-Marquardt và hi sinh tốc độ và chiếm ít tài nguyên bộ nhớ
chính là thuật toán Gradient Desent. Như vậy chỉ phương pháp Quasi-Newton tạo ra
sự cân đối giữa các thuật toán. Hẳn nhiên, mỗi thuật tốn có điểm ưu nhược khác nhau
và cần dựa vào nhu cầu để lựa chọn thuật toán phù hợp. Đối với mạng phức tạp sử
dụng hàng triệu thông số trong mạng chúng ta có thể sử dụng Gradient Desent hoặc
Gradient kết hợp để có thể đủ bộ nhớ tiến hành huấn luyện. Trong khi đó đối với
mạng chỉ chứa vài nghìn tham số thì sự lựa chọn tốt nhất là sử dụng LevenbergMarquardt để đạt được tốc độ huấn luyện nhanh nhất mà bộ nhớ vẫn đủ để đáp ứng.
Trong trường hợp để cân bằng giữa tốc độ và bộ nhớ sử dụng thì phương pháp QuasiNewton là phương án nên được xem xét để sử dụng.

1.4 Thư viện TensorFlow
1.4.1 Tổng quan về thư viện TensorFlow


16

Trong trí tuệ nhân tạo nói chung và xử lý ảnh dựa trên cơ sở các phần mềm mã
nguồn mở thì TensorFlow là nổi bật nhất. TensorFlow cung cấp nhiều cấp độ trừu
tượng để người dùng có thể chọn cấp độ phù hợp với nhu cầu của mình. Xây dựng và
đào tạo các mơ hình bằng cách sử dụng API Keras cấp cao, giúp dễ dàng bắt đầu với
TensorFlow và học máy. Được phát triển bởi đội Google Brain thư viện này đang ngày
càng trở nên quan trọng trong giới lập trình mã nguồn mở khai thác để xây dưng các
ứng dụng xử lý ảnh của riêng mình. Thư viện này cung cấp sự linh hoạt, việc thực thi
cho phép lặp lại ngay lập tức và gỡ lỗi trực quan. Đối với các nhiệm vụ huấn luyện
ML lớn, TensorFlow có các API chiến lược phân phối để huấn luyện phân tán trên các
cấu hình phần cứng khác nhau mà khơng thay đổi định nghĩa mơ hình.
TensorFlow ln cung cấp một đường dẫn trực tiếp khi quá trình huấn luyện kết
thúc. Cho dù đó là trên máy chủ, thiết bị biên hay web, TensorFlow cho phép người
dùng huấn luyện và triển khai mơ hình của mình một cách dễ dàng, bất kể người phát

triển sử dụng ngôn ngữ hoặc nền tảng lập trình nào.
TensorFlow trên thiết bị di động với TensorFlow Lite đang ngày càng hồn
thiện. Những lập trình viên có thể huấn luyện với phần cứng hữu hạn trong môi trường
JavaScript bằng TensorFlow.js.
Xây dựng và huấn luyện các mơ hình hiện đại nhất mà không ảnh hưởng đến
tốc độ hoặc hiệu suất của hệ thống. TensorFlow cung cấp cho người dùng sự linh hoạt
và khả năng kiểm soát với các tính năng như API, chức năng Keras và API phân lớp
mơ hình để tạo các cấu trúc liên kết phức tạp, tạo mẫu dễ dàng và gỡ lỗi nhanh chóng.
TensorFlow cũng hỗ trợ một hệ sinh thái gồm các thư viện và mơ hình tiện ích bổ sung
mạnh mẽ để thử nghiệm, bao gồm Ragged Tensors, TensorFlow Probability,
Tensor2Tensor và BERT.


×