Đã có nhiều nghiên cứu với mục đích xây dựng các hệ thống hỗ trợ chan đoán trên ảnh LDCT Low-dose computed tomography, đặc biệt là các nghiên cứu sử dụng mô hình học sâu CNN Convolutiona
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
XÂY DỰNG ỨNG DỤNG TRONG VIỆC PHÂN LOẠI
HẠCH UNG THƯ PHỎI
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SÓ: 8480201
+ Người thực hiện: Trần Lê Trọng Nhân
s* Cao học khóa năm: 2020-2022
+ Người hướng dẫn khoa học: PGS.TS Trần Văn Lăng
TRAN LE TRỌNG NHÂN
Trang 2XÂY DỰNG ỨNG DỤNG TRONG VIỆC PHÂN LOẠI
HẠCH UNG THU PHOI
Chuyên nghành: Công nghệ thông tin
Mã số: 8480201
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHÓA HỌC: PGS.TS TRÀN VĂN LĂNG
TP.Hồ Chí Minh, Năm 2023
Trang 3LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến PGS.TS Trần Văn Lăng và các giáo viên trong trường Dai Học Công Nghệ Thông Tin TP.HCM Thay Trần Văn Lăng đã hướng dẫn và quan tâm tận tình đến quá trình thực hiện bài luận văn của em Với sự giảng dạy chuyên
nghiệp từ các thầy cô, em đã tích lũy được rất nhiều kiến thức bổ ích
Em cũng xin cảm ơn BGH trường Đại Học Công Nghệ Thông tin TP.HCM đã tạo ra thư viện rộng rãi với các tài liệu tham khảo hữu ích cho việc hoàn thành bài luận văn.
Tuy nhiên, em nhận thấy bài luận văn còn cần được hoàn thiện và khắc phục những thiếusót Em mong sẽ nhận được sự đồng cảm và góp ý từ PGS.TS Trần Văn Lăng và các thầy
trong trường Đại Học Công Nghệ Thông Tin TP.HCM để bài luận văn của em có thể hoàn thiện hơn.
Em cảm ơn và xin trân trọng gửi lời chào đến thầy PGS.TS Trần Văn Lăng và các thầy
cô.
TP H Chí Minh, Ngày 24 tháng 02 năm 2023
Trang 4LOT CAM DOAN
Em xin cam đoan đề tài luận văn “KAY DUNG UNG DUNG TRONG VIỆCPHAN LOẠI HACH UNG THU PHÔI” là công trình nghiên cứu độc lập của banthân Các số liệu, kết quả trình bày trong luận văn này là trung thực Những tài liệu,công cụ được sử dụng trong luận văn đều có nguồn gốc và trích dẫn rõ ràng Nếu
không đúng sự thật em xin chịu hoàn toàn trách nhiệm.
Tác giả
Tran Lê Trọng Nhân
Trang 5CHƯƠNG 1: TONG QUAN 5:-22222222222222222221112222211112221111 1x re 41.1 GIỚI THIỆU
1.2 MỤC TIÊU DE TÀI
1.3 PHAM VI VÀ DOI TƯỢNG NGHIÊN CỨU
1.4 NỘI DUNG NGHIÊN CỨU 1.5 PHƯƠNG PHÁP NGHIÊN CỨU -¿22+++22+++z+222vvzzzcrrx 61.6 KHÓ KHAN VÀ THÁCH THỨC - -¿-2+z222vvv+vvzvvvvrzrrrevee 6
17 HƯỚNG GIẢI QUYÉT
CHƯƠNG 2: CƠ SỞ LÝ THUYÉT
2.1 GIỚI THIỆU VE DEEP LEARNING :c¿¿22222vvcvccrrrrrrrrvev 92.2 LICH SỬ HÌNH THÀNH - 22-22 S++2EkE2EEEEEEEEEEESEEEEEEkrrrkerrkee 102.3 MỘT SO MÔ HÌNH DEEP LEARNING -¿-222z+22xzezczxecrrs 102.3.1 Mô hình mạng Neural truyền thắng (Feedforward Neural Network —
FNN) 10
2.3.2 Mô hình mang Neural hồi quy (Recurrent Neural Network — RNN) 11
2.3.3, Mô hình Transformer cccccescsessesssesesessesesssessesenessseseenenessseenesenesees 12
2.3.4 Mô hình mạng sinh đối nghich c ccccccsssessssessssesssseecssseccsseeessseesssees 14
2.3.5 Convolutional Neural Network (CNN) cẶĂScseeeeirey
2.3.6 Giới thiệu 3D — Convolutional Neural Network(3D-CNN)
2.3.6.1 Lớp chuyển đổi (Convolutional Layer)
2.3.6.2 Lớp gdp (Maxpooling Layer) ccsecsessesesesesesseessseseseenesssssesesesees
2.3.6.3 Lớp được kết nói day đủ (Fully- Connected Layer) 25
Trang 62.4 MOT SO THƯ VIEN VÀ THUẬT TOÁN SỬ DUNG TRONG MÔ HÌNH
25
2.4.1 Thư viện Te€ISOTÍÏOW óc x19 ng ng gu rưy 25
2.4.1.1 Giới thiệu về Tensorflow
2.4.1.2 Kiến trúc của Tensorflow
2.4.1.3 Uu điển của Tensorflow
2.4.1.4 Các Component của Tensorflow 5-5555+5+5<5+S++x+++ 27 2.4.2 Thư viện Keras
2.4.2.1 Giới thiệu về Keras
D1 NT (ổn na
PM nô ái 2.4.4 Thư viện SimpleITK
2.4.5 Dicom và Pydicom “ 2.4.6 Thư viện OpenCV (CV2) tràn 33 2.4.7 Thư viện TKiTICT - - tt St SE #kEEkErxekekekekrkrkrrrrkrkerke 2.4.8 Thuật toán Gradient Descent
2.5 TONG KET CHƯƠNG 2
CHƯƠNG 3: HE THONG DE XUẤT
3.1 Áp dụng mang 3D- CNN phân loại hạch ung thư phổi
3.2 Xây dựng sơ đồ tông quan giải quyết bài toán phân loại hạch ung thư 39
3.3 Trực quan hóa dữ liệu
CHƯƠNG 4: CÀI ĐẶT THỰC NGHIỆM VÀ ĐÁNH GI
4.I Môi trường cài Gat scsc.scscscssssssesersssssssesessesssssesessssssasoosssssssssensnsssscssesssssees 47
4.1.2.1 Iupyter Notebook Error! Bookmark not defined.
4.1.2.2 Jupyter Notebook gồm có 2 phần chinh:Error! Bookmark not
Trang 7CHƯƠNG 5 KET LUẬN VÀ HƯỚNG PHAT TRIẺN -2¿- 5z se s2 50Kết luận:
Hướng phat trién:
TAI LIEU THAM KHAO
Trang 8MỤC LUC HÌNH
Hình 2 1 Sự khác biệt giữa AI, MC, DL si)
Hình 2 2 Lịch sử hình thành của Học Sa
Hình 2 3 Mô hình mạng Neural truyền thắng
Hình 2 4 Mô hình mạng Neural hồi quy (RNN)
Hình 2 5 Kiến trúc Transformer
Hình 2 6 Kiến trúc GAN
Hình 2 7 Sơ đồ mô phỏng CNN -2¿-222¿2222+222EE2222E1222122211222212 22x 15Hình 2 8 Quá trình huấn luyện của CNN sscscsssssssscsssseesesssseecsssseccessieseessseeeeess 17
Hình 2 9 Quy trình chính của thuật toán CNN ¿ 55 5+ scc+c+xsxsxsree 21
Hình 2 10 Hình anh ví dụ kiến trúc 3D- CNN để phân loại ung thư phổi ¬— - 22Hình 2 11 Lớp chuyền đồi 2D Convolution cc.cccccsssssssssessssessssessssessssesssseesense 22Hình 2 12 Lớp chuyển đồi 3D Convolution -z2z222sz22s+z+2zszzzzss+ 23
Hình 2 13 Lớp gop 2D MaxPOOl - c3 *E#vEevekekekerrrrrrrrerrkrrke 24
Hình 2 14 Lớp gop 3D MaxPool -+:++2222222222222222222EEttrrrrrrrrrrvrrrrkr 25
Hình 2 15 Chuyển đồi 1 số nguyên sang Tensor -¿-z©c5z22sz2cs++ 27Hình 2 16 Sơ đồ của đồ thị tính toán đã xây dựng trong TensorFlow 28Hình 2 17 Quy trình làm việc X quang điển hình [Tín dụng hình ảnh] 31Hình 2 18 Các phần của DICOM [Tin dụng hình ảnh] - - -: - 32
Hình 2 19 Thuật toán Gradient DesC€nI -¿- ¿+ + + *+£*+vEex+eeeeeexeesevee 35
Hình 2 33 Mô phỏng phục hồi hình ảnh tạo mảng phổi 2:- 52 44
Hinl
Hin
3 1 Mô tả xác định vị trí chính xác của hạch ung thư ở vi trí nào trong phổi 38
h 3 2 Phía bên trái thuộc lớp 1(có hạch ung thư phổi), phía bên phải thuộc lớpO(khOng c6 hach ung thu phOi) NA“ -4-1
Hinl 3 3 So đồ tổng quan bài toán phân loại hạch ung thư -.-: : 39
Trang 93 4 Sơ đồ chỉ tiết x00) ooceececcccceccsssssessssesssseesssssessssesssssessssessssecesssesssseesssseesese 40
3 5 Năm dong đầu của dữ liệu - ¿ 222222c222vvvrrtEEtvrrrerrrkrrrrrrrrvee 41
3 6 Biểu đồ tỉ trọng giữa ung thư lành tính va ác tinh - 4I
3 7 Gán nhãn ung thư
3 8 Biểu dé bánh phân bé giữa ung thư lành tính va ác tính - 42
3 9 Số lượng bệnh nhân ung thư .:-2¿22+++22+++222++vtzvxretzvrrersez 42
Hình 4 1 Logo ngôn ngữ Python Error! Bookmark not defined Hình 4 2 Logo Jupyter Notebook - - Error! Bookmark not defined Hình 4 3 Logo Colab -. -c s<++++++ Error! Bookmark not defined.
Hình 4 4 Kết qua train model 3D - CNN ::- ¿+222++222+++2zx+z+rzxrszrsee 49
Trang 10Convolutional Neural Network
Non small cell lung cancer Small cell lung cancer
Multi-layer Perceptron
Artificial Neural Network
Computed Tomography Scan Magnetic Resonance Imaging
Support Vector Machine Graphics Processing Unit
Digital Imaging and Commuications in Medicine
Ung thư phổi không tế bào nhỏ
Ung thư phổi tế bào nhỏ
Perceptron nhiều lớp
Mạng Neural nhân tạo
Chụp cắt lớp vi tính
Chụp cộng hưởng từ Máy vector hổ trợ
Bộ xử lý
“Tiêu chuẩn ảnh số và truyền thông trong y tế.
Chụp cắt lớp vi tính phổi liều thấp
Trang 11MỞ ĐẦU
Theo Tổ chức ung thư thế giới, ung thư phổi tại Việt Nam hiện xếp vị trí56/185 quốc gia và vùng lãnh thổ về ung thư, với tỉ lệ 21,7 người mắc/100.000 dân.Năm 2018, Việt Nam ghi nhận khoảng 40.000 ca mắc mới và gần 21.000 ca tửvong Tỉ lệ tử vong khi mắc ung thư phổi ở nước ta lớn do hầu như bệnh nhân đềuđến bệnh viện ở những giai đoạn quá trễ, điều trị gặp nhiều khó khăn nên tạo ragánh nặng tài chính rất lớn cho bệnh nhân và gia đình Ung thư phổi được xếp vàonhóm khó chân đoán và điều trị khó khăn Vì vậy nghiên cứu về ung thư phổi nótrở thành 1 vấn đề quan trọng, quen thuộc với nhiều bài báo và tạp chí chuyên
ngành.
Theo như các nghiên cứ, nam giới có nguy cơ mắc ung thư phổi cao hơnnhiều so với nữ vì thói quen thường xuyên hút thuốc lá Những người hút thuốc cónguy cơ bị ung thư phối cao hơn rất nhiều lần so với người không hút 90% bệnhnhân ung thư phổi có hút thuốc lá Điều quan trong là người hít phải khói thuốc thụđộng cũng chịu tác hại không kém, thậm chí đứng xa 10m cũng vẫn bị chịu ảnhhưởng Nghiên cứu của WHO cho thay, khói tỏa ra từ đầu điều thuốc đang cháychứa chất độc nhiều gap 21 lần so với khói thuốc thở ra Hiện Việt Nam nằm trongnhóm những quốc gia có tỉ lệ hút thuốc lá cao nhất thế giới với 22.5% người trưởngthành sử dụng thuốc lá, tương đương hơn 21 triệu người, ngoài ra tỉ lệ hút thuốc thụđộng trong nhà là hơn 53% Tỉ lệ này ở nơi làm việc là gần 37%, trường học là
16%.
Đã có nhiều nghiên cứu với mục đích xây dựng các hệ thống hỗ trợ chan đoán
trên ảnh LDCT (Low-dose computed tomography), đặc biệt là các nghiên cứu sử
dụng mô hình học sâu CNN (Convolutional Neural Network) đang đem lại nhiềukết quả tích cực trong hỗ trợ phát hiện và chuẩn đoán bệnh tuy nhiên còn có khókhăn trong khi chẩn đoán các dấu hiệu ung thư thông qua quan sát ảnh chụp cắt lớp
vi tính liều thap(LDCT) phổi của bệnh nhân, một bác sĩ X-quang sẽ dựa trên các
Trang 12tiêu chân về dấu hiệu của một tồn thương trên ảnh phổi bao gồm: kích thước, tínhchất, sự hình thành gai và vị trí xuất hiện Việc này đòi hỏi tiêu tốn nhiều chỉ phí cả
về thời gian và tiền bạc của bác sĩ và bệnh nhân Bởi vì hình đáng và kết cấu củamột tổn thương phổi có được xem như là một hạch ung thư hay không là rất đadạng và khó xác định đối với bác sĩ chân đoán (Siegel, 2019)
Trong các nghiên cứu gần đây, các mô hình học sâu “deep learning” đangđược nhiều quan tâm và áp dụng đối với các nghiên cứu liên quan đến bài toán nốtsan phổi Kết quả mang đến của các phương pháp này tương đối khả quan, khidùng mô hình này có thé tự trích xuất các đặc trưng từ tập dữ liệu mà không phụthuộc nhiều vào người trích xuất đặc trưng thủ công Đặc biệt, mô hình có thể họcđược các đặc trưng tổng quát hơn mà con người không nhận ra hoặc rất khó có théphân biệt được, các kết quả áp dụng vào bài toán phân loại nốt sần phổi cũng đãcho ra các kết quả tốt Trong đó, Chen và các cộng sự đã đề xuất áp dụng mô hìnhmạng neural kết hợp cho bộ phân lớp với 3 đối tượng: lành tính, không chắc chắn
và có thể ác tính, mô hình áp dụng xử lý trên từng lát cắt của ảnh chụp cắt lớp với
độ chính xác là 94,4 % (Cheng, 2016).
Hussein và đồng sự đề xuất mô hình mạng Multi-View CNN sử dụng nhiềulát cắt từ ảnh chụp CT kết hợp, đầu ra của mô hình sử dụng Gaussian process đề
đánh giá, phân loại hạch ác tính với độ chính xác đạt được 82,47% (Hussein, 2017).
Một hướng nghiên cứu khác, với đữ liệu đầu vào là một khối 3D trích xuất
từ ảnh CT cũng đạt kết quả cao mà Dey và đồng sự đề xuất sử dụng mô hình 3DDense Net kết hợp với Multi - Output network với độ chính xác đạt được là
90,4% (Dey, 2018).
Một mô hình kiến trúc học bán giám sát GAN được Dhamodhran và cộng sựnghiên cứu nhằm cải thiện phát hiện nót san ung thư phổi được thực nghiệm trên 2
bộ data LƯNA16 và DSB3 đạt kết qua khả quan với độ chính xác từ 64 đến 87.3%
(Dhamodhran, Siddharth R Koti, Vijay M Mundaragi, 2018).
Trang 13Trong các nghiên cứu (Cheng, 2016), (Hussein, 2017), (Dey, 2018) việc sử
dụng các mô hình học sâu sử dụng kiến trúc của mang CNN và được thiết kết chokiến trúc đầu vào 3D đối với bài toán phân loại hạch ung thư phổi là xu hướng vớikhả năng trích xuất đặc trưng tốt và bảo toàn cấu trúc 3 chiều của dữ liệu Kết quảđạt được khả quan, hướng tiếp cận này mang nhiều kì vọng phát triển đồng thờicũng mang những ý nghĩa trong việc áp dụng, đánh giá đối với việc phát hiện, chân
đoán lâm sàng
Ung thư phổi được xếp vào nhóm khó chân đoán và điều trị khó khăn Vì vậynghiên cứu về hạch ung thư phổi đã trở thành 1 vấn đề quan trọng, quen thuộc vớinhiều bài báo và tạp chí chuyên ngành
Với những lý do trên, tôi đã chọn đề tài “XÂY DỰNG UNG DUNG TRONGVIỆC PHÂN LOẠI HẠCH UNG THƯ PHÔI” bằng phương pháp nghiên cứu vàxây dựng mô hình phân loại hạch ung thư phổi trên thuật toán 2D — CNN và 3D —CNN nhằm đưa ra các đánh giá về mô hình học sâu trong lĩnh vực chuẩn đoán hạchung thư phổi làm đề tài luận văn của mình
Nội dung bài luận văn gồm: 5 chương
Chương 1 Giới thiệu về bài toán đặt ra, hướng tiếp cận, khó khăn, thách thức vàhướng giải quyết
Chương 2 Trinh bày một số van đề phương pháp, dữ liệu liên quan đến dé tài như
3D- Convolutional Neural Network, bộ dữ liệu ảnh CT về ung thư phổi; các loại
hạch ung thư phổi
Chương 3 Trình bày hồ sơ phân tích và thiết kế để xây dựng ứng dụng phân loạihạch ung thư phổi từ anh CT của người bệnh ung thư phổi
Chương 4 Giới thiệu giao diện ứng dụng, các kết quả kiểm chứng (validation) về
độ chính xác trên bộ dữ liệu thử nghiệm, kết quả đánh giá độ chính xác trên bộ dữliệu kiểm tra (testing)
Trang 15thường ở một hoặc cả hai phổi, thường là các tế bào thuộc lớp niêm mạc của đườngthở Những tế bào bất thường này không phát triển thành mô phổi khỏe mạnh màphân chia nhanh chóng và hình thành các u gây cản trở chức năng phổi.
Có 2 loại ung thư phổi chính:
— Ung thư phổi không tế bào nhỏ (NSCLC)
— Ung thư phổi tế bao nhỏ (SCLC): rất ác tinh và hau như luôn luôn xuất hiện
ở những người hút thuốc lá
Bệnh ung thư phổi là căn bệnh có tỉ lệ tử vong cao ở tất cả mọi giới và mọi
lứa tuổi, căn bệnh ảnh hưởng đến khoảng 225.000 người mỗi năm và chiếm khoảng
12 ty chi phi chăm sóc sức khỏe giai đoạn cuối, việc chan đoán để sàng lọc bệnhbằng anh cắt lớp (CT) là biện pháp tiềm năng có thể giảm tỉ lệ tử vong Hau hết,những người bị ung thư phổi giai đoạn đầu không biéu hiện bat kỳ triệu chứng lâmsàng nao Bệnh nhân chỉ bắt đầu xuất hiện các triệu chứng khi ung thư phôi đã pháttriển đầy đủ Do đó, việc phát hiện sớm là rất quan trọng đối với khả năng sống sótcủa bệnh ung thư phôi, đồng thời có thể nâng cao hiệu quả điều trị và tăng cơ hộisống sót cho bệnh nhân
Nhưng quá trình chân đoán bệnh thường tốn khá nhiều thời gian, công sứccủa bác sỹ và bệnh nhân Vì vậy việc nghiên cứu, xây dựng một hệ thống hỗ trợchan đoán hạch ung thư tự động là cần thiết và đã có nhiều cách tiếp cận được sửdụng cho bài toán phân loại bệnh nên tôi chọn đề tài này cho hướng nghiên cứu của
mình.
1.2.MỤC TIÊU DE TÀI
- Xây dựng ứng dụng phân loại hạch ung thư phổi dựa trên ảnh CT của bệnh
nhân bị ung thư phổi
-_ Nghiên cứu sử dụng mạng 3D CNN để phân loại hạch ung thư
Trang 16- Phương pháp phân loại nhị phân cho các loại ung thư và sử dụng các thư
viện Keras và tensorflow đề hỗ trợ tạo mô hình học sâu
1.3.PHẠM VI VÀ ĐÓI TƯỢNG NGHIÊN CỨU
Phạm vi nghiên cứu: Ảnh chụp cắt lớp vi tính (CT) về ung thư phổi
- Đối tượng nghiên cứu: Phương pháp và kỹ thuật liên quan đến DeepLearning, bộ dữ liệu mẫu ảnh CT phổi DSB3, các loại hạch ung thư phỏi hiện có.1.4.NOI DUNG NGHIÊN CỨU
Phân tích bộ dữ liệu mẫu ảnh CT phổi DSB3
Tim hiểu về các loại hạch ung thư phỏi, qua đó sử dụng dé phân loại
~_ Tìm hiểu 3D- Convolutional Neural Network ứng dụng cho ảnh CT
-_ Thiết kế kiến trúc mạng 3D-CNN
-_ Xây dựng ứng dụng phân loại hạch ung thư phổi
- Thu thập dữ liệu thực tế về ảnh CT ung thư phổi để kiếm chứng tính đúngđắn của ứng dụng
1.5.PHƯƠNG PHÁP NGHIÊN CỨU
Để nghiên cứu và tìm hiểu một cách chỉ tiết, chính xác những tri thức khoa
học trong phạm vi luận văn, đã sử dụng các phương pháp nghiên cứu sau :
— Phương pháp chuyên gia: Học tập, trao đôi, đặt câu hỏi với các chuyên gia
về những vấn đề khó khăn mình gặp phải hoặc chưa rõ hướng giải quyết
- Phương pháp nghiên cứu tài liệu: Phân tích, tổng hợp các bai báo khoa học
có liên quan đến khóa luận, nghiên cứu, học hỏi thêm từ các tài liệu chuyên ngành
- Phương pháp thực nghiệm khoa học.
-_ Phương pháp thực nghiệm, thống kê
1.6.KHÓ KHĂN VÀ THÁCH THỨC
Hiện nay sử dụng mạng nơron tích chập (Convolutional Neural Network
-CNN) đang mang lại nhiều kết quả tốt Tuy nhiên, có hai vấn đề khi sử dụng mô
hình deep learning trên dữ liệu ảnh 3D.
Trang 17-_ Thứ nhất, dữ liệu đầu vào thông thường là ảnh 2D, nên sẽ làm mắt mát một
số đặc trưng có giá trị của dữ liệu do ảnh chụp cắt lớp có cấu trúc 3D
-_ Thứ hai, trong lĩnh vực y tế, các bộ dữ liệu thường có số lượng tương đốinhỏ, trong khi đề có thể huấn luyện mô hình đeep learning thì cần dữ liệu rất lớn.Khi chan đoán các dấu hiệu ung thư thông qua quan sát ảnh chụp cắt lớp vi tinhliều thấp (LDCT) phổi của bệnh nhân, một bác sĩ X-quang sẽ dựa trên các tiêu chân
về dấu hiệu của một tổn thương trên ảnh phổi bao gồm: kích thước, tính chất, sựhình thành gai và vị trí xuất hiện Việc này đòi hỏi tiêu tốn nhiều chi phí cả về thoigian và tiền bac của bác sĩ và bệnh nhân Bởi vì hình dang và kết cấu của một tồnthương phổi có được xem như là một hạch ung thư hay không là rất da dạng và khóxác định đối với bác sĩ chân đoán
Ngoài ra, sự giống nhau của các dấu hiệu tại một vị trí quan sát nhằm xácđịnh đó là ung thư hay không ung thư cũng ảnh hưởng rất nhiều và làm giảm hiệuquả của việc chan đoán sớm Đã có nhiều nghiên cứu với mục đích xây dựng các hệthống hỗ trợ chan đoán trên ảnh LDCT, đặc biệt là các nghiên cứu sử dụng mô hìnhdeep learning CNN đang đem lại nhiều kết quả tích cực trong phát hiện và chấn
đoán bệnh Nhưng, các mô hình học sâu thường phụ thuộc vào các bộ dit liệu lớn
và có độ tin cậy cao đối với sự chính xác trong các nhãn được gán bởi bác sĩ Vìvậy, các bộ đữ liệu lớn và công khai mang một ý nghĩa rất lớn trong các nghiên
cứu.
Do đó, việc tìm kiếm và sử dụng bộ đữ liệu thích hợp cho việc phát triển hệthống hỗ trợ chân đoán bệnh là một trong những yếu tố tiên quyét
Trang 181.7 HUONG GIẢI QUYET
Chúng ta có 3 vấn dé chính cần giải quyết liên quan đến hạch phổi là:
~_ Phát hiện (detection)
— Phân nhóm, phân đoạn (segmentation)
- Phân loại (classification).
Trong đó, detection có mục đích xác định chính xác hạch ở vị trí nào bên
trong phổi Segmentation mục dich là phát hiện các đối tượng phân đoạn phạm vicủa hạch trên ảnh chụp cắt lớp (ảnh CT) và classification xác định chính xác hạch
là lành tính hay ác tính hoặc có hay không có dấu hiệu của hạch ung thư Bài toánđược thực hiện trong nghiên cứu này là bài toán phân loại (classification), nhằm
xác định xem vi trí được chỉ định thuộc hạch lành tính hay ác tinh
Trước đây, các hệ thông phân loại hạch phổi thường sử dụng phương pháptrích xuất đặc trưng phân biệt dựa trên cấu trúc hình học về kích thước, tính chất,
sự hình thành gai, tính tăng trưởng và vị trí xuất hiện Các thuộc tính được tríchxuất sẽ được đưa vào các thuật toán máy học để phân loại và đánh giá tính hiệu quả
của mô hình thông qua độ chính xác, tốc độ và mức độ tự động hóa của hệ thống.
Trong đó, công việc trích xuất các đặc trưng là tương đối thủ công, phụ thuộc khánhiều vào người trích xuất Do đó, nếu cần cải tiến, nâng cấp hệ thống thì chúng ta
sẽ gặp khá nhiều khó khăn và bị giới hạn Gần đây, các mô hình học sâu “deeplearning” đang được nhiều sự chú ý và áp dụng đối với các nghiên cứu liên quanđến bài toán nốt san phổi Hiệu quả mang đến của các phương pháp này tương đốikhả quan, khi ding mô hình này có thé tự trích xuất các đặc trưng từ tap đữ liệu màkhông phụ thuộc nhiều vào người trích xuất đặc trưng thủ công Đặc biệt, mô hình
có thé học được các đặc trưng tổng quát hơn mà con người không nhận ra hay khó
có thể phân biệt được, kết quả áp dụng vào bài toán phân loại nót san phổi cũng đãcho ra các kết quả khả quan
Trang 19CHUONG 2: CƠ SỞ LÝ THUYET
2.1 GIÓI THIỆU VE DEEP LEARNING
Ngày nay, AI và ML luôn hiện diện trong mọi lĩnh vực của đời sống con
người, kinh tế, giáo dục, y khoa cho đến những công việc nhà, giải trí hoặc thậm
chí là trong quân sự Những ứng dụng nổi bật của phát triển AI đến từ nhiều lĩnhvực đề giải quyết nhiều vấn đề khác nhau Nhưng những đột phá phần nhiều đến từDeep Learning, mảng nhỏ đang được mở rộng dần đến từng loại công việc trongcuộc sống, từ đơn giản đến phức tạp
Deep learning là một tập con của học máy , về cơ bản mà nói deep learning làmột mạng nơ-ron có ba lớp trở lên Những mạng lưới thần kinh này cé gắng mô
phỏng hành vi của não người, cho phép nó “học” từ một lượng lớn dữ liệu Mặc dù
mạng nơ-ron với một lớp duy nhất vẫn có thê đưa ra các kết quả dự đoán gần đúng,
nhưng các lớp ẩn bổ sung có thé giúp tối ưu hóa và tỉnh chỉnh dé có độ chính xác
Trang 20là một số mô hình học sâu:
2.3.1.Mô hình mạng Neural truyền thang (Feedforward Neural Network — FNN)
Mang noron truyền thăng (Feedforward Neural Network) là một mang thầnkinh nhân tao trong đó nó kết nối giữa các nút không hình thành một chu trình, làloại mạng thần kinh nhân tạo đầu tiên và đơn giản nhất được phát minh ra
Mang này thông tin di chuyển chỉ một chiều hướng đến các nút đầu vào,thông qua các nút ân (nếu có) và đi đến các nút đầu ra Không có chu trình (chu kỳ)
hoặc vòng lặp trong mạng.
Trang 21Input Layer Hidden Layer Output Layer
FO
SO
Hinh 2 3 M6 hinh mang Neural truyén thang
(Nguôn ảnh: hitps:/vankhangfet github io/2018-11-05-Neural-Net/ )
2.3.2.Mô hình mang Neural hồi quy (Recurrent Neural Network — RNN)
Mang neural hoi quy (Recurrent Neural Network) là một mang neural chứa
một vòng lặp bên trong nó.
Với một mạng nơron hoi quy, dau ra của noron nay sẽ được sử dụng để làm
đầu vào của nơron tiếp theo và đối với noron đầu tiên không có noron nào trước nóthì đầu vào này sẽ được khởi tạo mặc định
Trang 22Trong hình trên, RNN là mang neural hồi quy Nó nhận một đầu vào input ,tiến hành xử lý và đưa ra đầu ra output Điểm đặc biệt của input là nó sẽ lưu lại giá
trị của output để sử dụng cho đầu vào tiếp theo Có thể coi một mạng neural hồi
quy là một chuỗi những mạng con giống hệt nhau, mỗi mạng sẽ truyền thông tin nó
vừa xử lý cho mạng phía sau.
Chuỗi các input là những sự kiện xảy ra theo thứ tự thời gian Những sự kiệnnày đều có mối liên hệ thông tin với nhau và thông tin của chúng sẽ được giữ lại dé
xử lý sự kiện tiếp theo trong mạng neural hồi quy Với tính chất này, mạng neuralhồi quy phủ hợp cho những bài toán với dữ liệu đầu vào dưới dạng chuỗi với các sựkiện trong chuỗi có mi liên hệ với nhau Vì thế, mang neural hồi quy có ứng dung
quan trọng cho các bài toán xử lý ngôn ngữ tự nhiên như: Dịch máy - Neural Machine Translation, Phân loại ngữ nghĩa - Semantic classification, Nhận dạng giọng nói: Speech Recognition
2.3.3.Mô hình Transformer
Mô hình Transformer giống như các mạng hồi quy, các Transformer đượcthiết kế dé xử lý dé liệu tuần tự, chủ yếu dùng ở lĩnh vực xử lý ngôn ngữ tự nhiên.Tuy nhiên, các Transforman không yêu cau dé liệu tuần tự được xử lý theo thứtự.Tức là không cần xử lý phần đầu câu trước rồi tới phần cuối câu
Trang 23Các encoder này đều rất giống nhau và có cùng kiến trúc Mỗi encoder chứa hailớp: Self-attention và mạng truyền thắng (FNN).Các decorder khá giống vớiencoder nhưng có thêm khối Masked multi-head attention ở vị trí dau tiên.
Encoder dùng để học vector biểu của câu với mong muốn rằng vector này mang
thông tin hoàn hảo của câu đó.
v Input Embedding: Chuyén các đữ liệu vào thành vector, ma tran, số
Y Positional Encoding: Giúp mô hình biết được thông tin của các token đầu
vào.
Trang 24v Self-attention: giúp encoder nhìn vào các từ khác trong lúc mã hóa một từ
cụ thể Các decoder cũng có kiến trúc giống như vậy nhưng giữa chúng có một lớpattention dé nó có thé tập trung vào các phan liên quan của đầu vào
2.3.4.Mô hình mạng sinh đối nghịch
Mạng sinh đối nghịch (Generative Adversarial Networks- GAN ) là lớp các
mô hình sinh mà kiến trúc của nó sử dung mạng noron nhân tạo Kiến trac GANđầu tiên được mô tả trong bài báo khoa học năm 2014 do nhóm của lan
Goodfellow giới thiệu có tên “Generative Adversarial Networks.”
Kiến trúc của GAN bao gồm hai thành phần nhỏ là một mô hình sinh để sinh
ra ví dụ mới và một mô hình phân biệt để xác định các thực thé là giả (được tạo rabởi mô hình sinh) hay là một thực thê thật
Discriminative network (mang phân biệt): có nhiệm vụ có gắng phân biệt
giữa data thật và data giả mạo do Generative tạo ra.
Generative network (mạng sinh): sinh ra data giả, và mục tiêu là làm sao cho
sinh ra được các data giống với thật nhất, làm Discriminator không thể phân biệtnồi Các sample được sinh dựa trên các latent code (mã ngầm)
Realimages —>| Sample ssol 1O}EU|U12SI
Trang 25Nhãn của mô hình sẽ là thật nếu anh đầu vào của Discriminator được lấy tậpmẫu huấn luyện và gid nếu được lấy từ output của mô hình Generator Về bản chấtđây là một bài toán phân loại nhị phân (binary classification) thông thường Để tínhphân phối xác suất cho output cho Discriminator chúng ta sử dung hàm sigmoid
2.3.5.Convolutional Neural Network (CNN)
2.3.5.1 Khái niệm về CNN
Là một trong những mô hình Deep Learning vô cùng tiên tiến CNN sẽ chophép xây dựng các hệ thống thông minh với độ chính xác vô cùng cao Mạng CNNđược thiết kế với mục đích xử lý dữ liệu thông qua nhiều lớp mang và duỗi dữ liệu
từ nhiều chiều thành một chiều để giảm độ phức tạp của đữ liệu, từ đó thông qua
các công thức tính sai số trung bình đưa ra đánh giá độ chính xác (Groups Tini,
2022).
Hình 2 7 Sơ đồ mô phỏng CNN2.3.5.2 Câu trúc của CNN
Một mạng nơ-ron tích tụ bao gồm một lớp đầu vào, các lớp an và một lớpđầu ra Trong bat kỳ mạng noron chuyền tiếp nào, bat kỳ lớp giữa nào được gọi là
ấn vì các đầu vào và đầu ra của chúng bị che bởi hàm kích hoạt và tích chap cuốicùng Trong một mạng noron tích chập, các lớp dn bao gồm các lớp thực hiện cácphép chập Thông thường, điều này bao gồm một lớp thực hiện tích điểm của nhân
Trang 26chập với ma trận đầu vào của lớp Sản phẩm này thường là sản phẩm bên trong
Frobenius và chức năng kích hoạt của nó thường là ReLU Khi hạt nhân tích chập
trượt dọc theo ma trận đầu vào cho lớp, phép toán tích chập tạo ra một bản đồ đặctrưng, bản đồ này sẽ đóng góp vào đầu vào của lớp tiếp theo Tiếp theo là các lớpkhác như lớp gộp, lớp được kết nối đầy đủ và lớp chuẩn hóa
Mạng CNN gồm nhiều lớp Convolution chồng lên nhau, sử dụng các hàmnonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node.Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượnghơn cho các lớp tiếp theo Trong mô hình mạng truyền ngược (feedforward neuralnetwork) thì mỗi neural đầu vào (input node) cho mỗi neural đầu ra trong các lớptiếp theo Mô hình này gọi là mạng kết nói đầy đủ (fully connected layer) hay mạngtoàn vẹn (affine layer) Layer tiếp theo là kết quả convolution từ layer trước đó,nhờ vậy mà ta có được các kết nối cục bộ Như vậy mỗi neuron ở lớp kế tiếp sinh
ra từ kết quả của filter áp đặt lên một vùng ảnh cục bộ của neuron trước đó
Trong quá trình huấn luyện mạng (traning) CNN tự động học các giá trị qua
các lớp filter dựa vào cách thức mà bạn thực hiện.
Có 2 điều cần quan tâm ở mô hình CNN là tính bất biến (LocationInvariance) và tính kết hợp (Compositionality) Với cùng một đối tượng, nếu đốitượng này được chiếu theo các gốc độ khác nhau (translation, rotation, scaling) thì
độ chính xác của thuật toán sẽ bị ảnh hưởng đáng kể
Đối với phép dịch chuyển (translation), phép quay (rotation) và phép cogiãn (scaling) sẽ sử dụng pooling layer sẽ cho tính bắt biến Tính kết hợp cục bộcho ta các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượnghơn thông qua convolution từ các filter Đó là lý do tại sao CNN cho ra kết quả với
độ chính xác rat cao ở các mô hình
Trang 27Cấu trúc cơ bản của CNN gồm 3 phần chính là các trường tiếp nhận cục
bộ (local receptive field), trọng số chia sẻ (shared weights and bias) và tổng
hợp (pooling) :
> Local receptive field: giúp tách lọc các dữ liệu, thông tin của ảnh và chọn
được những vùng ảnh có giá trị sử dụng nhất cho việc đánh giá phân lớp
> Shared weights and bias: một convolutional layer bao gồm các feature mapkhác nhau Mỗi một feature map giúp detect một vai feature trong bức ảnh Lợi íchlớn nhất của trọng số chia sẻ là giảm tối đa số lượng tham số trong mạng CNN
> Pooding: day gần như là lớp cuối dùng để đơn giản hóa thông tin đầu ra để
giảm bớt số lượng neuron (Jing-Wei Liu, 2021)
Source pixel
(-1x3) +(0x0) (1x1) +
(2x2) + (0x6) + (2x2) + (1x2) + (0x4) #(1x1) =-3
Tích chập được sử dụng đầu tiên trong xử lý tín hiệu số (Signal
processing) Nhờ vào nguyên lý biến đổi thông tin, các nhà khoa học đã áp dụng kĩthuật này vào xử lý ảnh và video số Convolutional được hiểu là một cửa số trượt
Trang 28Sliding Windows trên một ma trận được mô tả như hình dưới Các convolutional
layer có các parameter (kernel) đã được học dé tự điều chỉnh lấy ra những thông tinchính xác nhất mà không cần chọn các feature
Image Image Image
[4] Convolved 4q37 ] Convolved Convolved
Feature Feature Feature
Trong hình ảnh minh họa ta thấy, ma trận phía trên là một hình ảnh trắng đen
được số hóa có kích thước là 5 x 5 với mỗi điểm của hình ảnh được biểu diễn bằng giá trị 0 và 1 là giao điểm của dong và cột
Convolution hay tích chập là nhân từng phần tử bên trong ma trận 3x3 với
ma trận bên trên Kết quả được một ma trận gọi là Convoled feature được sinh ra từ
việc nhận ma trận Filter với ma trận ảnh 5x5 bên trên.
“+ Convolutional Layer
Trong lớp tích chập sử dụng một bộ các bộ lọc có kích thước nhỏ hơn với ma
trận đầu vào và áp lên một vùng của ma trận đầu vào và tiến hành tính tích chậpgiữa bộ filter và giá trị của ma trận trong vùng cục bộ đó Các filter sẽ dịch chuyển
một bước trượt (Stride) chạy dọc theo ma trận đầu vào và quét toàn bộ ma trận, trọng số của filter ban đầu sẽ được khởi tạo ngẫu nhiên và sẽ được học dần trong
quá trình huấn luyện mô hình Convolutional Layer được xem là lớp có vai tròquan trọng nhất bởi vì nó thực hiện mọi phép toán Một số khái niệm cần hiểu rõ
trong lớp này :
> Padding: là những giá trị 0 được thêm vào lớp Input.
Trang 29> Lớp phi tuyến tính Relu (Relu Layer)
Trong kiến trúc mạng CNNs thường sử dụng hàm kích hoạt f(x) = max (0, x)chuyển toàn bộ giá trị âm trong kết quả lấy từ lớp tích chập thành giá trị 0 để tạotính phi tuyến cho mô hình gọi là Relu Ngoài ra còn có nhiều hàm kích hoạt khácnhư signmod, tang nhưng hàm Relu dé cài đặt tính toán nhanh và hiệu qua
** Lớp Pooling (Pooling Layer)
Sử dụng một cửa số trượt quét qua toàn bộ ma trận dữ liệu theo một bướctrượt cho trước dé tiền hành lấy mẫu Các phương thức phổ biến trong lớp Pooling
là MaxPooling (lấy giá trị lớn nhất), MinPooling (lấy giá trị nhỏ nhất) vàAveragePooling (lấy giá trị trung bình) Công dụng của lớp Pooling dùng để giảmkích thước dữ liệu, các tầng trong CNNs chồng lên nhau có lớp Pooling ở cuối mỗitầng giúp cho kích thước dữ liệu được co lại nhưng vẫn giữa được các đặc trưng đểlấy mẫu Ngoài ra giảm kích thước dữ liệu sẽ giảm số lượng tham số của mạng làmtăng tính hiệu quả và kiểm soát hiện tượng học vẹt (Overfiting)
Lớp kết nối đầy đủ (Fully connect layer)
Lớp kết nối đầy đủ là một lớp giống như mạng nơron truyền thăng các giá trịđược tính toán từ các lớp trước sẽ được liên kết đầy đủ vào trong noron của lớp tiếptheo Tại lớp kết nói đầy đủ sẽ tiến hành phân lớp dữ liệu bằng cách kích hoạt hàm
softmax (Groups Tini, 2022).
2.3.5.4 Thuật toán CNN
% Các bước thực hiện bằng mã giá
Khai báo biến all_data
Vòng lặp hàng dữ liệu trong dataset:
Trang 30Đọc hàng dữ liệu
Lưu vào biến tập hợp all_ data
Làm sạch dit liệu cho all_ data
Khai báo biến all features
Khai báo khoảng thời gian time_steps
Vong lặp data trong all_ data:
Lấy các đặc trưng tuần theo time_stepsLưu vào biến tập hợp all_features
Khai báo chuyền đổi (transform)
Chuyền đổi các đặc trưng
Xây dựng mạng ID-CNN
Chia all_features ra thành tập huấn luyện và kiểm thử
Huấn luyện mô hình
* Thuật toán CNN có hai quá trình chính: tích chập và lấy mẫu
> Tích chập: sử dụng bộ loc Fx có thể đào tạo, giải mã của hình ảnh đầu vào(giai đoạn đầu tiên là hình ảnh đầu vào, đầu vào của bước tích chập sau là hình ảnhđặc trưng của mỗi lớp, cụ thé là Bản đồ tính năng), sau đó thêm một bias bx, chúng
Trang 31Winn Hine ,
Trong đó các chiều width và height được tính toán theo công thức tích chập.Giá tri width ( height) của một lớp phụ thuộc vào kích thước của bộ lọc, chiềuwidth (height) của lớp trước, độ rộng viền và bước trượt bộ lọc
Tuy nhiên chiều depth lại hoàn toàn không phụ thuộc vào những tham sé nay
mà nó bằng với số đơn vị trong lớp đó Quá trình tính bản đồ kích hoạt dựa trên
một bộ lọc sẽ tạo ra một ma trận 2D.
Vi vậy khi ta áp dụng cho d bộ lọc khác nhau, ở mỗi bộ lọc ứng với một đơn
vị trên mạng neural, ta sẽ thu được d ma trận 2D có cùng kích thước Khi sắp xếpchồng lan các ma trận thì kết quả đầu ra là một khối nơ ron 3D Thông thường đốivới xử lý ảnh thì lớp đầu vào các bức ảnh đang để ở dạng màu RBG thì depth = 3
(số channels) Hình bên dưới là một cấu trúc mạng nơ ron điển hình có dang khối.