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

Nhận diện loài vi khuẩn qua ảnh hiển vi quang học bằng mạng trí tuệ nhân tạo

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 MB, 55 trang )

BỘ Y TẾ
TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI
--------***--------

LÊ TRƯỜNG SƠN

NHẬN DIỆN LOÀI VI KHUẨN QUA ẢNH
HIỂN VI QUANG HỌC BẰNG MẠNG
TRÍ TUỆ NHÂN TẠO
KHÓA LUẬN TỐT NGHIỆP DƯỢC SĨ

HÀ NỘI – 2020


BỘ Y TẾ
TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI
-------***-------

LÊ TRƯỜNG SƠN

MÃ SINH VIÊN: 1501430

NHẬN DIỆN LOÀI VI KHUẨN QUA ẢNH
HIỂN VI QUANG HỌC BẰNG MẠNG
TRÍ TUỆ NHÂN TẠO
KHÓA LUẬN TỐT NGHIỆP DƯỢC SĨ
Người hướng dẫn:
1. TS. Đỗ Ngọc Quang
Nơi thực hiện:
1. Bộ môn Vi sinh & Sinh học –
Trường Đại Học Dược Hà Nội



HÀ NỘI – 2020


LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành và sâu sắc đến Thầy giáo hướng
dẫn – TS Đỗ Ngọc Quang - Bộ môn Vi sinh & Sinh học - Trường Đại học Dược Hà
Nội đã tận tình hướng dẫn, chỉ bảo, tạo điều kiện học tập, nghiên cứu để tôi có thể
hoàn thành tốt khóa luận tốt nghiệp này. Điều đặc biệt mà tôi luôn trân trọng đó là sự
nhiệt tình, nhẫn nại dành thời gian hướng dẫn, chỉ bảo, đóng góp, trả lời những thắc
mắc và sửa chữa những vấn đề nhỏ nhặt mặc dù công việc của Thầy rất bận rộn.
Tôi cũng xin cảm ơn các giảng viên, giáo vụ trong bộ môn Vi sinh & Sinh học
– Đại học Dược Hà Nội đã quan tâm giúp đỡ và tạo điều kiện tốt nhất cho tôi thực
hiện khóa luận thành công. Đồng thời, tôi xin cảm ơn em Hoàng Minh Huyền – thành
viên của nhóm nghiên cứu, đã hỗ trợ tôi rất nhiều trong quá trình thực hiên khoá luận.
Cuối cùng tôi xin gửi lời biết ơn sâu sắc đến bố mẹ, gia đình và bạn bè thân
thiết đã luôn ở bên tôi suốt quãng thời gian đại học, là nguồn động viên tinh thần quý
giá giúp tôi có thể hoàn thành được cuốn luận văn này.
Hà Nội, ngày 22 tháng 6 năm 2020
Sinh viên
Lê Trường Sơn


MỤC LỤC
Trang bìa chính
Trang bìa phụ
Lời cảm ơn
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG

DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
ĐẶT VẤN ĐỀ ........................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN .................................................................................... 2
1.1. Giới thiệu về vi khuẩn và phương pháp phân loại vi khuẩn ................ 2
1.1.1. Vi khuẩn ........................................................................................ 2
1.1.1.1. Phân bố trong tự nhiên: .......................................................... 2
1.1.1.2. Hình thái: ................................................................................ 2
1.1.2. Phương pháp phân loại ................................................................. 3
1.1.2.1. Phân loại bằng kiểu hình ........................................................ 3
1.1.2.2. Phân loại bằng kiểu gen ......................................................... 4
1.2. Giới thiệu về mạng trí tuệ nhân tạo ...................................................... 4
1.2.1. Khái niệm và ứng dụng ................................................................. 4
1.2.2. Các thành phần chính của mạng trí tuệ nhân tạo ........................... 5
1.2.2.1. Perceptron ............................................................................... 5
1.2.2.2. Cấu tạo và hoạt động của ANN .............................................. 7
1.2.3. Một số dạng mạng trí tuệ nhân tạo ................................................ 9
1.2.3.1. Mạng Single Layer Perceptron (SLP) .................................... 9
1.2.3.2. Mạng Multi-Layer Perceptron (MLP) .................................... 9


1.2.3.3. Mạng tích chập (Convolutional Neural Network, CNN) ..... 10
1.2.3.4. Mạng hồi quy (Recurrent Neural Network, RNN)............... 11
1.2.4. Mạng tích chập ............................................................................ 11
1.2.4.1. Lớp tích chập (convolutional layer, CONV) ........................ 11
1.2.4.2. Lớp POOL (pooling layer) ................................................... 12
1.2.4.3. Mạng kết nối đầy đủ (fully-connected layer, FC hay lớp
Dense) ........................................................................................................... 12
1.2.5. Các bước xây dựng một mạng trí tuệ nhân tạo ........................... 13
1.2.5.1. Xác định kích thước của mạng trí tuệ nhân tạo ................... 13
1.2.5.2. Thiếu khớp (underfitting) và thừa khớp (overfitting) .......... 13

