Tải bản đầy đủ (.docx) (31 trang)

ĐỒ ÁN CƠ SỞ: NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH (IMAGES CLASSIFICATION)

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 (491.09 KB, 31 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ

NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH
(IMAGES CLASSIFICATION)

Giảng viên hướng dẫn:

Th.S VƯƠNG XN CHÍ

Sinh viên thực hiện:

NGUYỄN THANH TOÀN

Mã số sinh viên:

2000001541

Chuyên ngành:

Khoa học dữ liệu

Mơn học:

Đồ án cơ sở Khoa học dữ liệu

Khóa:


2020

- TP.HCM – 06/2022 -


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CƠ SỞ

NGHIÊN CỨU PHÂN LOẠI HÌNH ẢNH
(IMAGES CLASSIFICATION)

Giảng viên hướng dẫn:

Th.S VƯƠNG XN CHÍ

Sinh viên thực hiện:

NGUYỄN THANH TOÀN

Mã số sinh viên:

2000001541

Chuyên ngành:

Khoa học dữ liệu


Mơn học:

Đồ án cơ sở Khoa học dữ liệu

Khóa:

2020

- TP.HCM – 06/2022 -


Trường Đại học Nguyễn Tất Thành
Khoa Công Nghệ Thông Tin


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc


NHIỆM VỤ ĐỒ ÁN CƠ SỞ
(Sinh viên phải đóng tờ này vào báo cáo)

Họ và tên: Nguyễn Thanh Toàn

MSSV: 2000001541

Chuyên ngành: Khoa học dữ liệu

Lớp: 20DTH2A


Email:

SĐT: 0334745910

Tên đề tài: Nghiên cứu phân loại hình ảnh (Images classification)
Giáo viên hướng dẫn: Vương Xuân Chí
Thời gian thực hiện: 20 /6 /2022 đến 20 /9 /2022
MÔ TẢ ĐỀ TÀI:
Phân loại hình ảnh (Image classification) hay Nhận dạng hình ảnh (Image recognition) là
một trong những tác vụ của mạng neural, ở đó thuật tốn xem xét và dán nhãn cho hình ảnh
từ một tập danh mục được xác định và đào tạo trước. Là quá trình lấy một hình ảnh làm dữ
liệu đầu vào và gán cho nó một lớp với một xác suất. Quá trình này sử dụng các mơ hình
học sâu là các mạng thần kinh sâu, hoặc chi tiết hơn là Mạng thần kinh chuyển đổi.
NỘI DUNG VÀ PHƯƠNG PHÁP:
- Tìm hiểu mạng neural
- Mơ hình mạng neural và học sâu (Deep learning)
- Kỹ thuật phân loại classification CNNs - Convolutional Neural Networks
- Kết luận
YÊU CẦU:
-

Có kiến thức, đam mê, hiểu biết về công nghệ mới như Mạng neural, Machine
Learning, Deep Learning…. Đọc hiểu tài liệu tiếng Anh, kỹ năng trình bày văn bản trên
máy tính tốt.

-

Có tác phong làm việc chăm chỉ, tinh thần trách nhiệm cao, có khả năng làm việc độc
lập hoặc làm việc trong nhóm tốt.


Nội dung và u cầu đã được thơng qua Bộ môn.
TP.HCM, ngày 26 tháng 06 năm 2022


TRƯỞNG BỘ MÔN

GIÁO VIÊN HƯỚNG DẪN

(Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)

ThS. Vương Xuân Chí

ThS. Vương Xuân Chí


LỜI CẢM ƠN
Em bày tỏ lòng biết ơn sâu sắc tới Thầy ThS. Vương Xn Chí đã tận tình hỗ trợ
em hết mình trong quá trình thực hiện đồ án cơ sở. Thầy đã tạo điều kiện rất tốt từ khâu
chuẩn bị đến việc hoàn thành đồ án. Bên cạnh những buổi học lý thuyết với rất nhiều
kiến thức mới trên lớp, những buổi thực hành với rất nhiều bài tập đa dạng để củng cố
kiến thức, Thầy còn tạo thêm nhóm trên các nền tảng mạng xã hội để các sinh viên có
thể trao đổi sau giờ học, nhận tài liệu từ Thầy, học tập cùng nhau, cùng nhau giải quyết
những bài tập khó. Có thể do thời gian có hạn chế, cùng với khả năng của bản thân có
hạn nên việc vướng một vài sai sót trong quá trình làm đồ án cơ sở là việc khó tránh
khỏi, em rất mong nhận được sự thông cảm, nhận xét góp ý từ Thầy và các thầy cơ
khác trong khoa Cơng nghệ thơng tin để có thể làm tốt hơn trong những tiểu luận, đồ
án sau. Một lần nữa em xin cảm ơn Thầy và chúc Thầy nhiều sức khỏe.
Nhân đây em cũng gửi lời cảm ơn đến bạn Phạm Nguyễn Hồi Phong, người đã

cùng em tìm tịi, học hỏi, cùng nhau lên kế hoạch thực hiên và hoàn thiện đồ án cơ sở
từ những ngày đầu nhận đề tài.

Sinh viên thực hiện
Nguyễn Thanh Toàn

5


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................

............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
............................................................................................................................................
6


PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁN
Môn thi: Đồ Án Cơ Sở Khoa Học Dữ Liệu
Lớp học phần: 20DTH2A
Nhóm sinh viên thực hiện :
1. Tham gia đóng góp: Nguyễn Thanh Tồn
2. Tham gia đóng góp: Phạm Nguyễn Hồi Phong
Ngày thi:

Phịng thi:

Đề tài tiểu luận/báo cáo của sinh viên: Nghiên cứu phân loại hình ảnh (Images
classification)

Phần đánh giá của giảng viên (căn cứ trên thang rubrics của môn học):

Cấu trúc của báo cáo
Nội dung


Các nội dung thành phần




Lập luận



Kết luận

Trình bày

Giảng viên chấm thi
(Ký, ghi rõ họ tên)

7


LỜI MỞ ĐẦU
Phân loại hình ảnh, nhận diện hình ảnh hoặc thị giác máy tính, là một kỹ thuật
tìm kiếm các cách tự động hóa tất cả các cơng việc mà một hệ thống thị giác của con
người có thể làm. Hiện nay, nhận diện hình ảnh đã và đang thể hiện rất tốt tầm quan
trọng của mình trong hầu hết các lĩnh vực đời sống. Có thể kể đến một vài lợi ích tuyệt
vời của việc ứng dụng nhận diện hình ảnh vào đời sống thực tế: việc chấm công bằng
phương pháp nhận diện khuôn mặt sẽ thay thế cho việc chấm công theo kiểu vân tay
truyền thống, sẽ hạn chế việc lây lan virus trong tình hình dịch bệnh hiện nay; nhận
diện đối tượng trong hệ thống CCTV (Closed Circuit Televison - hệ thống giám sát)
trong việc quản lý chung cư, khách sạn, doanh nghiệp, cửa hàng hay cả hộ gia đình,
giúp theo dõi, phát hiện sớm những bất thường trong khu vực camera an ninh có thể
theo dõi; nhận diện hình ảnh trong các ứng dụng như Google Lens giúp tìm kiếm mọi
thứ thơng qua hình ảnh vừa chụp, dịch nhanh các thông tin với ngôn ngữ khác chỉ với

vài giây; hay kể đến Apple, họ đã áp dụng công nghệ nhận diện khuôn mặt vào các
thiết bị của họ với tên gọi (Face ID), với khả năng nhận diện và phân biệt đâu mơus là
chủ sở hữu thật sự của thiết bị này đã giúp nâng cao khả năng bảo mật cho thiết bị cũng
như thông tin, dữ liệu của khách hàng. Từ các ví dụ trên, có thể thấy, cơng nghệ phân
loại hình ảnh đang ngày càng được sử dụng rộng rãi, ngày càng phát huy được vai trị
vị thế của mình trong q trình phát triển của xã hội nói chung và sự phát triển của
công nghê, đặc biệt là công nghệ thông tin nói riêng.

8


MỤC LỤC

DANH MỤC CÁC HÌNH
Ảnh 1. Mơ hình của một neural nhân tạo.
Ảnh 2. Đồ thị của hàm ngưỡng.
Ảnh 3. Đồ thị hàm ReLU.
Ảnh 4. Đồ thị của hàm Logistic sigmoid.
Ảnh 5. Mơ hình của một mạng thần kinh nhân tạo.
Ảnh 6. Mơ hình minh họa về cấu trúc của một mạng lưới thần kinh và cách đào tạo
hoạt động.
Ảnh 7. Định nghĩa của Convolutional.
Ảnh 8. Các lớp trong Convolution layer.

9


10



CHƯƠNG 1. TÌM HIỂU MẠNG NEURAL
1.1. Mạng neural là gì?
Mạng neural có thể coi là một phương thức để miêu tả cách hoạt động
trong bộ não của con người. Nói một cách đơn giản hơn, mạng neural là một hàm nhận
một đầu vào x, xử lý nó và đưa ra một đầu ra y tương ứng. Mạng neural nhân tạo, đây
là một chuỗi những thuật toán được đưa ra để tìm kiếm các mối quan hệ cơ bản trong
tập hợp các dữ liệu. Thông qua việc bắt bước cách thức hoạt động từ não bộ con người.
Nói cách khác, mạng neural nhân tạo được xem là hệ thống của các tế
bào thần kinh nhân tạo. Đây thường có thể là hữu cơ hoặc nhân tạo về bản chất. Neural
Network có khả năng thích ứng được với mọi thay đổi từ đầu vào. Do vậy, nó có thể
đưa ra được mọi kết quả một cách tốt nhất có thể mà khơng cần phải thiết kế lại những
tiêu chí đầu ra.
Khái niệm này có nguồn gốc từ trí tuệ nhân tạo, đang nhanh chóng trở
nên phổ biến hơn trong sự phát triển của những hệ thống giao dịch điện tử.

1.2. Cấu tạo của một mạng neural nhân tạo.
o
o
o
o
o

Một lớp biểu diễn đầu vào x.
Một số lượng các lớp ẩn (Hidden layers).
Một lớp biểu diễn đầu ra y.
Một bộ các chỉ số Weights (W) và bias (b) giữa các lớp.
Một hàm kích hoạt (Activation Function) giữa các lớp.

Ảnh 1. Mơ hình của một neural nhân tạo.
11



Các hàm kích hoạt phổ biến:
Hàm ngưỡng (Threshold function) là hàm không liên tục và miền giá trị của
hàm chỉ mang hai giá trị là 0 và 1. Hàm này được mô tả theo công thức sau:

Trong kỹ thuật, hàm này còn được gọi là hàm bước Heaviside. Tương ứng với
hàm kích hoạt này, giá trị đầu ra yk của neural có nhãn k sẽ là:

Trong đó:

Ảnh 2. Đồ thị của hàm ngưỡng.
Hàm ReLU (Rectified Linear Unit) được giới thiệu bởi Hahnloser vào năm
2000 và hàm này được định nghĩa như sau:

Định nghĩa trên có thể được viết lại như sau:

12


Ảnh 3. Đồ thị hàm ReLU.
Hàm Logistic Sigmoid có đồ thị là đường cong chữ S đặc trưng. Hàm này được
định nghĩa như sau:

Ảnh 4. Đồ thị của hàm Logistic sigmoid.

13


Hàm Logistic Sigmoid là hàm liên tục, có miền xác định là (-∞, +∞) và có miền

giá trị là (-1, 1). Nhìn vào đồ thị ở hình trên, có thể thấy rằng nếu đầu vào của hàm này
càng lớn, giá trị đầu ra sẽ càng tiến gần đến 1. Với đầu vào có giá trị càng âm thì đầu ra
của hàm càng tiến gần đến 0. Trước đây, hàm logistic sigmoid được ưu tiên sử dụng
làm hàm kích hoạt trong các mạng neural do tính chất khả vi và có một đạo hàm đẹp có
thể được tính tốn dễ dàng:

1.3. Cách thức hoạt động của một mạng neural.
Với mạng Neural Network thì mỗi nút mạng là một sigmoid neural
nhưng chúng lại có hàm kích hoạt khác nhau. Thực tế, người ta thường sử dụng có
cùng loại với nhau để việc tính tốn thuận lợi hơn.
Tại mỗi tầng, số lượng nút mạng có thể khác nhau cịn tùy vào bài tốn
hoặc cách giải quyết.
Tuy nhiên, khi làm việc người ta sẽ để các tầng ẩn số với số lượng neural
khác nhau. Ngoài ra, những neural nằm ở tầng thường sẽ liên kết đôi với nhau để tạo
thành mạng kết nối đầy đủ nhất. Khi đó, người dùng có thể tính tốn được kích cỡ của
mạng dựa vào tầng và số lượng neural.

1.4. Ứng dụng của mạng neural.
Mạng neural nhân tạo được ứng dụng cho rất nhiều lĩnh vực như: tài
chính, giao dịch, phân tích kinh doanh, lập kế hoạch cho doanh nghiệp và bảo trì sản
phẩm.
Neural Network cịn được sử dụng khá rộng rãi cho những hoạt động
kinh doanh khác như: dự báo thời tiết, và tìm kiếm các giải pháp nhằm nghiên cứu tiếp
thị, đánh giá rủi ro và phát hiện gian lận.

14


Nhiều trường hợp còn sử dụng mạng neural nhân tạo để thực hiện đánh
giá và khai quật những cơ hội giao dịch dựa vào việc phân tích dữ liệu lịch sử. Mạng

neural còn được áp dụng rất phổ biến để phân biệt sự phụ thuộc giữa các phi tuyến lẫn
nhau của đầu vào. Đây là vấn đề mà các mô hình phân tích kỹ thuật khác khơng thể
đáp ứng được. Dù vậy, sự chính xác của việc áp dụng mạng neural nhân tạo vào dự
đốn giá cổ phiếu hồn tồn khác nhau.

1.5. Cách dùng của mạng neural.
Mạng neural nhân tạo có khả năng sử dụng được như một loại cơ chế xấp
xỉ hàm tùy ý mà học được từ việc dữ liệu quan sát. Tuy nhiên, việc sử dụng chúng khá
khó và cần phải có sự hiểu biết tương đối về những lý thuyết cơ bản về mạng neural
này.
Lựa chọn mơ hình: phụ thuộc vào cách trình bày dữ liệu và các ứng dụng
của nó. Đây là mơ hình khá phức tạp nên có thể dẫn đến nhiều thách thức cho q trình
học.
Thuật tốn học: Thường sẽ có rất nhiều thỏa thuận giữa các thuật toán
học. Và hầu hết, chúng sẽ làm việc tốt với những tham số đúng nhằm huấn luyện trên
dữ liệu mà khơng nhìn thấy u cầu một số lượng đáng kể các thử nghiệm.
Mạnh mẽ: Nếu như các mơ hình, thuật tốn học và hàm chi phí được lựa
chọn một cách thích hợp thì Neural Network có thể cho ra kết quả vơ cùng hợp lý.
Nếu thực hiện chính xác, có thể sử dụng Neural Network một cách tự
nhiên và có thể ứng dụng vào những tập dữ liệu lớn.

CHƯƠNG 2. MƠ HÌNH MẠNG NEURAL VÀ HỌC SÂU (DEEP
LEARNING)
2.1. Deep learning là gì?
Deep Learning là một tập hợp con của Machine Learning, có khả năng
khác biệt ở một số khía cạnh quan trọng so với machine learning truyền thống, cho
15


phép máy tính giải quyết một loạt các vấn đề phức tạp khơng thể giải quyết được. Một

ví dụ về một nhiệm vụ machine learning đơn giản, nơng cạn có thể dự đoán doanh số
bán kem sẽ thay đổi như thế nào dựa trên nhiệt độ ngoài trời. Việc đưa ra dự đốn chỉ
sử dụng một vài tính năng dữ liệu theo cách này là tương đối đơn giản và có thể được
thực hiện bằng cách sử dụng một kỹ thuật machine learning gọi là hồi quy tuyến tính
với độ dốc giảm dần. Vấn đề là hàng loạt vấn đề trong thế giới thực khơng phù hợp với
những mơ hình đơn giản như vậy. Một ví dụ về một trong những vấn đề thực tế phức
tạp này là nhận ra các số viết tay. Để giải quyết vấn đề này, máy tính cần phải có khả
năng đối phó với sự đa dạng lớn trong cách thức trình bày dữ liệu. Mỗi chữ số từ 0 đến
9 có thể được viết theo vơ số cách: kích thước và hình dạng chính xác của mỗi chữ số
viết tay có thể rất khác nhau tùy thuộc vào người viết và trong hoàn cảnh nào. Đối phó
với sự biến đổi của các tính năng này và sự lộn xộn tương tác lớn hơn giữa chúng, là
nơi học tập sâu và mạng lưới thần kinh sâu trở nên hữu ích. Mạng lưới thần kinh là các
mơ hình tốn học có cấu trúc được lấy cảm hứng lỏng lẻo từ bộ não. Mỗi neural trong
mạng neural là một hàm tốn học lấy dữ liệu thơng qua đầu vào, biến đổi dữ liệu đó
thành dạng dễ điều chỉnh hơn và sau đó phun ra thơng qua đầu ra. Các neural trong một
mạng lưới thần kinh như được sắp xếp theo lớp, như hình dưới đây.

Ảnh 5. Mơ hình của một mạng thần kinh nhân tạo.
16


Tất cả các mạng thần kinh đều có một lớp đầu vào, trong đó dữ liệu ban
đầu được đưa vào và một lớp đầu ra, tạo ra dự đoán cuối cùng. Nhưng trong một mạng
lưới thần kinh sâu, sẽ có nhiều "lớp tế bào" ẩn giữa các lớp đầu vào và đầu ra, mỗi lớp
cho dữ liệu vào nhau. Do đó, thuật ngữ "Deep" trong "Deep Learning" và "mạng lưới
thần kinh sâu", nó liên quan đến số lượng lớn các lớp ẩn – thường lớn hơn ba – tại
trung tâm của các mạng thần kinh này.
Sơ đồ đơn giản hóa ở trên hy vọng sẽ giúp cung cấp một ý tưởng về cách
cấu trúc một mạng lưới thần kinh đơn giản. Trong ví dụ này, mạng đã được đào tạo để
nhận ra các số liệu viết tay, chẳng hạn như số 2 được hiển thị ở đây, với lớp đầu vào

được cung cấp các giá trị đại diện cho các pixel tạo thành hình ảnh của một chữ số viết
tay và lớp đầu ra dự đoán số viết tay nào đã được hiển thị trong hình ảnh.
Trong sơ đồ trên, mỗi vòng tròn đại diện cho một neural trong mạng, với
các neural được tổ chức thành các lớp thẳng đứng.
Mỗi neural được liên kết với mọi neural ở lớp sau, thể hiện thực tế là mỗi
neural tạo ra một giá trị vào mỗi neural ở lớp tiếp theo. Màu sắc của các liên kết trong
sơ đồ cũng khác nhau. Các màu khác nhau, đen và đỏ, thể hiện tầm quan trọng của các
liên kết giữa các neural. Các liên kết màu đỏ là những liên kết có ý nghĩa lớn hơn, có
nghĩa là chúng sẽ khuếch đại giá trị khi nó đi qua giữa các lớp. Đổi lại, sự khuếch đại
giá trị này có thể giúp kích hoạt tế bào thần kinh mà giá trị đang được đưa vào.
Một neural có thể được cho là đã được kích hoạt khi tổng các giá trị được
đưa vào neural này vượt qua ngưỡng đã đặt. Trong sơ đồ, các tế bào thần kinh được
kích hoạt có màu đỏ. Kích hoạt này có nghĩa là khác nhau theo lớp. Trong "Lớp ẩn 1"
được hiển thị trong sơ đồ, một neural kích hoạt có thể có nghĩa là hình ảnh của hình
viết tay chứa một tổ hợp pixel nhất định giống với đường nằm ngang ở đầu số viết tay
7. Theo cách này, "Lớp ẩn 1" có thể phát hiện nhiều đường và đường cong câu chuyện
cuối cùng sẽ kết hợp với nhau thành hình viết tay đầy đủ.

17


Một mạng lưới thần kinh thực tế có thể sẽ có cả hai lớp ẩn và nhiều
neural hơn trong mỗi lớp. Ví dụ: "Lớp ẩn 2" có thể được cung cấp các đường và đường
cong nhỏ được xác định bởi "Lớp ẩn 1" và phát hiện cách chúng kết hợp để tạo thành
các hình dạng có thể nhận biết, tạo thành các chữ số, như tồn bộ vịng lặp dưới cùng
của sáu. Bằng cách cung cấp dữ liệu chuyển tiếp giữa các lớp theo cách này, mỗi lớp ẩn
tiếp theo xử lý các tính năng ngày càng cao hơn.
Như đã đề cập, tế bào thần kinh được kích hoạt trong lớp đầu ra của sơ
đồ có một ý nghĩa khác. Trong trường hợp này, tế bào thần kinh được kích hoạt tương
ứng với số lượng mạng thần kinh ước tính nó được hiển thị trong hình ảnh của một chữ

số viết tay mà nó được cung cấp làm đầu vào.
Đầu ra của một lớp là đầu vào của lớp tiếp theo trong mạng, với dữ liệu
chảy qua mạng từ đầu vào đến đầu ra.
Nhưng làm thế nào để nhiều lớp ẩn này cho phép một máy tính xác định
bản chất của một chữ số viết tay? Nhiều lớp tế bào thần kinh này về cơ bản cung cấp
một cách để mạng lưới thần kinh xây dựng một hệ thống phân cấp thơ gồm các tính
năng khác nhau tạo nên chữ số viết tay trong câu hỏi. Chẳng hạn, nếu đầu vào là một
mảng các giá trị đại diện cho các pixel riêng lẻ trong hình ảnh của hình viết tay, lớp
tiếp theo có thể kết hợp các pixel này thành các đường và hình dạng, lớp tiếp theo kết
hợp các hình dạng đó thành các đặc điểm riêng biệt như các vòng lặp trong 8 hoặc tam
giác trên trong 4, và như vậy. Bằng cách xây dựng một bức tranh về các tính năng này,
các mạng thần kinh hiện đại có thể xác định – với độ chính xác rất cao – con số tương
ứng với một chữ số viết tay. Tương tự, các loại mạng thần kinh sâu khác nhau có thể
được đào tạo để nhận diện khn mặt trong hình ảnh hoặc để phiên âm lời nói bằng
văn bản.
Quá trình xây dựng hệ thống phân cấp ngày càng phức tạp này của các
tính năng của số viết tay khơng có gì ngồi các pixel được mạng học. Q trình học tập
được thực hiện bằng cách mạng có thể thay đổi tầm quan trọng của các liên kết giữa
18


các neural trong mỗi lớp. Mỗi liên kết có một giá trị đính kèm được gọi là trọng số, nó
sẽ sửa đổi giá trị được tạo ra bởi một neural khi nó truyền từ lớp này sang lớp kế tiếp.
Bằng cách thay đổi giá trị của các trọng số này và một giá trị liên quan được gọi là sai
lệch, có thể nhấn mạnh hoặc làm giảm tầm quan trọng của các liên kết giữa các neural
trong mạng.

Ảnh 6. Mô hình minh họa về cấu trúc của một mạng lưới thần kinh
và cách đào tạo hoạt động.


2.2. Cách thức hoạt động của Deep learning.
Deep Learning được xem là một phương pháp của học máy theo phương
pháp: lập trình AI sẽ được huấn luyện để dự đoán đầu ra dựa vào một tập đầu vào.
Ví dụ cụ thể: Dự đốn hành động của con mèo khi gặp chuột rồi tiến
hành huấn luyện nó bằng phương pháp học có giám sát. Khi muốn dự đốn được hành
động của nó vào các đầu vào sẽ được thực hiện như sau:
- Lựa chọn con mồi phù hợp
Lúc này: các bộ phận trên cơ thể của con mèo như mắt, móng
vuốt, tai,.. của con mèo sẽ trở nên rất nhanh nhạy.
- Con chuột sẽ xuất hiện ở đâu

19


Về cơ bản thì Deep Learning sẽ khơng khác với học máy thơng
thường. Tuy nhiên, với ví dụ trên thì thời gian cần dành khá nhiều mới có thể thiết kế
được các tính năng đại diện cho con mèo. Những gì cần làm là cung cấp cho hệ thống
một số lượng hình ảnh con mèo, video con mèo bắt chuột thì hệ thống có thể tự học
được những tính năng đại diện dành cho 1 con mèo.
Với những tác vụ như thị giác máy tính, nhận dạng giọng nói, robot hoặc
dịch máy thì hiệu suất của Deep Learning có thể vượt xa những hệ thống máy khác.
Tuy nhiên, việc xây dựng được hệ thống Deep Learning lại không mấy dễ dàng so với
hệ thống máy móc thơng thường.
Deep Learning có độ chính xác cao, có thể học sâu rộng và đạt được độ
chính xác ở mức cơng nhận vơ cùng cao. Điều này sẽ đảm bảo cho thiết bị điện tử tiêu
dùng có thể đáp ứng được mọi nhu cầu cũng như mong đợi từ phía người dùng. Deep
Learning rất trọng về độ an tồn đối với những mơ hình xe không người lái.
Các dữ liệu của Deep Learning sẽ được dán nhãn bởi việc phát triển của
xe không người lái địi hỏi hàng triệu hình ảnh cũng như hàng ngàn giờ để xem video.
GPU có hiệu suất cao và có kiến thức song song nên rất hiệu quả cho

Deep Learning. Nếu như kết hợp với điện toán đám mây hoặc các cụm thì nó cho phép
nhóm phát triển có thể giảm xuống tối đa thời gian đào tạo đối với mạng lưới học tập
sau vài tuần hoặc vài giờ.

2.3. Nên dùng Deep learning trong những trường hợp nào?
Deep learning nên được dùng trong khi dữ liệu phần lớn không có cấu
trúc và có rất nhiều dữ liệu.
Các thuật tốn Deep Learning có thể lấy dữ liệu lộn xộn và khơng có
nhãn rộng rãi – chẳng hạn như video, hình ảnh, bản ghi âm thanh và văn bản – và áp
đặt đủ thứ tự cho dữ liệu đó để đưa ra dự đốn hữu ích, xây dựng hệ thống phân cấp
các tính năng tạo nên con chó hoặc con mèo một hình ảnh hoặc âm thanh tạo thành một
từ trong lời nói.
20


2.4. Ứng dụng của Deep learning.
- Ứng dụng trong ngành công nghệ cao
Ứng dụng vượt bậc của Deep Learning không thể khơng kể đến đó
chính là chế tạo robot. Hiện nay, các phiên bản robot giống con người với khả năng
cảm nhận, phản ứng với môi trường đang dần được ra đời.
Hiện nay, robot cịn có thể hợp tác với các hoạt động của con
người và chúng có thể thực hiện được các nhiệm vụ riêng biệt phù hợp với thế mạnh
của chúng. Robot đang góp phần thay thế con người trong việc thực hiện các cơng việc
khó khăn hơn. Đây chính là phát minh tuyệt vời nhờ ứng dụng Deep Learning.
- Ứng dụng trong nơng nghiệp
Hiện nay, nhờ có Deep Learning mà người nơng dân có thể triển
khai những thiết bị có khả năng phân biệt được cỏ dại với cây trồng. Từ đó, các loại
máy móc phun thuốc diệt cỏ có thể chọn lọc phun lên cỏ dại để đảm bảo cho cây trồng
khơng bị ảnh hưởng.
Ngồi vai trị loại bỏ cỏ dại bằng thuốc diệt cỏ thì nhờ Deep

Learning mà sản lượng nông nghiệp ngày càng được cải thiện. Bên cạnh đó, Deep
Learning đang được mở rộng hơn nữa sang các hoạt động như: thu hoạch, tưới tiêu,
bón phân, gieo trồng,...
- Ứng dụng trong điện tử
Deep Learning được ứng dụng cho công việc nhận diện khuôn
mặt trong các thiết bị điện tử như điện thoại, các phần mềm như Facebook,
Messenger,... Thêm vào đó, Deep Learning cịn được dùng trong nghe dịch và nói tự
động mà trang web google translate đang sử dụng. Ngoài ra, một số thiết bị trợ giúp tại
nhà cũng được ứng dụng Deep Learning để đáp ứng giọng nói và hiểu được sở thích
của bản (đây chính là ứng dụng học sâu).
- Ứng dụng cho lĩnh vực khơng gian vũ trụ và quốc phịng
21


Deep Learning được dùng với các mục đích như: xác định các vật
thể như vệ tinh, xác định khu vực trung tâm, xác định khu vực an tồn và khơng an
toàn trong quân đội,...
- Ứng dụng trong y tế và chăm sóc sức khỏe
Deep Learning phát huy được hiệu quả siêu nổi bật của mình bằng
cách hiển thị dữ liệu chất lượng cao và đo lường khả năng của các mạng thần kinh rồi
thực hiện phân loại hình ảnh. Deep Learning có khả năng phân loại ung thư da chuẩn
xác và hiệu quả như một bác sĩ da liễu chuyên nghiệp.
Đồng thời, các nhà nghiên cứu về căn bệnh ung thư cũng đang
ứng dụng Deep Learning để có thể tự động phát hiện ra các tế bào phát bệnh, nó được
thực hiện như sau: chế tạo kính hiển vi tiên tiến để có thể tạo ra bộ dữ liệu có chiều cao
phù hợp, được dùng để đào tạo một ứng dụng học sâu để có thể xác định tế bào ung
thư.Ngồi ra, Deep Learning cịn có bước tiến quan trọng trong việc cải thiện chất
lượng sức khỏe của bệnh nhân bằng sự dự đoán với các sự kiện y tế từ dữ liệu hồ sơ
sức khỏe điện tử.
- Ứng dụng trong cơng nghiệp

Deep Learning có khả năng cải thiện sự an tồn cho các cơng nhân
xung máy móc hạng nặng bằng cách: tự động phát hiện nếu như người hoặc vật nằm
trong khoảng cách khơng an tồn đối với máy.

2.5. Deep learning có những nhược điểm nào?
Nhược điểm của Deep learning : Một trong những nhược điểm lớn là
lượng dữ liệu họ cần đào tạo, gần đây Facebook tuyên bố họ đã sử dụng một tỷ hình
ảnh để đạt được hiệu suất phá kỷ lục bởi một hệ thống nhận dạng hình ảnh. Khi các bộ
dữ liệu lớn như vậy, các hệ thống đào tạo cũng yêu cầu quyền truy cập vào một lượng
lớn sức mạnh tính tốn phân tán. Đây là một vấn đề khác của học tập sâu, chi phí đào
tạo. Do kích thước của bộ dữ liệu và số chu kỳ đào tạo phải được chạy, đào tạo thường
yêu cầu quyền truy cập vào phần cứng máy tính mạnh mẽ và đắt tiền, điển hình là GPU
22


cao cấp hoặc mảng GPU. Dù đang xây dựng hệ thống của riêng mình hoặc thuê phần
cứng từ nền tảng đám mây, khơng có tùy chọn nào có thể rẻ.
Mạng lưới thần kinh sâu cũng khó đào tạo, do cái được gọi là vấn đề độ
dốc biến mất, có thể làm xấu đi nhiều lớp hơn trong mạng lưới thần kinh. Khi nhiều
lớp được thêm vào, vấn đề độ dốc biến mất có thể dẫn đến việc mất một thời gian dài
không thể để đào tạo một mạng lưới thần kinh đến một mức độ chính xác tốt, vì sự cải
thiện giữa mỗi chu kỳ đào tạo là rất ít. Vấn đề không ảnh hưởng đến tất cả các mạng
thần kinh nhiều lớp, thay vào đó là các mạng sử dụng phương pháp học tập dựa trên độ
dốc. Điều đó nói rằng vấn đề này có thể được giải quyết theo nhiều cách khác nhau,
bằng cách chọn một chức năng kích hoạt phù hợp hoặc bằng cách đào tạo một hệ thống
sử dụng GPU hạng nặng.

2.6. Những kỹ thuật của Deep learning?
Những kỹ thuật Deep Learning: Có nhiều loại mạng lưới thần kinh sâu,
với các cấu trúc phù hợp với các loại nhiệm vụ khác nhau. Ví dụ: Mạng thần kinh

chuyển đổi (CNN) thường được sử dụng cho các tác vụ thị giác máy tính, trong khi
Mạng thần kinh tái phát (RNN) thường được sử dụng để xử lý ngôn ngữ. Mỗi lớp có
các chun mơn riêng, trong CNN, các lớp ban đầu được chuyên biệt để trích xuất các
tính năng riêng biệt từ hình ảnh, sau đó được đưa vào mạng thần kinh thơng thường
hơn để cho phép hình ảnh được phân loại. Trong khi đó, RNN khác với mạng neural
chuyển tiếp thức ăn truyền thống ở chỗ chúng không chỉ cung cấp dữ liệu từ lớp thần
kinh này sang lớp thần kinh tiếp theo mà cịn có các vịng phản hồi tích hợp, trong đó
đầu ra dữ liệu từ một lớp được đưa trở lại lớp trước nó – cho mạng một dạng bộ nhớ.
Có một dạng RNN chuyên biệt hơn bao gồm cái được gọi là ô nhớ và được điều chỉnh
để xử lý dữ liệu có độ trễ giữa các đầu vào.
Loại mạng thần kinh cơ bản nhất là mạng perceptron nhiều lớp, loại được
thảo luận ở trên trong ví dụ về các số liệu viết tay, trong đó dữ liệu được đưa về phía
trước giữa các lớp tế bào thần kinh. Mỗi neural thường sẽ biến đổi các giá trị mà chúng
được cung cấp bằng cách sử dụng chức năng kích hoạt, thay đổi các giá trị đó thành
23


một dạng, ở cuối chu kỳ đào tạo, sẽ cho phép mạng tính tốn được bao xa để đưa ra dự
đốn chính xác.
Có một số lượng lớn các loại mạng thần kinh sâu khác nhau. Khơng có
một mạng nào tốt hơn mạng kia, chúng chỉ phù hợp hơn để học các loại nhiệm vụ cụ
thể.
Gần đây, các mạng đối nghịch chung (Gans) đang mở rộng những gì có
thể để sử dụng các mạng thần kinh. Trong kiến trúc này, hai mạng thần kinh chiến đấu,
mạng máy phát điện cố gắng tạo ra dữ liệu "giả" thuyết phục và người phân biệt đối xử
cố gắng phân biệt sự khác biệt giữa dữ liệu giả và dữ liệu thực. Với mỗi chu kỳ đào
tạo, máy phát điện trở nên tốt hơn trong việc tạo ra dữ liệu giả và người phân biệt đối
xử có được con mắt sắc nét hơn để phát hiện ra những giả mạo đó. Bằng cách kết hợp
hai mạng với nhau trong quá trình đào tạo, cả hai có thể đạt được hiệu suất tốt hơn.
GAN đã được sử dụng để thực hiện một số nhiệm vụ quan trọng.


CHƯƠNG 3. KỸ THUẬT PHÂN LOẠI CLASSIFICATION
CNNs - CONVOLUTIONAL NEURAL NETWORKS
3.1. Convolutional neural network?
3.1.1. Convolutional neural network là gì?
CNNs (Convolutional neural networks) - mạng thần kinh tích chập
đặc biệt được xây dựng với khả năng trích xuất các nét độc đáo từ dữ liệu hình ảnh. Nó
giúp xây dựng những hệ thống thơng minh với độ chính xác cao, có khả năng áp dụng
vào thực tiễn. Ví dụ, chúng được sử dụng trong nhận dạng và phát hiện khuôn mặt vì
chúng có thể phát hiện các điểm phức tạp trong dữ liệu hình ảnh.
Giống như các loại mạng neural khác, mạng thần kinh tích chập
(CNNs) cũng sử dụng dữ liệu số. Vì thế, các hình ảnh đầu vào được cung cấp cho
CNNs đều phải được chuyển đổi thành dạng số, vì hình ảnh được tạo thành từ các
pixel, chúng được chuyển thành dạng số, sau đó chuyển đến CNN để xử lý.
24


3.1.2. Convulutional và Feature
Feature: có thể hiểu là đặc điểm, CNN sẽ so sánh các hình ảnh
theo từng mảnh, mỗi mảnh được gọi là Feature. So với việc khớp các bức ảnh lại với
nhau thì CNN sẽ tìm ra sự tương đồng trong việc tìm kiếm thơ các Feature khớp với
nhau trong 2 hình ảnh tốt hơn. Mỗi Feature sẽ được xem là một ảnh nhỏ, tức là chúng
cũng là những mảng 2 chiều nhỏ. Các Feature sẽ được khớp với nhau thơng các khía
cạnh, các điểm chung của bức ảnh, tức là Feature này sẽ tương ứng với khía cảnh nào
đó của bức ảnh và chúng sẽ được khớp lại với nhau.
Convulutional: có thể hiểu với ý nghĩa là tích chập. Đơn giản
hơn, khi xem một hình ảnh mới, CNN sẽ khơng biết nó ở vị trí nào, và các feature sẽ
khớp với nhau ở vị trí nào, vì thế nó sẽ thử ở tất cả các vị trí khác nhau. Trong q trình
đó được tạo thành bộ lọc (Filter). Và để thực hiện được điều này phải sử dụng phần
tốn gọi là neural tích chập.


Ảnh 7. Định nghĩa của Convolutional.
Nếu muốn tính tốn được sự khớp của các Feature với mỗi mảnh
của hình ảnh thì lấy kết quả của phép tính giữa mỗi điểm ảnh trong feature nhân với giá
trị của điểm ảnh tương ứng trong hình ảnh đó. Sau khi có được kết quả của phép tính
25


×