Mở đầuBô cục của đô án: - _ Chương 1: Giới thiệu bài toàn phân loại ảnh chụp x-quang phổi và các cách tiếp cận dé giải quyết bài toán - Chương 2: Giới thiệu về mạng thần kinh tích chập C
Trang 1Học viện Công nghệ Bưu chính Viễn thông
Khoa Công nghệ thông tin 1
Sinh viên thực hiện: LÊ TRƯỜNG LONG
Mã sinh viên: B17DCAT115
Lớp: E17CN0I1-B
Khóa: D17
Giảng viên hướng dẫn: PGS.TS NGUYEN MẠNH HUNG
HÀ NỘI - 2021
Trang 2Học viện Công nghệ Bưu chính Viễn thông
Khoa Công nghệ thông tin 1
ĐÈ TÀI
PHAN LOẠI ANH CHỤP X QUANG PHOI
TRONG HỖ TRỢ CHAN DOAN BỆNH SỬ DỤNG HOC MAY
Sinh viên thực hiện: LÊ TRƯỜNG LONG
Mã sinh viên: B17DCAT115
Lớp: E17CN01-B
Khóa: D17
Giảng viên hướng dẫn: PGS.TS NGUYEN MANH HUNG
HÀ NỘI - 2021
Trang 3Lời cảm ơn
Loi cảm ơn
Lời đầu tiên, em xin gửi lời cảm ơn chân thành và sâu sắc đến Thay giáo hướng dẫn —
PGS.TS Nguyễn Mạnh Hùng - Trưởng Bộ môn Công nghệ phần mềm - Học viện Công
nghệ Bưu chính Viễn thông đã tận tình hướng dẫn, chỉ bảo, tạo điều kiện học tập, nghiêncứu dé em có thé hoàn thành khóa luận tốt nghiệp này Điều đặc biệt mà em 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
Lê Trường Long
Lê Trường Long - B17DCAT115 i
Trang 4Mở đầu 1
Chương 1: Bài toán phân loại hình ảnh x-quang phối 3
1.1 _ Bài toán phân loại hình ảnh x-quang phổi trong hỗ trợ chân đoán bệnh 31.2 Các hướng tiếp cận giải quyết bài toán 3
1.2.1 Naive Bayes 41.2.2 K lang giéng gan nhat — K Nearest Neighbor 5
1.2.3 _ Cây quyết định - Decision Tree 7
1.2.4 Mang nơ ron tích chap - Convolutional neural network 91.3 Dé xuất hướng tiếp cận đồ án 10
2.2.3 Lớp ReLU - ReLU layer 18
2.2.4 Lớp kết nói day đủ - Fully connected layer 19
Lê Trường Long - BI7DCAT115 ii
Trang 5Mục lục
2.3 Qua trình huấn luyện mạng CNNs 19
2.3.1 _ Tiền xử lý và tăng cường dữ liệu 19
2.3.2 Khởi tạo tham số 20
2.3.3 Chính quy hóa cho CNNs 212.3.4 Lua chọn trình tối ưu hóa 23
2.4 Mạng no ron VGG 25
2.4.1 Gidi thiéu vé mang VGG 252.4.2 Kién trúc mang VGG 262.5 Kết luận chương 27
Chương 3: Thử nghiệm và đánh giá 28
3.1 Công cu vả môi trường 28
3.1.1 Kaggle 28
3.1.2 Anaconda 28
3.1.3 — Jupyter Notebook 29 3.1.4 — TensorFlow 30 3.1.5 Môi trường 30
3.2 Các bước xử lý bải toán 31
3.2.1 | Thu thập dữ liệu 31
3.2.2 _ Tiền xử lý và tăng cường dit liệu 32
3.2.3 Xây dựng model huấn luyện 33
3.3 Phương pháp đánh giá model 39
3.3.1 | Phương pháp k-fold cross validation (đánh giá chéo) 39
3.3.2 _ Phương pháp phân tích kết quả model 40
Trang 6Mục lục
3.5.2 _ Kịch bản chuẩn của ứng dụng 433.5.3 — Trình bay ứng dụng 43
3.6 Kết luận chương 46Kết luận 47
Tài liệu tham khảo 49
Lê Trường Long - B17DCAT115 iv
Trang 7CNNs: Convolutional Neural Networks DT: Decision Tree
FN: False Negative
FP: False Positive
IDE: Integrated Development Environment
KDD: Knowledge Discovery in Databases 10.k-NN: K-Nearest Neighbor
11 MDP: Markov Decision Process
12 ML: Machine Learning
13 NBC: Naive Bayes Classification
14.ReLU: Rectified Linear Units
15.RL: Reinforcement Learning
16.SVM: Support vector machines
17 TN: True Negative
18 TP: True Positive
19 VGG: Visual Geometry Group
Lê Trường Long - B17DCAT115
Trang 8Danh mục các bảng biểu
Danh mục các bảng biêu
Bang 1-1 So sánh các phương pháp tiếp cận giải quyết bài toán - 11
Bang 2-1 Các cấu hình của mạng VGG ceeccescsssessesssessessessessessessesssessessessesssessesseeseens 26
Bảng 3-1 Môi trường huấn luyện model -2- 22 +¿2++2x£+£x++£++£E+ezxezrxezrxees 30Bảng 3-2 Bảng biểu diễn model CNNSI csssssssessesssesssesssesssessecasecsssssscsseeasecsseseessecs 33Bang 3-3 Bảng biểu diễn model CNNs2 - - 2-5252 S22EE‡EEEEEEEEEEEEEEEE2EE21e2EecErkee 36Bang 3-4 Các thông số TP, TN, FP, EN 2-2 ¿+E+SEeEE#EESEE2EEEEE2E2E 21212 EEkrrree 40
Bang 3-5 So sánh kết quả của các model 2- 2© 2 + E+EE£2E2EE+EE+EEezEEzExerxerxeres 42
Lê Trường Long - B17DCAT115 vi
Trang 9Hình 2-8 Nguyên lý hoạt động của thuật toán học dựa trên Gradient 24
Hình 3-1 Biểu đồ tỷ lệ các loại ảnh trong tập dữ liệu 2-2 2+s+x+z+ezxerssxeee 31
Hình 3-2 Kiến trúc model CNNsl 2- 22 +¿©2+2+£2EE2EEt2EEEEEESEESEEEEEkerkrsrkrrrrees 35Hình 3-3 Kiến trúc model CINNs2 -2- 2: 5£ ©S£+EE+EE9EEEEEEEEE2EEEEE2E122122121 2122 cre 38Hình 3-4 Hình biểu diễn phương pháp k-fold cross validation . -.: s:-: 39Hình 3-5 Giao diện chính của Ứng dung c1 SH ng kg 44 Hình 3-6 Người dùng tải ảnh lên webapp - Ác 1S Hệ, 44 Hình 3-7 Giao diện đã được tải ảnh lên - - 2 SE 2222211111125 EEEEeesssexee45Hình 3-8 Giao điện kẾt quả . -¿- 2 ¿+ +E+SE9EE+EE2EE2EE2EEEEEEEEE1E111112117121 11111 xe, 45Hình 3-9 Thông tin chân đoán từng ảnh 2-2 2 +x£SE+EE£EE£EE2E2EEEerEerkerxrreee 46
Lê Trường Long - B17DCAT115 vii
Trang 10ta đã có thể sử dụng máy móc hỗ trợ thay thế cho con người ngay cả trong lĩnh vực y tế
- một lĩnh vực đòi hỏi rât cao vê độ chính xác.
Các bệnh về phổi là một trong những nguyên nhân gây tử vong cao ở một số nước trênthé giới Tuy nhiên nếu được chan đoán sớm và chữa trị kịp thời thì sẽ giảm được mức
độ nguy hiểm và tăng tỷ lệ sống sót ở người bệnh Một trong những cách chân đoánbệnh phổ biến và thông dụng nhật đó là sử dung ảnh chụp X quang Tuy nhiên dé chanđoán bệnh dựa trên ảnh chụp X quang đòi hỏi bác sĩ cần có đủ kiến thức cũng như kinhnghiệm dé có thé chan đoán bệnh Nhung bác sĩ cũng là con người nên không thể tránhkhỏi việc có những sai sót Do đó nhiều phương pháp Hỗ trợ phát hiện máy tính -Computer Aided Detection (CAD) được đề xuất được đề xuất dé phát hiện nốt phổinhằm đưa ra ý kiến thứ hai cho các bác sĩ X quang và giúp họ chân đoán chính xác hơn
Hệ thống CAD có thê xác định vị trí các chỉ tiết tinh vi có thé rất quan trọng và có thé
bị các chuyên gia - con người bỏ sót.
Bài toán Phân loại ảnh chụp X quang phổi nhằm mục dich ứng dụng trong y tế hỗ trợcác bác sĩ trong việc chân đoán bệnh dựa trên ảnh chụp X quang Đây là nguồn thamkhảo giúp tăng độ tin cậy trong việc xác định bệnh.
Lê Trường Long - B17DCAT115 1
Trang 11Mở đầu
Bô cục của đô án:
- _ Chương 1: Giới thiệu bài toàn phân loại ảnh chụp x-quang phổi và các cách tiếp
cận dé giải quyết bài toán
- Chương 2: Giới thiệu về mạng thần kinh tích chập CNNs, cơ sở lý thuyết toán
học cách thức huấn luyện mạng
- _ Chương 3: Thử nghiệm xây dựng model thuật toán chan đoán bệnh sử dụng ảnh
chụp x-quang phổi và đánh giá kết quả
- Két luận: Những kết quả đạt được trong đồ án, những mặt còn hạn chế và hướng
phát triên thêm của đồ án
Lê Trường Long - B17DCAT115 2
Trang 12Chương 1: Bài toán phân loại hình ảnh x-quang phổi
Chương 1:
Bài toán phân loại hình ảnh x-quang phối
Chương | nêu ra bài toàn cần giải quyết trong đồ án này và các định nghĩa, cơ sở lýthuyết và các phương hướng tiếp cận dé giải quyết bài toán được đặt ra
1.1 Bài toán phân loại hình ảnh x-quang phôi trong
hồ trợ chân đoán bệnh
Đồ án này sẽ tập chung vào bài toán phân loại ảnh chụp x-quang phổi hỗ trợ chan đoánbệnh Nói một các chỉ tiết hơn đó là phân loại ảnh chụp x-quang của người bình thường,người mac viêm phổi và người mac covid từ đó sẽ hỗ trợ các bác sỹ đưa ra chân đoán
về bệnh một các kịp thời và chính xác hơn.
Bài toán này có thé hiểu đơn giản là việc phân loại ảnh chụp x-quang theo các danh mục
có san đã được quy định trước (trong đồ án này ta sẽ phân loại thành: phối người bình
thường, người bị viêm phổi, người mac covid-19)
- au vào (Input) của bài toán là một tập dữ liệu ban đầu gồm các ảnh được gan
nhãn theo các danh mục đã định sẵn Số lượng ảnh của từng danh mục nên được
để ngang nhau để tăng độ chính xác cho bài toán
- Pau ra (Output) của bài toán là máy đã được huấn luyện có thé gắn nhãn ảnh
chụp x-quang theo từng danh mục đã cho với độ chính xác có thể chấp nhận đượchoặc hơn.
1.2 Các hướng tiếp cận giải quyết bài toán
Bài toán được đặt ra thuộc dạng phân loại hình ảnh Phân loại dựa trên mô tả, kết cau
hoặc sự giống nhau của các mục hoặc sự vật Phân loại hình ảnh đề cập đến việc gắnnhãn các hình ảnh vào một trong số các danh mục được xác định trước Việc phân loại
hình ảnh bao gồm thu nhận hình ảnh, xử lý trước hình ảnh, phân đoạn hình ảnh Nhiều
kỹ thuật phân loại đã được phát triển để phân loại ảnh, mục này sẽ tập trung vào các
phương hướng tiếp cận có thê sử dụng đề giải quyết bài toán đề tài
Lê Trường Long - B17DCAT115 3
Trang 13Chương 1: Bài toán phân loại hình ảnh x-quang phổi
Quy tắc Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫu nhiên A khi biết sựkiện liên quan B đã xảy ra Xác suất này được ký hiệu là P(A|B), và đọc là "xác suất của
A nếu có B" được biéu diễn dưới dang công thức (1.1) Nó phụ thuộc vào 3 yếu tố:
+ Xác suất xảy ra A của riêng nó, không quan tâm đến B Ký hiệu là P(A)
+ Xác suất xảy ra B của riêng nó, không quan tâm đến A Ký hiệu là P(B)
+ Xác suất xảy ra B khi biết A xảy ra Ký hiệu là P(BỊA)
Naive Bayes cũng là một phần của họ thuật toán được gọi là thuật toán học có giám sát.Tức là loại thuật toán học bang cách xem các vi du được phân loại đúng Theo cach nói
của máy học, mỗi ví dụ là một tập hợp các tính năng, tức là các thuộc tính mô tả ví dụ
cụ thê đó Tap hợp các ví dụ mà thuật toán sử dụng dé học được gọi là tập huấn luyện
và các ví dụ mới và chưa từng thấy trước đây mà thuật toán sử dụng để kiểm tra xem nó
phân loại tốt như thế nào được gọi là tập kiểm tra Thuật toán kết thúc việc gan một lớp
hoặc nhãn.
Naive Bayes cũng là một công cụ phân loại xác suât Lớp hoặc nhãn ma thuật toán hoc
dự đoán là kết quả của việc tạo phân phối xác suất của tất cả các lớp mà nó được hiển thị, sau đó quyết định gán lớp nào cho mỗi ví dụ Bộ phân loại xác suất xem xét phân
phôi xác suât có điêu kiện.
Xét bài toán phân loại chó mèo dé có thé hiểu rõ hon cách thức ứng dung Naive Bayesvào trong bài toán phân loại hình anh Dé xác định được nhãn phân loại thì cần tính xác
suất có điều kiện là P(class | feature set) Trong bài toán chó mèo, các lớp (class) = {méo,
chó} và bộ đặc trưng (feature set) = {mau lông, chiêu dài cơ thê, chiêu cao, cân nặng,
Lê Trường Long - B17DCAT115 4
Trang 14Chương 1: Bài toán phân loại hình ảnh x-quang phổi
chiêu dai tai, móng vuôt}.Naive Bayes sẽ tính toán xác suat có điêu kiện cua tat cả các lớp và bởi vì nó là “ngây thơ”, nó sẽ giả định răng mọi đặc tính là độc lập với nhau,
không có môi tương quan nào giữa bat ky đặc tính nào và do đó, đóng góp của chúng trong việc dự đoán lớp không bị ảnh hưởng bởi các đặc tính khác.
Thay A = class, B = feature set vào công thức (1.1) ta được công thức Bayes cho phân
loai hinh anh:
P(feature set | class) P (class)
P(feature set) (1.2)
P(class|feature set) =
Xác suất P(class | feature set) còn được gọi là hậu nghiệm, xác suất sau thực tế, sau khi
xem xét tất cả các điều kiện đã cho Từ xác suất này ta có thê gán nhãn cho hình ảnh
Ưu nhược điểm của Naive Bayes:
Ưu điểm
Sự đơn giản
Yêu cầu tập huấn luyện nhỏ
Tính toán nhanh
Chia tỷ lệ tuyến tính với số lượng đặc tính và ví dụ huấn luyện
Nhược điểm:
+ Giả định về tính độc lập cao hiém khi đúng trong thế giới thực Đúng như tên gọi
thuật toán này “ngây thơ”.
+ Có thê cung cap các ước tính kém, dựa trên giả định về tính độc lập của nó.
1.2.2 K láng giéng gần nhất - K Nearest Neighbor
Thuật toán K-Nearest Neighbor [3](k-NN) hay còn gọi là thuật toán k láng giềng gần
nhất là phương pháp tiêu biéu nhất của học dựa trên ví dụ (instance-based learning) Họcdựa trên ví dụ không tạo ra mô hình hay hàm đích cho đữ liệu, thay vào đó, trong quá
trình học thuật toán chỉ lưu lại tất cả các mẫu huấn luyện được cung cấp Khi cần phân
loại hay ra quyết định cho ví dụ mới, thuật toán tìm những mẫu huấn luyện tương tự và
xác định nhãn phân loại hay giá trị của ví dụ dựa trên những mẫu này.
Lê Trường Long - B17DCAT115 5
Trang 15Chương 1: Bài toán phân loại hình ảnh x-quang phổi
Nguyên tắc của phương pháp này là đặc điểm của mẫu được quyết định dựa trên đặc
điểm của k mẫu giống mẫu đang xét nhất Ví dụ chọn ngẫu nhiên một quả bóng từ mộttúi đầy các quả bóng kim loại được làm bằng Vàng hoặc Sắt Để phân biệt quả bóngđược làm bang Vang hay Sắt, ban có thé kiểm tra Màu sắc, Độ dẫn điện, Điểm sôi va
Nhiệt độ nóng chảy của nó Chúng được gọi là các đặc tính Sử dụng các tính năng này,
chúng tôi có thé xác định nhãn của loại bóng
Do thuật toán không làm gì trong quá trình học mà chỉ lưu lại các mẫu huấn luyện,phương pháp học dựa trên ví dụ còn được gọi là học lười (lazy learning) hay học bằngcách nhớ (memory-based learning) Thuật toán k-hàng xóm gần nhất sử dụng cách biểu
diễn ví dụ đơn giản dưới dạng vectơ trong không gian Ơclit và sử dụng khoảng cách
Oclit dé tính độ tương tự, trong khi suy diễn theo trường hợp dựa trên việc biểu diễn các
mẫu (gọi là trường hợp) phức tạp hơn và dùng những kỹ thuật phức tạp được xây dựng
riêng đề tính độ tương tự cho các trường hợp.Giả sử mẫu x có giá trị thuộc tính là <
a;(x), aa(X), a„(x) > Dé xác định các mẫu giống x, cần có độ đo khoảng cách giữa
các mẫu Do mẫu tương ứng với điểm trong không gian, khoảng cách Ơclit thường được
dùng cho mục đích này Khoảng cách Ơclit giữa hai mẫu xi và xj được tính như sau [3]:
2
dœ,x) =.|Sƒ-(@,(%)) — aj(/)) (1.3)
Thuật toán KNN là một thuật toán hoc tập có giám sat đơn giản, mach lạc nhưng đanăng có thê được sử dụng đề giải quyết cả vấn đề phân loại và hồi quy (regression) Về
cơ bản, nó có thé được coi là một thuật toán đưa ra các dự đoán dựa trên bản chất của
các diém dữ liệu khác có mặt gân với nó trong tập dữ liệu huân luyện.
Thuật toán này thường được sử dụng khi có ít hoặc không có thông tin về việc phân phối
dữ liệu Ngoài ra, thuật toán có bản chất là phi tham số, có nghĩa là nó không đưa ra bất
kỳ giả định cơ bản nào về đữ liệu hoặc nói chung là mẫu phân phối của nó
Ưu nhược điểm của thuật toán k-NN:
Ưu điểm
+ k-NN không đưa ra bất kỳ giả định cơ bản nào về dữ liệu
+ k-NN có độ chính xác tương đối cao hơn nhiều thuật toán phân loại
Lê Trường Long - B17DCAT115 6
Trang 16Chương 1: Bài toán phân loại hình ảnh x-quang phổi
+ Với việc bé sung nhiều điểm dé liệu hơn, bộ phân loại không ngừng phát triển
và có khả năng nhanh chóng thích ứng với những thay đôi của dit liệu đầu vào.+ k-NN cho phép người dùng linh hoạt trong việc chọn chỉ số đo khoảng cách
Nhược điểm:
k-NN rất nhạy cảm với các yếu tố ngoài
Khi tập đữ liệu phát triển, việc phân loại trở nên chậm hơnk-NN không có khả năng xử lý các giá trị bị thiếu
1.2.3 Cây quyết định - Decision Tree
Thuật toán Decision Tree [2](DT) hay còn gọi là cây quyết định là một trong phươngpháp học máy tiêu biểu có nhiều ứng dụng trong phân loại và dự đoán Cây quyết địnhthuộc danh mục của kỹ thuật phân loại có giám sát, vì nó được coi là một trong những
thuật toán học quy nạp, có thể đào tạo các mẫu và xây dựng cây quyết định, sau đó sử
dụng nó trong quá trình phân loại dữ liệu Day là một phương pháp phi tham số độc lập
với các đặc điểm phân phối dữ liệu và được coi là một phương pháp thích hợp để kết
hợp đữ liệu phi phổ trong quá trình phân loại Cây quyết định bao gồm một cấu trúcphân cap được chia thành nhiều cấp, bắt đầu từ nút gốc (cơ sở) và một số nút con (bêntrong) và các lá (nút cuối) Các nút được liên kết thông qua các nhánh (Arches) đại diện
cho hướng của quá trình phân loại Ở mỗi cấp độ, thử nghiệm được áp dụng cho một
hoặc nhiều tính năng và có thể có một trong hai kết quả, nghĩa là mỗi nút có một nút cơ
sở (cha) trong cây quyết định và hai hoặc nhiều nút con
Cây quyết định có cấu trúc gồm 3 phần cơ bản như hình 1-1 Trong quá trình phân loại
ảnh, cây quyết định được tạo ra bằng cách lặp đi lặp lại việc phân chia phổ phân bố của
tập dữ liệu huấn luyện được nhập cho quá trình phân loại này Trong quá trình phân loại,
các giá tri phổ đại diện được xác định và ánh xạ tới một số lượng lớn các danh mục phânloại Cây quyết định nhăm mục đích phân chia tập dữ liệu thành một nhóm đồng nhất
về biến số được mong đợi, nghĩa là mỗi đầu của nút (1á) là một quyết định (danh mục
hoặc lớp).
Lê Trường Long - B17DCAT115 7
Trang 17Chương 1: Bài toán phân loại hình ảnh x-quang phổi
Root
— Node
— Leaf
Hình 1-1 So đô cấu trúc DT [2]
Cây quyết định dựa trên một số thuật toán đã cùng nhau tạo thành cơ sở toán học ma từ
đó cây quyết định có thể được xây dựng Thuật toán học cây ID3, một thuật toán đơn
giản nhưng có tính đại diện cho cách xây dựng cây như vậy ID3 là viết tắt của từIterative Dichotomiser 3 (tạm dịch là phân chia lặp hay phân chia tuần tự) Thuật toánnày do Ross Quinlan phát triển và có một phiên bản cải tiễn gọi là C4.5
Thuật toán học câu ID3 sử dung một tập hợp các ví dụ có định dé xây dựng cây quyếtđịnh và nó sử dụng cây kết qua dé phân loại các mẫu trong tương lai ID3 xây dựng câyquyết định dựa trên thông tin thu được từ các phiên bản huấn luyện, sau đó sử dụngthông tin tương tự dé phân loại dir liệu thử nghiệm va sử dụng các thuộc tinh của phânloại, ngoài ra không có gia tri nào bi thiếu Thuật toán này đơn giản, dễ thực hiện va dua
trên code đơn giản.
Thuật toán xây dựng cây ID3 sử dụng entropy làm mức đo độ đồng nhất của tập dữ liệu.Trên cơ sở entropy, thuật toán tính độ tăng thông tin như mức tăng độ đồng nhất, từ đâyxác định thuộc tính tốt nhất tại mỗi nút
Trong trường hợp tổng quát với C nhãn phân loại có xác suất lần lượt là ø, øạ,
De-entropy được tính như sau [1]:
H(S) = — 3ï=1 Pil0820i (1.4)
Độ tăng thông tin (Information Gain), ký hiệu IG, là chỉ số đánh giá độ tốt của thuộc
tính trong việc phân chia tập dữ liệu thành những tập con đồng nhất IG được tính dựatrên entropy theo công thức sau [1]:
IG(S,A) = H(S) — Dvevatues(a eH (Sv) (1.5)
Lê Trường Long - B17DCAT115 8
Trang 18Chương 1: Bài toán phân loại hình ảnh x-quang phổi
trong đó:
S là tập dữ liệu ở nút hiện tại
A là thuộc tính values(A) là tập các giá tri của thuộc tính A.
Sv là tập các mẫu có giá trị thuộc tính A bằng v
|S| va |Sv| là lực lượng của các tập hợp tương ứng.
Ưu nhược điểm của thuật toán DT:
Ưu điểm
+
+
So với các thuật toán khác, cây quyết định không đòi hỏi cao cho việc chuẩn bị
dữ liệu trong quá trình tiền xử lý
DT không yêu cầu chuẩn hóa dữ liệu
DT cũng không yêu cầu mở rộng dit liệu
Các giá trị bị thiếu trong dữ liệu cũng không ảnh hưởng đến quá trình xây dựngcây quyết định ở bat kỳ mức độ đáng ké nào
Mô hình DT rất trực quan và dễ giải thích cho các bên liên quan
cây quyết định gây ra sự mat ôn định
Đối với DT, đôi khi việc tính toán có thê phức tạp hơn nhiều so với các thuật toán
khác.
DT thường đòi hỏi thời gian cao hơn dé đào tạo mô hình
Việc đào tạo DT định tương đối tốn kém vì độ phức tạp và thời gian nhiều hơn
1.2.4 Mạng nơ ron tích chập - Convolutional neural network
Convolutional Neural Network [16](CNNs hoặc ConvNet) được tạm dịch là: Mạng nơ ron tích chập Đây được xem là một trong những mô hình của Deep Learning — tập hợp
các thuật toán đê có mô hình dữ liệu trừu tượng hóa ở mức cao băng cách sử dụng nhiêu
Lê Trường Long - B17DCAT115 9
Trang 19Chương 1: Bài toán phân loại hình ảnh x-quang phổi
lớp xử lý cấu trúc phức tạp Hiểu đơn giản, CNNs là một lớp của mạng nơ-ron sâu ,được áp dụng phô biến nhất đề phân tích hình ảnh trực quan
Mạng CNNs được thiết kế với mục đích xử lý đữ liệu thông qua nhiều lớp mảng Ngoài
ra, CNNs có thể giúp bạn tạo ra được hệ thống thông minh, phản ứng với độ chính xác
khá cao So với những mạng nơ ron thông thường, mạng CNNs nhận đầu vào là mộtmang hai chiều và hoạt động trực tiếp trên hình ảnh thay vì tập trung trích xuất tinh năng
mà bạn thường thấy ở các mạng nơ ron khác
Trong phân loại hình ảnh y tế thi mạng noron tích chập (CNNs) là kiến trúc được sử
dụng vô cùng phổ biến do có độ chính xác cao CNNs tuân theo một mô hình phân cấp
hoạt động dựa trên việc xây dựng một mạng lưới giống như một cai phéu, và cuối cùng
đưa ra một lớp được kết nối đầy đủ, nơi tất cả các nơron được kết nối với nhau và đầu
ra đã được xử lý [17].
Ưu nhược điểm của CNNs:
Ưu điểm:
+ Độ chính xác cao
+ Ưu điểm chính của CNNs là nó tự động phát hiện các đặc tính quan trọng mà
không cần bắt kỳ sự giám sát nào của con người
+ Hiệu suất cao một số trường hợp còn vượt qua hiệu suất của con người
Nhược điểm:
+ Một số mô hình tương đối lớn và phức tap
+ Tốn thời gian để huấn luyện
+ Tiêu tốn phần cứng dé tăng khả năng xử lý
1.3 Đề xuất hướng tiếp cận đồ án
Từ các cách tiép cận nêu ở trên ta có bang 1.1 so sánh ưu nhược điêm tông quát của từng
phương pháp như sau:
Lê Trường Long - B17DCAT115 10
Trang 20Chương 1: Bài toán phân loại hình ảnh x-quang phổi
Bảng 1-1 So sánh các phương pháp tiếp cận giải quyết bài toán
Phương pháp Ưu điểm Nhược điểm
NBC Don giản tính toán nhanh, Yêu | Giả định về tính độc lập cao
cầu tập huấn luyện nhỏ hiếm khi đúng trong thé giới
thực dẫn đến kết quả kémtrong thực tế
k-NN Độ chính xác tương đối cao, có | k-NN rất nhạy cảm với các yếu
khả năng nhanh chóng thích | tố ngoài và không có khả năng
ứng với những thay đổi trong | xử lý các giá trị bị thiếu
tập dữ liệu đầu vào
DT Không đòi hỏi cao cho việc Có xu hướng overfit tập dữ
chuẩn bị dữ liệu trong quá liệu huấn luyện, sự thay đôi
trình tiền xử lý nhỏ trong dit liệu có thé gây
ra sự thay đôi lớn trong cautrúc của cây quyết định
CNNs Độ chính xác cao, tự động Mô hình phức tạp, tốn thời
phát hiện các đặc tính quan gian dé huấn luyện, tốn phantrọng mà không cần sự giám | cứng
sát của con người
Nhìn bảng 1.1 có thé thay được rang mỗi phương pháp đều có ưu nhược điểm khác nhauphù hợp với từng tình huống cho từng bài toán nhất định riêng Tuy nhiên dé có thé đưa
ra đê xuât về hướng tiép cận cho bài toán thì cân phải xét tới các yêu câu đặc trưng cua
bài toán cân giải quyết.
Bài toán cần giải quyết là phân loại hình ảnh x-quang phổi thuộc loại bài toán phân loại
ảnh y tế Vì là lĩnh vực y tế nên yêu cầu tối quan trọng đó là tính chính xác của kết quả.Kết luận:
Từ các ưu nhược điêm của các phương pháp và yêu câu về tính chính xác của bài toán
phân loại hành ảnh x-quang phối nên đồ án nay sử dụng phương pháp Mạng nơ rontích chập - Convolutional neural network làm hướng tiếp cận giải quyết vấn đề
Trang 21Chương 1: Bài toán phân loại hình ảnh x-quang phổi
1.4 Kết luận chương
Chương | này đã định nghĩa bài toàn cần giải quyết trong đồ án nay và nền tảng lý thuyếtcần được sử dụng trong giải quyết bài toàn Một số ý chính như sau:
- Bài toán được đặt ra dé giải quyết trong đồ án này: “Bài toán phân loại hình anh
chụp x-quang phổi trong hỗ trợ chan đoán bệnh”
- Pua ra một số phương án tiếp cận dé giải quyết bài toán đặt ra
- Đỗ án này sử dụng phương pháp Convolutional neural network dé xây dựng
model phân loại ảnh chụp x-quang phi
Chương 2 sẽ tiếp tục phân tích chỉ tiết các hoạt động của Convolutional neural network,
cách huân luyện model, và các model phân loại ảnh nôi tiêng.
Lê Trường Long - B17DCAT115 12
Trang 22Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
bài toán được đặt ra ở chương 1.
2.1 Giới thiệu về CNNs
2.1.1.Mạng nơ ron
Mạng nơ-ron nhân tạo - Artificial Neural Network [8] (ANN) được lấy cảm hứng từ quátrình xử lý thông tin và các nút giao tiếp phân tán trong các hệ thống sinh học ANN có
nhiều điểm khác biệt so với não sinh hoc Cu thé, mạng lưới thần kinh có xu hướng tinh
và tượng trưng, trong khi bộ não sinh học của hầu hết các sinh vật sống là động
Mạng nơ-ron là các thuật toán, tính toán từ đầu vào x (ví dụ: hình ảnh), đầu ra y Nhưthể hiện trong hình 2.1, đầu ra này thường là một tập hợp các xác suất: ví dụ đầu ra đầutiên là xác suât mà hình ảnh có chứa một con mèo (con sô nay cảng gân 100%, điêu đó
Lê Trường Long - B17DCAT115 13
Trang 23Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
có nghĩa là thuật toán chắc chắn chính nó), thứ hai là xác suất mà hình ảnh có chứa một
con chó, v.v Dé đơn giản hóa, xét trong vi dụ cụ thê hai lớp: mèo và chó.
Về mặt toán học [12], một thuật toán như vậy xác định một hàm f (y = f (x)) Chươngtrình máy tính tính toán chức năng này rất đơn giản: nó được tạo thành từ một chuỗigồm nhiều giai đoạn và mỗi giai đoạn thực hiện các phép tính cơ bản (cộng, nhân và tốiđa) Trong khi đó, các chương trình máy tính được tìm thấy trong hệ điều hành của máytính phức tạp hơn nhiều
Nhưng điều tạo ra sự khác biệt lớn giữa thuật toán “cổ điển” va mạng nơ-ron là thuậttoán nơ-ron phụ thuộc vào các tham số, là trọng số của các nơ-ron Trước khi sử dụngmạng nơron, các trọng số này phải được sửa đổi dé thuật toán có thê giải quyết tốt nhấttác vụ được yêu cầu Điều này được thực hiện băng cách sử dụng các phương pháp toánhọc và thuật toán sẽ được giải thích trong các phần sau Quá trình này được gọi là “đàotạo” một mạng nơ-ron, và quá trình này đòi hỏi nhiều thời gian, máy móc tính toán vànăng lượng.
Các nơ-ron tính tông trọng sô của các tín hiệu đâu vào và so sánh kêt quả với giá trị ngưỡng,Ø Nêu dau vào mạng nhỏ hơn ngưỡng, dau ra nơ-ron là -1 Nhưng nêu đâu vàolớn hơn hoặc bằng ngưỡng, nơ-ron sẽ được kích hoạt va đầu ra của nó đạt giá trị +1
Nói cách khác, noron sử dụng chức năng truyền hoặc hàm kích hoạt [9]:
X = 3ï-iXiW Y= tự X<0 (2.1)1,X20
Trong đó X là dau vào có trọng sô cua noron, x; là gia tri cua dau vao 1, wi là trọng sô
của đâu vao i, n là sô đâu vào của noron và Y là đâu ra của nơron Loại hàm kích hoạt này được gọi là hàm ký hiệu (sign function).
Do đó, đầu ra thực tế của nơ-ron có chức năng kích hoạt dấu hiệu có thê được biểu diễn
dưới dạng [9]:
Y = sign[3?—oX¡W;¡ — 9] (2.2)
Các hàm kích hoạt bước và dấu hiệu, còn được gọi là hàm giới hạn cứng, thường được
sử dụng trong các nơ-ron ra quyét định cho các nhiệm vụ phân loại và nhận dạng mâu.
Lê Trường Long - B17DCAT115 14
Trang 24Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
2.1.2.Mạng nơ-ron tích chập - CNNs
Nền tảng của mạng nơ-ron tích hợp bắt đầu từ phát hiện của Hubel và Wiesel vào năm
1959 Năm 1980, Kunihiko Fukushima đề xuất Neocognitron, là một Mạng thần kinh tự
tổ chức, chứa nhiều lớp, có khả năng nhận dang các mẫu hình ảnh phân cấp thông quahọc tập và kiến trúc này đã trở thành mô hình lý thuyết đầu tiên của CNN Năm 1989,LeCun đã thực hiện một cải tiến lớn đối với kiến trúc của Neocognitron bang cach phat
triển một khuôn khô hiện đại của CNNs, được gọi là LeNet-5 LeNet-5 đã được đào tạo
băng cách sử dụng thuật toán lan truyền ngược lỗi và nó có thể nhận ra các mẫu trực
quan trực tiếp từ các hình ảnh đầu vào thô mà không cần sử dụng bất kỳ cơ chế kỹ thuậttính năng riêng biệt nào [4] Sau khi phát hiện ra LeNet-5, vì một số hạn chế như thiếu
dữ liệu đào tạo lớn, thiếu đổi mới trong thuật toán và khả năng tính toán không đầy đủ,
CNNs đã không thực hiện tốt các bài toán phức tạp khác nhau Nhưng ngày nay, trong
kỷ nguyên Dữ liệu lớn, chúng ta có các bộ dt liệu được gắn nhãn lớn, các thuật toán
sáng tạo hơn và đặc biệt là các máy GPU mạnh mẽ.
CNNs có một lớp đầu vào, lớp đầu ra và các lớp ân Các lớp an thường bao gồm các
convolutional layer (lớp tích chập), ReLU layer (lớp ReLU), pooling layer (lớp gộp) và
Fully connected layer (lớp kết nối đầy đủ)
Convolution Layer
Trong lớp tích chập, các tế bào thần kinh chỉ nhận đầu vào từ một vùng con của lớp
trước đó Trong lớp được kết nối đầy đủ, mỗi nơron nhận đầu vào từ mọi phần tử của
Trang 25Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
Chúng được học trong khi mạng huấn luyện về một tập hợp các hình ảnh Điều này làm
cho các mô hình học sâu cực kỳ chính xác cho các tác vụ thị giác máy tính CNNs học
cách phát hiện đặc tính thông qua hàng chục hoặc hàng trăm lớp ẩn Mỗi lớp làm tăng
Hình 2-3 biểu diễn ba bước đầu của cách hoạt động lớp tích chập, trong đó hạt nhân 2 x
2 (được hiển thị bang màu xanh lam nhạt) được nhân với cùng một vung có kích thước(hiển thị bang màu vàng) trong hình anh đầu vào 4 x 4 và các giá trị kết quả được tong
hợp dé có được mục nhập tương ứng (được hién thị bằng màu xanh lam đậm) trong bản
đô tính năng đâu ra ở mỗi bước tích chập.
nh: TE fea
Hình 2-3 Ba bước dau cách hoạt động của lớp tích chập [4]
Sau khi thực hiện phép tính tích chập hoàn chỉnh, bản đồ đặc trưng đầu ra cuối cùngđược hiền thị trong hình 2-4:
Lê Trường Long - B17DCAT115 16
Trang 26Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
Hình 2-4 Bản đồ đặc trưng sau thực hiện phép tính tích chập hoàn chỉnh [4]
Quá trình trượt các bộ lọc thường có các giá trị được quy định bao gồm:
- Padding: quy định bộ đệm của bộ lọc hay chính là phần mau xám được thêm vào
ảnh nói cách khác là các giá trị 0 được thêm vảo lớp input
- Stride: kích thước bước đã thực hiện trượt theo vi trí ngang hoặc dọc Ví dụ:
stride of one có nghĩa là bạn đang di chuyền bộ lọc của mình qua một pixel tại
một thời điểm Quy ước là stride of two.
Công thức dé tìm kích thước bản đồ đặc trưng đầu ra như sau [4]:
h’ = => + 1Ì w' = => + 1| (2.3)s s
Trong đó h’ biểu thị chiều cao của bản đồ đạc trưng, w’ biểu thị chiều rộng của bản đồ,
h biểu thị chiều cao của hình ảnh đầu vào, w biểu thị chiều rộng của hình ảnh đầu vào,
f là kích thước bộ lọc, p biểu thị phần đệm của phép toán tích chập và s biểu thị bước
nhảy của phép toán tích chập.
2.2.2 Lớp gộp - Pooling layer
Pooling layer [18] - lớp tong hợp/gộp được sử dung dé lay mẫu con ban đồ đặc trưng,tức là nó lấy bản đồ đặc trưng có kích thước lớn và thu nhỏ chúng thành bản đồ đốitượng có kích thước thấp hơn
Trong khi thu nhỏ các bản đồ đặc trưng, nó luôn bảo toàn các đối tượng đặc tính (hoặc
thông tin) nồi trội nhất trong mỗi bước gộp Hoạt động gộp được thực hiện băng cách
chỉ định kích thước vùng được gộp và bước của hoạt động, tương tự như hoạt động lớp
tích chập Có nhiều loại kỹ thuật gộp khác nhau được sử dụng trong các lớp gộp khác
nhau như max pooling, min pooling, average pooling, gated pooling, tree pooling,
Max Pooling là kỹ thuật phổ biến nhất
Max pooling là việc lay giá trị lớn nhất tại mỗi điểm trong hình ảnh Điều này giúp loại
bỏ 75% thông tin không phải là tính năng Bằng cách lẫy giá tri tối da của pixel, bạn
Lê Trường Long - B17DCAT115 17
Trang 27Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
đang tính đến sự biến dạng Nếu tính năng xoay một chút sang trái hoặc phải hoặc bất
cứ điều gi, thì tính năng gdp sẽ giống nhau Ta đang giảm kích thước và thông số Điều
đó có nghĩa là mô hình sẽ không phải xử lý quá nhiều thông tin đó
Công thức đề tìm kích thước bản đồ đặc trưng đầu ra sau khi gộp như sau [4]:
wef] welts an
Trong đó h’ biêu thi chiêu cao của ban đô đạc trưng, w’ biêu thị chiêu rộng của ban đồ,
h biêu thị chiêu cao của hình ảnh đâu vào, w biêu thị chiêu rộng của hình ảnh đâu vảo,
f là kích thước bộ lọc và s biểu thị bước nhảy của phép toán tích chập
2.2.3 Lớp ReLU - ReLU layer
Trong CNNs, Rectified Linear Units [13] - các đơn vi tuyén tính được chỉnh lưu (viết
tắt là ReLU) là một lớp áp dụng hàm kích được sử dụng phổ biến nhất trong CNNs Nó
được sử dụng để chuyên đổi tất cả các giá trị đầu vào thành số đương Ưu điểm của
ReLU là nó yêu cầu tải tính toán rất nhỏ so với các loại khác
Công thức toán học của ReLU là [13]:
f(u) = max (0, u) (2.5)
Hình 2-5 Biểu đô biểu diễn hàm f(u) = max (0, u) [13]
Ta áp dụng một hàm kích hoạt trên bản đồ đặc trưng đề tăng tính phi tuyến tính trongmạng Điều này là do bản thân hình ảnh có độ phi tuyến tính cao Nó loại bỏ các giá trị
âm khỏi bản đồ đặc trưng băng cách đặt chúng thành 0
Lê Trường Long - B17DCAT115 18
Trang 28Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
Các đơn vị tuyến tính được chỉnh lưu, so với ham sigmoid hoặc các hàm kích hoạt tương
tự, cho phép đào tạo nhanh hơn và hiệu quả các kiến trúc thần kinh sâu trên các bộ dữ
liệu lớn và phức tạp.
2.2.4.Lớp kết nỗi day đủ - Fully connected layer
Sau một số lớp convolutional layer và pooling layer phức tạp, việc phân loại cuối cùng
được thực hiện thông qua các lớp fully connected layer.
Fully connected layer [18] đơn giản là nguồn cấp dữ liệu cho các mạng thần kinh chuyêntiếp Đầu vào cho fully connected layer là đầu ra từ lớp Pooling hoặc Convolutional
Layer, được làm phang (flattened) và sau đó được đưa vào lớp được kết nói day đủ
2.3 Quá trình huân luyện mạng CNNs
2.3.1 Tiền xử lý và tăng cường đữ liệu
b Tiền sử lý đữ liệu
Tiền sử lý dữ liệu là chuyên đổi nguồn dữ liệu thô ban đầu dé cho dữ liệu sạch, dé đọc
và có định dạng đồng nhất hơn Việc tiền xử lý dữ liệu được thực hiện trước cho dữ liệuvào model Trong mạng nơ-ron tích chập, thực tế là hiệu suất của CNNs ty lệ thuận với
Lê Trường Long - B17DCAT115 19
Trang 29Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
lượng đữ liệu được sử dụng để đảo tạo nó, tức là nếu tiền xử lý tốt, thì sẽ làm tăng độ
chính xác của mô hình Nhưng mặt khác, việc xử lý trước không tốt cũng có thể làm
giảm hiệu suât của mô hình.
c Tăng cường dữ liệu
Tăng cường đữ liệu là một kỹ thuật được sử dụng để tăng hoặc mở rộng kích thước củatập dữ liệu dao tạo Ở đây áp dụng các phép toán khác nhau cho các mẫu dir liệu (chi
thuộc về bộ huấn luyện) và biến đổi nó một cách thành một hoặc nhiều mẫu dé liệu mới
(phiên bản mới từ dữ liệu ban đầu), sau đó được sử dụng trong quá trình đào tạo Tăngcường đữ liệu rất quan trọng bởi vì, đôi khi có một bộ dữ liệu đào tạo có kích thước rấthạn chế (vi dụ: bộ dữ liệu y tế) và thực tế là càng nhiều mẫu dữ liệu đào tạo có thể tạo
ra mô hình CNNs tốt hơn
Một số thao tác tăng dữ liệu có san như cắt, xoay, lật, dịch, điều chỉnh độ tương phản,
chia tỷ lệ, Có thé áp dung các thao tac đó riêng lẻ hoặc kết hợp để tạo một số phiên
bản mới từ một mẫu dữ liệu duy nhất Một lợi ích nữa của việc tăng cường đữ liệu là nó
cũng có thé thực thi chính quy hóa trong mô hình CNNs bang cách tránh tình trang quákhớp over-fitting.
2.3.2 Khởi tạo tham số
Một mạng CNNs sâu bao gồm hàng triệu hoặc hàng ty số tham số Vì vậy, nó phải đượckhởi tạo tốt khi bắt đầu quá trình đào tạo, bởi vì việc khởi tạo trọng số trực tiếp xác định
tốc độ hội tụ của mô hình CNNs và độ chính xác của nó Ở đây trong phần này thảo luận
về một số kỹ thuật khởi tạo tham số một cách ngẫu nhiên được sử dụng nhiều nhất được
sử dụng trong CNNs như sau [4]:
a Khởi tạo ngẫu nhiên
Đúng như tên gọi, phương pháp này khởi tạo trọng số (thuộc cả hai lớp chập và FC)ngẫu nhiên bằng cách sử dụng ma trận ngẫu nhiên, trong đó các phần tử của ma trận đó
được lay mau từ một số phân phối có độ lệch chuẩn nhỏ (ví dụ: 0,1 và 0,01) và với giátrị trung bình bằng không Nhưng van dé quan trọng của việc khởi tạo ngẫu nhiên là nó
Lê Trường Long - B17DCAT115 20
Trang 30Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs
có thê dân đên biên mat gradient (vanishing gradients) hoặc các vân đê vê bùng nô gradient.
b Khởi tạo tiền sử ly không giám sat
Kỹ thuật này khởi tạo một mạng nơ-ron tích chập với một mạng nơ-ron tích chập khác
(đã được huấn luyện bằng kỹ thuật không giám sát) Phương pháp này đôi khi có thể
hoạt động rat tốt bang cách giúp xử lý cả van đề tối ưu hóa và overfitting
* Vanishing Gradient:
Trong quá trình truyền ngược qua một mang nơ-ron tích chập sâu (CNNs với nhiều lớp,
ví dụ: 1000), cần tính toán độ sụt giảm (Error) liên quan đến trọng số tương ứng trongcác nơ-ron của mỗi lớp đề cập nhật các trọng số đó Vì vậy, ở đây đã sử dụng phép toánphái sinh đề thực hiện tác vụ này và nó dẫn đến các gradient ngày càng nhỏ hơn khi tiếptục đi chuyền ngược trong mạng Do đó, các nơ ron của lớp trước đó nhận được các độdốc rất nhỏ (đôi khi các độ đốc có thé gần như bằng không) > trọng số của lớp trước
đó nhận được cập nhật rất nhẹ và các lớp đó học rất chậm và không hiệu quả Vấn đềnày được gọi la Vanishing Gradient Problem.
* Gradient Exploding:
Van dé này hoàn toàn trái ngược với van dé Vanishing Gradient, ở đây các gradient lỗi
(error) lớn tích tụ trong quá trình lan truyền ngược Nó dẫn đến các cập nhật rất lớn đối
với trọng số của mạng và làm cho mô hình không 6n định dẫn đến mô hình không thé
học hiệu quả Sự bùng nô về cập nhật trọng số xảy ra thông qua sự tăng trưởng theo cấp
số nhân của gradient bằng cách nhân liên tục chúng qua các lớp mạng trong quá trình
lan truyền ngược khi các gradient di chuyên lui lại trong mạng Tai điểm cực hạn, các
gia tri của trọng sé (sau khi được cập nhật với các gradient lớn) có thể trở nên lớn đến
mức tràn và dẫn đến các giá tri NaN(Not a Number)
2.3.3 Chính quy hóa cho CNNs
Thách thức lớn nhất của các thuật toán học sâu là thích ứng với đầu vào mới hoặc chưatừng thấy trước đây, được rút ra từ cùng một phân phối như dữ liệu đảo tạo, khả năng
này được gọi là tổng quát hóa Van đề chính dé một mô hình CNNs đạt được sự tông
quát hóa là over-fitting Khi một mô hình hoạt động đặc biệt tốt trên dữ liệu đào tạo
Lê Trường Long - B17DCAT115 21