CHƯƠNG 2. VẬT LIỆU VÀ PHƯƠNG PHÁP NGHIÊN CỨU....................... 15
2.1. Nguyên vật liệu .................................................................................. 15
2.2. Thiết bị ............................................................................................... 16
2.3. Mô hình nghiên cứu ........................................................................... 17
2.3.1. Chuẩn bị dữ liệu ảnh ................................................................... 17
2.3.2. Khảo sát các cấu trúc của mạng trí tuệ nhân tạo ......................... 17
2.3.3. Khảo sát các tham số của mạng trí tuệ nhân tạo ......................... 17
2.3.4. Khảo sát ảnh hưởng của số lượng ảnh tập luyện ........................ 17
2.3.5. Xây dựng ANN nhận diện vi khuẩn cấp chi ............................... 18
2.3.6. Xây dựng ANN nhận diện vi khuẩn cấp loài .............................. 18
2.4. Phương pháp ...................................................................................... 18
2.4.1. Chuẩn bị dữ liệu ảnh ................................................................... 18
2.4.2. Xây dựng mạng trí tuệ nhân tạo .................................................. 19
2.4.2.1. Xây dựng ANN .................................................................... 20


2.4.2.2. Xây dựng CNN1................................................................... 20
2.4.2.3. Xây dựng CNN2................................................................... 21
2.4.2.4. Xây dựng CNN3................................................................... 21
2.4.2.5. Xây dựng Model3 ................................................................. 21
2.4.2.6. Xây dựng Model4 ................................................................. 22
2.4.3. Cài đặt hàm mất mát, hàm tối ưu hoá, hàm đánh giá .................. 23
2.4.4. Tập luyện và đánh giá mạng ANN .............................................. 23
2.4.5. Điều chỉnh tốc độ học và số lượng lọc ........................................ 23
CHƯƠNG 3. KẾT QUẢ NGHIÊN CỨU VÀ BÀN LUẬN................................. 25
3.1. Kết quả xử lý dữ liệu ảnh ................................................................... 25
3.2. Kết quả khảo sát kiến trúc của mạng trí tuệ nhân tạo ........................ 28
3.3. Kết quả khảo sát tham số của mạng trí tuệ nhân tạo .......................... 30
3.3.1. Khảo sát số lượng lọc của lớp Conv2D ...................................... 31
3.3.2. Khảo sát tốc độ học ..................................................................... 32

3.4. Kết quả khảo sát ảnh hưởng của số lượng ảnh tập luyện .................. 33
3.5. Mạng tri tuệ nhân tạo có khả năng nhận diện chi vi khuẩn ................ 34
3.6. Mạng trí tuệ nhân tạo có khả năng nhận diện loài vi khuẩn............... 36
CHƯƠNG 4. KẾT LUẬN VÀ ĐỀ XUẤT ............................................................ 39
4.1. Kết luận .............................................................................................. 39
4.2. Đề xuất ............................................................................................... 39
TÀI LIỆU THAM KHẢO


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ CÁI VIẾT TẮT
AFB

trực khuẩn bền vững với acid (Acid Fast Bacillus)

ANN

Mạng trí tuệ nhân tạo (Artificial Neural Network)

CNN

Mạng tích chập (Convolutional Neural Network)

CONV/Conv2D Lớp tích chập/ Lớp tích chập 2 chiều (Convolutional Layer)
DIBaS

Bộ ảnh chụp hiển vi quang học tiêu bản nhuộm Gram của loài
vi khuẩn (Digital Image of Bacterial Species)

FC


Lớp kết nối đầy đủ (Fully – connected layer)

GAP

Lớp tổng hợp trung bình toàn cục (Global Avergrage Pooling
Layer)

GD

Thuật toán Giảm Gradient (Gradient Descent)

MAXPOOL

Lớp tổng hợp cực đại (Max Pooling layer)

MLP

Mạng trí tuệ nhân tạo nhiều lớp (Multilayer Perceptron)

NLP

Xử lý ngôn ngữ tự nhiên (Natural Language Processing)

POOL

Lớp tổng hợp (Pooling layer)

RNN

Mạng hồi quy (Recurrent Neural Network)


SLP

Mạng trí tuệ nhân tạo một lớp (Single Layer Perceptron)


DANH MỤC CÁC BẢNG
Bảng 2.1 Số lượng ảnh mỗi vi khuẩn.
Bảng 2.2 Số lượng lọc/neuron trong mỗi lớp của các kiểu kiến trúc ANN
cơ bản.
Bảng 3.1 Độ chính xác trong quá trình luyện tập và kiểm chứng của các
mạng ANN. CNN1, CNN2 và CNN3.
Bảng 3.2 Khả năng nhận diện ảnh kiểm chứng của CNN3 khi thay đổi tham
số về số lớp lọc của lớp Conv2D.

15

20

29

31


DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1 Phương pháp nhận diện vi khuẩn.

4

Hình 1.2 Hình mô phỏng hoạt động của perceptron.


6

Hình 1.3 Đồ thị của hàm Sigmoid.

7

Hình 1.4 Mô hình ví dụ một ANN.

7

Hình 1.5 Mô hình hoạt động của mạng MLP và SLP.

10

Hình 1.6 Mô hình hoạt động của mạng CNN và RNN.

10

Hình 1.7 Mô hình hoạt động của các lớp tích chập CONV.

11

Hình 1.8 Ví dụ về cách hoạt động của lớp MAXPOOL.

12

Hình 1.9 Các hiện tượng thiếu khớp (a), khớp (b) và thừa khớp (c) trong
quá trình học của mạng trí tuệ nhân tạo.


14

Hình 2.1 Mô hình nghiên cứu.

17

Hình 3.1 Dữ liệu ảnh loài vi khuẩn DIBaS.

25

Hình 3.2 Ảnh gây nhiễu do mật độ tế bào thấp và có kích thước nhỏ hơn
58KB.
Hình 3.3 Ảnh gây nhiễu do mật độ tế bào quá cao.
Hình 3.4 Bộ ảnh khảo sát các điều kiện gồm 2000 ảnh của 2 loài vi khuẩn
Escherichia coli và Staphylococcus aureus.

26
26
27

Hình 3.5 Bộ ảnh phân loại cấp chi gồm 5000 ảnh của 5 chi vi khuẩn
Clostridium sp., Lactobacillus sp., Proteus sp., Pseudomonas sp. và

27

Staphylococcus sp.
Hình 3.6 Bộ ảnh phân loại cấp loài gồm 3500 ảnh 5 loài vi khuẩn thuộc
chi Lactobacillus: L. crispatus, L. rhamnosus, L. delbrueckii, L. jehnsenii

28


và L. gasseri.
Hình 3.7 Kiến trúc và tham số của các mạng neuron ANN, CNN1,
CNN2, và CNN3.

28


Hình 3.8 Khả năng nhận diện của các mạng neuron ANN, CNN1, CNN2,
CNN3 đối với ảnh tập luyện (a) và ảnh kiểm chứng (b).
Hình 3.9 Khả năng nhận diện ảnh kiểm chứng của mạng CNN3 khi thay
đổi các tham số về số lượng lọc của lớp Conv2D.
Hình 3.10 Khả năng nhận diện ảnh kiểm chứng của mạng neuron CNN3
khi sử dụng các tham số tốc độ học khác nhau.

30

32

33

Hình 3.11 Ảnh hưởng của số lượng ảnh luyện tập lên độ chính xác của
mạng CNN3 khi phân loại ảnh kiểm chứng của hai loài vi khuẩn E. coli

34

và S. aureus với lần lượt 1000, 700 và 500 ảnh mỗi loài.
Hình 3.12 Dữ liệu ảnh của hai chi vi khuẩn Proteus sp., Pseudomonas sp.,
và Lactobacillus sp.


35

Hình 3.13 Xây dựng và tập luyện mạng neuron Model3. (a) kiến trúc
mạng neuron Model3, (b) khả năng nhận diện ảnh tập luyện và ảnh kiểm

36

chứng, (c) khả năng nhận diện đối với từng chi vi khuẩn.
Hình 3.14 Xây dựng và luyện tập mạng Model4 (a) kiến trúc mạng
neuron Model4, (b) khả năng nhận diện ảnh tập luyện và ảnh kiểm chứng,
(c) khả năng nhận diện đối với từng chi vi khuẩn.

38


ĐẶT VẤN ĐỀ
Nhận diện vi khuẩn qua hình thái tế bào là một trong những phương pháp
truyền thống vẫn được áp dụng rộng rãi hiện nay trong nghiên cứu vi sinh vật. Trong
Y - Dược học, sử dụng hình thái tế bào kết hợp với đặc điểm nhuộm Gram cho phép
nhanh chóng phân nhóm các vi sinh vật gây bệnh để định hướng cho việc chẩn đoán
và điều trị bệnh. Tuy nhiên vì có kích thước ở cấp độ 10-6 m nên việc định tên chính
xác các vi khuẩn qua hình thái là vô cùng khó khăn và thường phải kết hợp với các
phân tích khác như đặc điểm trao đổi chất, vật liệu di truyền, v.v.., kèm theo đó là các
yêu cầu về trang thiết bị, hóa chất, nhân lực được đào tạo [33].
Mạng neuron nhân tạo là mạng tính toán mô phỏng theo cách thức hoạt động
của các neuron sinh vật trong tự nhiên [3]. Mạng neuron nhân tạo có khả năng xử các
số liệu phức tạp, có độ ổn định, có khả năng tự học, tốc độ tính toán nhanh. Trong Y
- Sinh học, mạng neuron nhân tạo đã được ứng dụng trong nhiều lĩnh vực như chẩn
đoán tế bào ung thư, phân tích trình tự genom, dự đoán cấu trúc protein, v.v.. [8],
[29], [32].

Trong một số nghiên cứu gần đây, mạng neuron nhân tạo đã được thử nghiệm
thành công trong việc phân loại vi sinh vật qua ảnh tiêu bản hiển vi quang học [46],
[37], [41]. Các mạng neuron trên được xây dựng theo các hướng khác nhau như kết
hợp nhiều phương pháp nhận diện hay tích hợp các mạng neuron sẵn có. Để góp phần
tạo nên một mạng neuron nhân tạo dễ vận hành và có tính ứng dụng cao trong việc
nhận diện vi khuẩn, chúng tôi đã thực hiện đề tài “Nhận diện loài vi khuẩn qua ảnh
hiển vi quang học bằng mạng trí tuệ nhân tạo” với mục tiêu bước đầu xây dựng được
mạng neuron nhân tạo có khả năng nhận diện được vi khuẩn qua ảnh hiển vi đến cấp
loài.

1


CHƯƠNG 1. TỔNG QUAN
1.1. Giới thiệu về vi khuẩn và phương pháp phân loại vi khuẩn
1.1.1. Vi khuẩn
1.1.1.1. Phân bố trong tự nhiên:
Vi khuẩn phân bố ở khắp mọi nơi trên Trái Đất. Vi khuẩn có mặt ở trong đất,
trong nước, trong không khí, trên và trong các vật dụng; trên và trong cơ thể của nhiều
loài sinh vật; ngay cả trong những môi trường khắc nghiệt như chất thải phóng xạ hay
suối nước nóng [11]. Về mặt y học, vi khuẩn là nguyên nhân chính gây bệnh truyền
nhiễm nguy hiểm.
1.1.1.2. Hình thái:
Kích thước vi khuẩn
Các tế bào vi khuẩn có kích thước nhỏ, thường được đo bằng đơn vị micromet
(1m = 10-6 m). Ví dụ, đường kính trung bình của Staphylococcus khoảng 0,5 – 2,0
m. Chiều dài của tế bào vi khuẩn Bacillus sp. nằm trong khoảng 1 – 10 m và đường
kính từ 0,25 – 1 m. Các vi khuẩn Mycoplasmas sp. lại có kích thước nhỏ, đường
kính chỉ từ 0,1 - 0,2 m [34]. Kích thước nhỏ bé nhưng diện tích bề mặt tiếp xúc của
quần thể các thế bào vi khuẩn lại rất lớn, cho phép vi khuẩn thực hiện trao đổi chất

nhanh chóng với môi trường [34], [40].
Đặc tính về hình khối vi khuẩn
Vi khuẩn có hình thái, kích thước đa dạng, khác nhau và được sắp xếp theo
cách thức khác nhau. Những dạng hình thái chủ yếu của vi khuẩn là dạng hình cầu,
dạng hình que và dạng xoắn, ngoài ra có dạng có cuống và dạng sợi. Những đặc tính
này thường điển hình cho một vài chi hoặc loài vi khuẩn [46]. Do đó, quan sát vi
khuẩn qua kính hiển vi đóng vai trò quan trọng trong nhận diện, phân loại vi khuẩn
cũng như chẩn đoán [33].
Đặc tính bắt màu của vi khuẩn
Nhuộm màu Gram là một trong những phương pháp hữu dụng nhất trong việc
nhận diện vi khuẩn, trong đó vi khuẩn được nhuộm màu và quan sát dưới kính hiển
vi. Theo tính chất bắt màu khi nhuộm màu Gram, vi khuẩn được chia thành hai nhóm:
2


vi khuẩn Gram dương (màu xanh tím) và vi khuẩn Gram âm (màu hồng đỏ). Nguyên
lý nhuộm màu Gram dựa trên sự khác biệt về độ dày thành tế bào với các thành phần
glycosaminopeptid và lipoprotein khác nhau: vi khuẩn Gram dương có lớp
peptidoglycan dày hơn từ 10 – 15 lần so với vi khuẩn Gram âm [26].
Dựa vào đặc tính kháng acid của các trực khuẩn bền vững với acid (AFB –
Acid Fast Bacillus) thuộc chi Mycobacterium, vi khuẩn khi nhuộm màu bằng phương
pháp Ziehl-Neelsen và so dưới kính hiển vi quang học, hình ảnh của AFB sẽ có màu
đỏ, các vi khuẩn không có đặc tính kháng acid sẽ có màu xanh. Phương pháp nhuộm
màu Ziehl-Neelsen thường được áp dụng trong lâm sàng để nhận diện vi khuẩn
Mycobacterium tuberculosis gây bệnh lao [42].
1.1.2. Phương pháp phân loại
Vi khuẩn được phân loại qua kiểu hình và kiểu gen. Các đặc điểm kiểu hình
được sử dụng cho phân loại như: hình thái tế bào, khuẩn lạc, đặc điểm vận động, đặc
điểm trao đổi chất, đặc điểm kháng nguyên, v.v... Các đặc điểm về kiểu gen được sử
dụng như: trình tự một nhóm gen đặc thù hay trình tự của toàn bộ genom của vi khuẩn

[26].
1.1.2.1. Phân loại bằng kiểu hình
Bước đầu tiên trong phân loại bằng kiểu hình là xác định các đặc điểm hình
thái của tế bào và khuẩn lạc của vi khuẩn (hình 1.1). Các thông tin như hình dạng tế
bào, đặc điểm bắt màu, đặc điểm khuẩn lạc, sắc tố tạo ra v.v… giúp phân nhóm vi
khuẩn một cách nhanh chóng.
Bước tiếp theo của phân loại bằng kiểu hình là xác định các đặc điểm trao đổi
chất cuả vi khuẩn. Môi trường sống khác nhau dẫn đến mỗi vi khuẩn sẽ có các phản
ứng trao đổi chất đặc thù như nguồn carbon, nitơ, nhu cầu sử dụng O2, khả năng phân
giải một số chất hữu cơ, v.v… Ví dụ xác định hoạt tính pyrrolidonyl arylamidase
dùng trong phân loại Streptococci và Enterococci tan máu nhóm B, xác định hoạt tính
coagulase dùng trong phân loại Straphylococcus aureus, v.v..

3


1.1.2.2. Phân loại bằng kiểu gen
Có hai nhóm kỹ thuật được sử dụng trong phân loại kiểu gen là: kỹ thuật sử
dụng “dấu vân tay” của gen, và kỹ thuật sử dụng trình tự gen (Hình 1.1) [26]. Trong
kỹ thuật sử dụng “dấu vân tay”, nhiễm sắc thể của vi khuẩn được phân hủy đặc hiểu
bởi enzym. Sản phẩm phân hủy là các đoạn nhiễm sắc thể với chiều dài khác nhau và
có tính đặc thù cho từng nhóm vi khuẩn (giống như “dấu vân tay”). Trong kỹ thuật
sử dụng trình tự gen, một nhóm gen hay toàn bộ nhiễm sắc thể của vi khuẩn sẽ được
giải trình tự và đối chiếu với các cơ sở dữ liệu đã được công bố. Kỹ thuật phân loại
sử dụng trình tự gen/genom có độ chính xác cao nhưng đòi hỏi nhiều trang thiết bị và
chi phí lớn [9].

Hình 1.1 Phương pháp nhận diện vi khuẩn.
1.2. Giới thiệu về mạng trí tuệ nhân tạo
1.2.1. Khái niệm và ứng dụng

Định nghĩa về mạng trí tuệ nhân tạo
Mạng trí tuệ nhân tạo (Artificial Neural Network, ANN) là mạng tính toán
được xây dựng theo mô hình mạng neuron của sinh vật. ANN gồm nhiều đơn vị tính
toán gọi là perceptron. Các perceptron kết nối với nhau thành mạng lưới. ANN có
khả năng “học” tương tự quá trình “học” ở người hay động vật [35]. Việc tiếp thu

4


kiến thức, trích xuất các đặc trưng từ dữ liệu thô ban đầu còn được gọi là quá trình
Học Máy (Machine Learning).
Ngày nay, ANN được sử dụng rộng rãi cho các ứng dụng y dược: trong chẩn
đoán, phân tích hình ảnh y tế và X quang; mô hình hóa trong y học và nghiên cứu
lâm sàng; trong dược lý học và khai thác dữ liệu y tế [18]; phát triển thuốc mới qua
việc dự đoán chính xác đặc tính dược lý của thuốc [1] hay dự đoán tác dụng của thuốc
dựa trên cấu trúc phân tử của thuốc và protein đích [17]. ANN đã được áp dụng thành
công trong một số lĩnh vực tài chính, chẳng hạn như định giá, dự đoán phá sản, dự
báo tỷ giá hối đoái và dự đoán thị trường chứng khoán [27].
Sàng lọc ung thư vú giai đoạn sớm bằng hình ảnh đóng vai trò quan trọng trong
việc ngăn chặn và điều trị thành công căn bệnh này. Tuy nhiên, việc sàng lọc này gặp
khó khăn vì tỉ lệ âm tính giả và dương tính giả cao. Nghiên cứu của McKinney và
cộng sự năm 2020 chứng minh rằng, mạng trí tuệ nhân tạo (ANN) có khả năng sàng
lọc chính xác với tỷ lệ đúng cao hơn con người [23].
1.2.2. Các thành phần chính của mạng trí tuệ nhân tạo
1.2.2.1. Perceptron
Các perceptron là nền tảng của bất kì mạng trí tuệ nhân tạo nào. Perceptron là
một hệ thống hoạt động dựa trên nguyên lý học cách nhận biết sự tương đồng hoặc
nhận dạng giữa các đặc tính của dữ liệu đầu vào, theo cách có thể tương tự gần với
các quá trình nhận thức của não bộ con người [31].
Tương đồng giữa neuron sinh học và neuron nhân tạo

Não bộ con người được cấu thành bởi một số lượng lớn các tế bào thần kinh,
hơn 100 tỷ tế bào thần kinh với nhiệm vụ xử lý thông tin. Mỗi tế bào hoạt động như
một bộ xử lý đơn giản [14]. Một tế bào thần kinh của não bộ hoạt động theo cơ chế:
(i) sợi nhánh (dendrite) có nhiệm vụ dẫn truyền dữ liệu đầu vào đến thân tế bào (cell
body); (ii) thân tế bào xử lý dữ liệu đầu vào; và (iii) sợi trục (axon) dẫn truyền dữ liệu
đầu ra tới các tế bào thần kinh khác mà nó kết nối, dữ liệu này sẽ là dữ liệu đầu vào
của các tế bào thần kinh phía sau [35].
Cấu tạo và cách thức hoạt động của perceptron

5


Quá trình tính toán trong một perceptron tương tự như một neuron sinh học.
Trong đó, dữ liệu đầu vào x được tiếp nhận, tính toán và tổng hợp dựa trên trọng số
w của mỗi liên kết với perceptron, thu được:
z = w1x1 + w2x2 + w3x3 + w4x4 + w0
Trong đó, w1, w2, w3, w4, w0 là các tham số trọng số có khả năng “học”
(weight), w0 còn được gọi là lệch số ( bias, kí hiệu khác: b). Các trọng số được gán
vào mũi tên đi tới node z, tập hợp tất cả các trọng số kí hiệu là W, tập hợp lệch số là
b [31], [7]. Sau đó, tổng z được hoạt hoá bằng một hàm số hoạt hoá (Activation
function, kí hiệu f) và xuất ra dữ liệu đầu ra: y = f(z) (Hình 1.2).

Hình 1.2 Hình mô phỏng hoạt động của perceptron.
Hàm số hoạt hoá (activation function)
Hàm số hoạt hoá (activation function) là một hàm số toán học cố định áp dụng
trong thuật toán của mỗi perceptron để cho ra một giá trị đầu ra. Các hàm số hoạt hoá
phổ biển bao gồm hàm sigmoid, ReLU hay hàm softmax [7].
Ví dụ: Hàm số hoạt hoá sigmoid:
Hàm số nhận giá trị đầu vào là số thực và nén nó trong khoảng từ 0 đến 1
(Hình 1.3). Hàm sigmoid được sử dụng rộng rãi trong lịch sử vì nó mô tả gần đúng

cách một neuron hoạt động: từ (0) thể hiện neuron bất hoạt đến (1) thể hiện neuron
được hoạt hoá [7].

6


Hình 1.3 Đồ thị của hàm Sigmoid.
1.2.2.2. Cấu tạo và hoạt động của ANN
Mạng trí tuệ nhân tạo (ANN) được cấu tạo từ nhiều lớp (layer) perceptron,
trong đó các perceptron trong cùng một lớp không có kết nối với nhau nhưng thường
được kết nối đầy đủ với perceptron ở các lớp kế bên. Đầu vào của ANN x được minh
hoạ bằng các node tròn (Hình 1.4).

Hình 1.4 Mô hình ví dụ một ANN.

7


Tập hợp các node ở hàng đầu tiên được gọi là lớp đầu vào. Đầu vào của node
tại lớp ẩn kí hiệu bởi z, đầu ra của mỗi node thường được kí hiệu là a (thể hiện sự
hoạt hoá, tức giá trị của mỗi node sau khi ta áp dụng hàm số hoạt hoá f lên z). Giá trị
cuối cùng tại lớp đầu ra kí hiệu là y. Mỗi kết nối giữa 2 perceptron trong ANN được
biểu diễn bởi một dây nối ứng với một trọng số w. Bộ trọng số W và lệch số b đặc
trưng cho độ mạnh yếu của các liên kết giữa các perceptron trong ANN (Hình 1.4).
Quá trình truyền dữ liệu từ perceptron đầu đến perceptron cuối được gọi là truyền
xuôi (forward-propagation) [12]. Mạng trí tuệ nhân tạo sẽ được luyện tập và đánh giá
bằng các thuật toán học máy.
Sai số dự đoán – Hàm mất mát (Loss function)
Hàm mất mát (loss function) đại diện cho “giá phải trả” khi thay thế giá trị
thực Y và giá trị dự đoán y được tính toán theo x, hay nói cách khác, hàm mất mát là

hàm số đặc trưng cho sự sai khác, chênh lệch giữa giá trị dự đoán y và giá trị thực Y.
Một số hàm mất mát dùng cho bài toán phân loại là: square loss, logistic loss,
exponential loss, hinge loss,… Việc lựa chọn hàm mất mát là một vấn đề thực
nghiệm, phụ thuộc chủ yếu vào yêu cầu tính toán [30]. Mục đích của quá trình luyện
tập cho mạng trí tuệ nhân tạo là tìm ra bộ W,b tối ưu sao cho giá trị dự đoán y gần
với giá trị thực Y nhất, tức tìm bộ W,b sao cho giá trị hàm mất mát nhỏ nhất.
Giảm gradient (Gradient Descent)
Trong thực tế, việc tìm chính xác giá trị nhỏ nhất của hàm mất mát là bất khả
thi do độ phức tạp của đạo hàm, số lượng biến số, số lượng các điểm dữ liệu,… Hướng
tiếp cận phổ biến nhất là xuất phát từ một điểm được coi là gần với nghiệm của bài
toán, sau đó dùng một phép toán lặp để tiến dần đến điểm cần tìm. Thuật toán này có
tên là Giảm gradient (Gradient Descent, GD) [24]. Việc thay đổi một lượng nhỏ giá
trị của các tham số W,b có thể thay đổi dữ liệu đầu ra y (giá trị dự đoán), dẫn đến
thay đổi giá trị của hàm mất mát (tăng hoặc giảm). Thuật toán giảm gradient giúp
ANN cập nhật hay “học” W,b sao cho giá trị hàm mất mát giảm dần tiến tới gần giá
trị nhỏ nhất. Phương trình cập nhật cho giá trị x là:
xt+1 = xt - . f’(xt)

8


Trong đó,  là một số dương được gọi là hệ số tốc độ học (learning rate).
Dấu trừ thể hiện t di chuyển ngược hướng f’(xt) ( đặc trưng cho độ dốc của hàm f).
Truyền ngược (backpropagation)
Dữ liệu đầu vào x được nhập vào lớp đầu vào của ANN, thông qua quá trình
truyền xuôi thu được giá trị dự đoán y, qua đó tính toán được giá trị của hàm mất mát.
Thuật toán truyền ngược cho phép sử dụng giá trị của hàm mất mát này để tính độ
dốc của hàm số theo các tham số W,b ngược từ lớp đầu ra đến lớp đầu vào của ANN.
Giá trị độ dốc này sử dụng cho thuật toán tối ưu giảm gradient (GD) giúp cập nhật bộ
trọng số W và lệch số b ngược từ cuối đến đầu của ANN [24], [12]. Dữ liệu đầu vào

dùng để luyện tập mạng trí tuệ nhân tạo cung cấp thông tin giúp cập nhật, củng cố bộ
W,b qua đó nâng cao độ chính xác của ANN khi dự đoán nhãn cho một dữ liệu mới.
1.2.3. Một số dạng mạng trí tuệ nhân tạo
1.2.3.1. Mạng Single Layer Perceptron (SLP)
Mạng Single Layer Perceptron (SLP) được cấu tạo bởi một lớp đầu vào truyền
dữ liệu thẳng đến lớp đầu ra, trong đó các neuron của đầu vào kết nối đầy đủ với các
neuron của đầu ra thông qua các đường kết nối đặc trưng bởi trọng số W (Hình 1.5).
Mạng trí tuệ nhân tạo này còn gọi là kiểu mạng feed-forward [7].
1.2.3.2. Mạng Multi-Layer Perceptron (MLP)
Mạng MLP là một mạng trí tuệ nhân tạo cơ bản, được cấu tạo bởi nhiều lớp
neuron, trong đó lớp đầu tiên là lớp đầu vào, lớp cuối cùng là lớp đầu ra, các lớp ở
giữa được gọi là lớp ẩn (Hình 1.5). Mỗi neuron đều được kết nối đầy đủ với tất cả các
neuron lớp phía trước và lớp phía sau, tuy nhiên các neuron trong cùng một lớp không
kết nối với nhau. MLP có thể giải quyết các vấn đề phức tạp hơn SLP [13]. Mặc dù
việc luyện tập cho mạng MLP có thể khó khăn hơn nhưng trong một số trường hợp,
mạng MLP có thể giải quyết được những vấn đề mà SLP không thể thực hiện được
[10], [7].

9


MLP

SLP

Hình 1.5 Mô hình hoạt động của mạng MLP và SLP.
1.2.3.3. Mạng tích chập (Convolutional Neural Network, CNN)
Mạng tích chập (convolutional neural network, CNN) là một mạng trí tuệ nhân
tạo đặc biệt với ít kết nối hơn so với mạng trí tuệ nhân tạo truyền thống (ANN) (Hình
1.6). Cách thiết kế mô hình như vậy giúp giảm số lượng tham số và phép toán cần

thiết để tối ưu mạng trí tuệ nhân tạo. Các neuron trong mạng tích chập kết nối với
nhau thưa thớt hơn giúp mạng tích chập cực kì hiệu quả trong việc giải quyết các vấn
đề Thị giác máy tính (Computer Vision) hay xử lý hình ảnh [12].

Mạng CNN

Mạng RNN

Hình 1.6 Mô hình hoạt động của mạng CNN và RNN.

10


1.2.3.4. Mạng hồi quy (Recurrent Neural Network, RNN)
Mạng hồi quy (RNN) là một dạng mạng trí tuệ nhân xử lý chuỗi thông tin (ví
dụ chuỗi kí tự trong một văn bản). Khác với mạng trí tuệ nhân tạo cổ điển, mạng hồi
quy cho phép dữ liệu đầu ra của một neuron nhân tạo trở thành dữ liệu đầu vào của
chính neuron nhân tạo đó (Hình 1.6) [7]. Mạng hồi quy (RNN) có ứng dụng quan
trọng trong xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP) như: Dịch
máy (Neural Machine Translation), Phân loại ngữ nghĩa (Semantic Classification) và
Nhận dạng giọng nói (Speech Recognition) [12].
1.2.4. Mạng tích chập
Mạng tích chập được cấu thành bởi 3 loại layer chính: lớp tích chập
(convolutional layer – kí hiệu CONV), lớp pooling (pooling layer – kí hiệu POOL),
và lớp kết nối đầy đủ (fully-connected layer, kí hiệu FC) (Hình 1.6).
1.2.4.1. Lớp tích chập (convolutional layer, CONV)
Lớp tích chập (CONV) là một bộ phận cốt lõi của mạng tích chập (CNN), nơi
thực hiện hầu hết các công việc tính toán. Mạng tích chập (CNN) hay lớp tích chập
(CONV) được thiết kế để trích xuất các đặc tính cục bộ chỉ phụ thuộc vào các tiểu
vùng nhỏ của hình ảnh. Thông tin từ các đặc tính cục bộ như vậy sau đó được hợp

nhất trong các giai đoạn xử lý sau này để phát hiện các tính chất bậc cao hơn và cuối
cùng để cung cấp thông tin về toàn bộ hình ảnh [4] (Hình 1.7).

Hình 1.7 Mô hình hoạt động của các lớp tích chập CONV.
Để trích xuất được nhiều đặc tính của ảnh đầu vào, lớp tích chập (CONV) sẽ
có nhiều bộ lọc (kernel, kí hiệu K), mỗi 1 bộ lọc giúp lọc ra một đặc tính nhất định
của ảnh (ví dụ cạnh dọc, sắc nét). Sau khi bộ lọc trượt qua toàn bộ ảnh đầu vào, ta thu
11


được giá trị đầu ra (output). Tham số W,b tạo nên một bộ lọc sẽ được “học” thông
qua thuật toán học máy.
1.2.4.2. Lớp POOL (pooling layer)
Thông thường, một lớp POOL được chèn giữa các lớp CONV với mục đích
giảm số lượng các tham số cần tính toán, qua đó kiểm soát được hiện tượng thừa khớp
(overfitting). Lớp POOL cũng áp dụng các bộ lọc tương tự như lớp CONV để làm
giảm kích thước cũng như số lượng tham số cần tính toán của tín hiệu đầu vào. Thuật
toán phổ biến nhất trong lớp POOL là MAX pooling, sử dụng bộ lọc có kích thước
2x2 pixel với bước trượt S =2 pixel, giúp làm giảm 75% số lượng tham số. Mỗi một
bước tính toán MAX pool, bộ lọc sẽ lọc ra số có giá trị lớn nhất trong bộ 4 số (do
kích thước bộ lọc là 2x2) (Hình 1.8).

Hình 1.8 Ví dụ về cách hoạt động của lớp MAXPOOL.
1.2.4.3. Mạng kết nối đầy đủ (fully-connected layer, FC hay lớp Dense)
Lớp cuối cùng của mạng thường là lớp kết nối đầy đủ (FC) tương tự như mạng
trí tuệ nhân tạo cổ điển (ANN). Do sử dụng các bộ lọc cục bộ, số lượng trọng số trong
CNN nhỏ hơn nhiều so với mạng kết nối đầy đủ ANN, giúp giảm thiểu việc tính toán,
giảm thời gian luyện tập và nâng cao độ chính xác trong quá trính phân loại cho dữ
liệu ảnh của CNN.


12


1.2.5. Các bước xây dựng một mạng trí tuệ nhân tạo
1.2.5.1. Xác định kích thước của mạng trí tuệ nhân tạo
Hai yếu tố cấu thành một mạng ANN cơ bản là độ sâu của mạng (số lượng lớp
neuron) và chiều rộng của mỗi lớp ( số lượng neuron nhân tạo có trong một lớp). Một
cấu trúc mạng trí tuệ nhân tạo (ANN) lý tưởng cho một tác vụ nhất định phải được
xây dựng dựa trên thực nghiệm và hiệu chỉnh bằng cách theo dõi độ chính xác của
mạng trí tuệ nhân tạo khi dự đoán bộ dữ liệu kiểm chứng [12].
Số lượng neuron trong lớp đầu vào và lớp đầu ra có thể được lựa chọn dựa trên
vấn đề cần giải quyết. Tính chất mong muốn của dữ liệu đầu ra sẽ giúp ta chọn được
hàm số hoạt hoá áp dụng cho các neuron tại lớp đầu ra [7]. Tuy nhiên, việc lựa chọn
chính xác số lớp của lớp ẩn và số lượng neuron tại lớp ẩn vẫn đang được nghiên cứu
và cần được xác định bằng thực nghiệm.
1.2.5.2. Thiếu khớp (underfitting) và thừa khớp (overfitting)
Khi xác định kiến trúc mạng trí tuệ nhân tạo bằng thực nghiệm, ta cần lưu ý
đến hai đại lượng thể hiện độ chính xác của quá trình luyện tập và độ chính xác của
quá trình dự đoán. Thiếu khớp (underfitting) xảy ra khi mô hình không đạt yêu cầu
về độ chính xác luyện tập (Hình 1.9), có thể do mạng có cấu trúc đơn giản, chưa đủ
để thực hiện tác vụ. Khi ta tăng kích thước của ANN, mạng trí tuệ nhân tạo sẽ có khả
năng xử lý lượng dữ liệu lớn và phức tạp hơn do tăng số lượng của bộ trọng số, lệch
số có thể “học”. Tuy nhiên, việc tăng kích thước của ANN sẽ dễ dẫn đến hiện tượng
thừa khớp (overfitting) – ANN được luyện tập và học quá tốt với bộ dữ liệu luyện tập
(ngay cả những dữ liệu nhiễu) khiến ANN mất đi tính tổng quát không đạt được kết
quả độ chính xác mong muốn (Hình 1.9) [12].

13



(a)

(b)

(c)

Hình 1.9 Các hiện tượng thiếu khớp (a), khớp (b) và thừa khớp (c) trong quá trình
học của mạng trí tuệ nhân tạo.

14


CHƯƠNG 2. VẬT LIỆU VÀ PHƯƠNG PHÁP NGHIÊN CỨU
2.1. Nguyên vật liệu
Dữ liệu ảnh lấy từ bộ dữ liệu loài vi khuẩn DIBaS [46]. Bộ dữ liệu ảnh loài vi
khuẩn DIBaS là một bộ dữ liệu mở, bao gồm ảnh chụp hiển vi quang học tiêu bản
nhuộm Gram của 33 loài vi khuẩn, mỗi loài có từ 20 đến 23 ảnh (Bảng 2.1). Tất cả
ảnh trong bộ dữ liệu loài vi khuẩn DIBaS đều có độ phân giải 2048x1532 pixel, được
chụp bằng kính hiển vi Olympus CX31 Upright Biological Microscope và máy ảnh
SC30 (Olympus Corporation, Nhật Bản).
Bảng 2.1 Số lượng ảnh mỗi vi khuẩn.
Số ảnh

Chi Loài
Acinetobacter baumanii

20

Actinomyces israelii


23

Bacteroides fragilis

23

Bifidobacterium sp.

23

Candida albicans

20

Clostridium perfringens

23

Enterococcus faecium

20

faecalis

20

Escherichia coli

20


Fusobacterium sp.

23

Lactobacillus casei

20

crispatus

20

delbrueckii

20

gasseri

20

jehnsenii

20

johnsonii

20

paracasei


20

15


×