You are on page 1of 71

BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG

KHÓA LUẬN TỐT NGHIỆP


ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

PHÁT HIỆN VÀ KHOANH VÙNG UNG THƯ THẬN BẰNG


KỸ THUẬT DEEP LEARNING

CBHD: TS. Phan Anh Cang


Sinh viên: Lê Duy Linh
Mã số sinh viên: 19004101

Vĩnh Long - Năm 2022


BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG

KHÓA LUẬN TỐT NGHIỆP


ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

PHÁT HIỆN VÀ KHOANH VÙNG UNG THƯ THẬN BẰNG


KỸ THUẬT DEEP LEARNING

CBHD: TS. Phan Anh Cang


Sinh viên: Lê Duy Linh
Mã số sinh viên: 19004101

Vĩnh Long - Năm 2022


i

LỜI CAM ĐOAN


Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân,
không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn, những điều
được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất
cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Đây là
công trình nghiên cứu của cá nhân tôi và được sự hướng dẫn thực hiện của Tiến sĩ
Phan Anh Cang. Các nội dung nghiên cứu trong đề tài “ Phát hiện và khoanh vùng
ung thư thận bằng phương pháp deep learning ” của tôi là trung thực và chưa công
bố dưới bất kỳ hình thức nào trước đây và dựa trên một số tài liệu, đề tài trước. Tôi
xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời
cam đoan của mình.

Người thực hiện đề tài

Lê Duy Linh
ii

MỤC LỤC
LỜI CAM ĐOAN ................................................................................................... i
MỤC LỤC.............................................................................................................. ii
LỜI CẢM ƠN ........................................................................................................ v
DANH MỤC CÁC CHỮ VIẾT TẮT ................................................................... vi
DANH MỤC CÁC BẢNG ................................................................................... vii
DANH MỤC HÌNH ẢNH................................................................................... viii
MỞ ĐẦU ................................................................................................................ 1
CHƯƠNG 1: CƠ SỞ KHOA HỌC CỦA ĐỀ TÀI ............................................... 4
1.1. Giới thiệu ...................................................................................................... 4
1.2. Lý do chọn đề tài ........................................................................................... 4
1.3. Cơ sở lý luận ................................................................................................. 5
1.4. Cơ sở thực tiễn .............................................................................................. 6
1.5. Nghiên cứu liên quan..................................................................................... 6
1.6. Vấn đề đặt ra ................................................................................................. 6
1.7. Hướng giải quyết ........................................................................................... 7
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...................................................................... 8
2.1. Bệnh ung thư thận ......................................................................................... 8
2.1.1. Ung thư thận ........................................................................................... 8

2.1.2. Nguyên nhân gây bệnh ............................................................................ 8

2.1.3. Ung thư thận và các giai đoạn phát triển .................................................. 9

2.1.4. Cách thức gây bệnh ............................................................................... 10

2.1.5. Dấu hiệu và triệu chứng ........................................................................ 10

2.1.6. Phương pháp điều trị ............................................................................. 12

2.1.7. Phương pháp chuẩn đoán ...................................................................... 13

2.2. Tổng quan về trí tuệ nhân tạo ...................................................................... 16


2.2.1. Khái niệm ............................................................................................. 16

2.2.2. Một số công nghệ Trí tuệ nhân tạo phổ biến .......................................... 17

2.2.3. Ứng dụng của trí tuệ nhân tạo trong cuộc sống hiện nay ........................ 17
iii

2.3. Machine learning ......................................................................................... 20


2.3.1. Khái niệm Machine Learning ................................................................ 21

2.3.2. Machine learning Workflow .................................................................. 21

2.3.3. Phân loại Machine learning ................................................................... 22

2.3.4. Một số khái niệm cơ bản ....................................................................... 23

2.3.5. Ứng dụng của Machine learning ............................................................ 24

2.4. Deep learning .............................................................................................. 25


2.4.1. Khái niệm Deep Learning ..................................................................... 25

2.4.3. Các ưu điểm nổi bật của Deep Learning ................................................ 25

2.4.2. Cách thức hoạt động của Deep Learning ............................................... 26

2.4.4. Ứng dụng của Deep Learning ................................................................ 27

2.5. Mạng học sâu và vai trò ............................................................................... 28


2.5.1. Vai trò của học sâu trong phát hiện và dự đoán ..................................... 28

2.5.2. Mạng nơ-ron tích chập CNN ................................................................. 29

2.5.3. Transfer Learning .................................................................................. 35

2.5.4. Kiến trúc mạng ResNet và các chỉ số đánh giá ...................................... 37

2.5.5. Kiến trúc mạng Unet và các chỉ số đánh giá: ......................................... 40

2.6. Công cụ xây dựng ....................................................................................... 41


2.6.1. Sử dụng Google Colab kết hợp với các thư viện máy học để xây dựng và
huấn luyện các mô hình Deep Learning .......................................................... 41

2.6.2. Sử dụng Tensorflow để xây dựng mô hình Deep Learning .................... 43

2.6.3. Sử dụng Keras API để triển khai và đào tạo mô hình Deep Learning..... 44

CHƯƠNG 3: PHƯƠNG PHÁP ĐỀ XUẤT ........................................................ 46


3.1. Mô hình đề xuất .......................................................................................... 46
3.1.1. Kiến trúc đề xuất phát hiện khoanh vùng tổn thương thận do ung thư ... 46

3.1.2. Mô hình Unet phát hiện và phân vùng khối u dựa trên dấu hiệu tổn
thương thận ..................................................................................................... 47

3.1.3. Mô hình Resnet phát hiện khối u dựa trên dấu hiệu tổn thương thận ...... 47
iv

3.2. Pha tiền xử lý và tăng cường dữ liệu ............................................................ 47


3.2.2. Tăng cường dữ liệu áp dụng phương pháp Flip images.......................... 47

3.2.3. Tăng cường dữ liệu áp dụng phương pháp rotation images .................... 48

3.2.4. Tăng cường dữ liệu áp dụng phương pháp crop images ......................... 48

3.2.5. Tăng cường dữ liệu áp dụng phương pháp resize images ....................... 48

3.3. Pha huấn luyện mô hình .............................................................................. 49


3.4. Pha phân loại ............................................................................................... 49
CHƯƠNG 4: KẾT QUẢ ..................................................................................... 50
4.1. Môi trường thực nghiệm .............................................................................. 50
4.2. Kịch bản và tham số huấn luyện .................................................................. 50
4.2.1. Kịch bản 1:............................................................................................ 50

4.2.2. Kịch bản 2:............................................................................................ 51

4.3. Kết quả huấn luyện ...................................................................................... 51


4.3.1. Độ chính xác ......................................................................................... 51

4.3.2. Độ mất mác(Loss) ................................................................................. 52

4.3.4. Thời gian huấn luyện............................................................................. 53

4.4. Kết quả kiểm thử và hình ảnh ...................................................................... 53


CHƯƠNG 5: KẾT LUẬN – HƯỚNG PHÁT TRIỂN ....................................... 55
5.1. Kết luận....................................................................................................... 55
5.2. Hướng phát triển ......................................................................................... 55
TÀI LIỆU THAM KHẢO ................................................................................... 56
PHỤ LỤC ............................................................................................................. 58
v

LỜI CẢM ƠN
Trước hết em xin bày tỏ lòng biết ơn đối với tất cả các thầy cô trong Khoa Công
nghệ thông tin - Trường Đại học Sư Phạm Kỹ Thuật Vĩnh Long. Đặc biệt nhất là thầy
Phan Anh Cang, những người đã dành cho em rất nhiều thời gian quý báu, trực tiếp
hướng dẫn tận tình giúp đỡ, chỉ bảo và góp ý cho em trong suốt quá trình làm đề tài
khóa luận tốt nghiệp này.
Em xin chân thành cảm ơn các thầy cô tham gia giảng dạy và truyền đạt những
kiến thức quý báu về học tập cũng như về cuộc sống trong suốt thời gian em học tập
tại trường, đã đọc và phản biện bài báo cáo của em, giúp em hiểu rõ hơn các vấn đề
mà mình nghiên cứu.
Tuy có nhiều cố gắng trong quá trình học tập cũng như trong quá trình làm đề tài
khóa luận nhưng không thể tránh khỏi những thiếu sót, em rất mong được sự góp ý
quý báu của tất cả các thầy, cô cũng như tất cả các bạn để kết quả của em được hoàn
thiện ngày một tốt hơn.
Cuối cùng chúng em xin kính chúc quý thầy, cô dồi dào sức khỏe và thành công
trong sự nghiệp cao quý.
Một lần nữa, em xin chân thành cảm ơn!

Vĩnh Long, ngày 21 tháng 12 năm 2022

Lê Duy Linh
vi

DANH MỤC CÁC CHỮ VIẾT TẮT

STT Kí hiệu Nội dung đầy đủ

1 AI Artifical Intelligent
2 ML Machine Learning
3 CT computerized tomography
4 CNN Convolutional Neural Networks
5 GPU Graphics Processing Unit
6 TPU Tensor Processing Unit
7 MLW Machine Learning Workflow
8 DNN Deep Neural Network
9 RCC Renal Cell Carcinoma
vii

DANH MỤC CÁC BẢNG


Bảng 2.1. Phân loại TNM ...................................................................................... 15
Bảng 2.2. Bảng chuẩn đoán ung thư theo TNM ..................................................... 16
Bảng 2.3. Cấu hình phần cứng do Google Colab cung cấp ..................................... 41
Bảng 4.1. Thông số môi trường huấn luyện………………………………… …….50
Bảng 4.2. Thông số kịch bản 1 .............................................................................. 51
Bảng 4.3. Thông số kịch bản 2 .............................................................................. 51
Bảng 4.4. Bảng so sánh và lựa chọn mô hình ......................................................... 51
Bảng 4.5. Thời gian huấn luyện ............................................................................. 51
viii

DANH MỤC HÌNH ẢNH


Hình 2. 1 Ảnh so sánh giữa thận bình thường và thận bị ung thư ............................. 8
Hình 2. 2 Các giai đoạn phát triển của ung thư thận ............................................... 10
Hình 2.3. Machine Learning Workflow ................................................................. 21
Hình 2.4. Minh họa về Supervised learning ........................................................... 22
Hình 2.5. Minh họa vể Unsupervised learning ....................................................... 23
Hình 2.6. Deep Learning ....................................................................................... 25
Hình 2.7. Ví dụ về cửa sổ trượt .............................................................................. 30
Hình 2.8. Ví dụ về mô hình CNN .......................................................................... 31
Hình 2.9. Tạo ra Neuron ẩn đầu tiên ...................................................................... 32
Hình 2.10. Dịch filter qua phải .............................................................................. 32
Hình 2.11. Các hidden layer .................................................................................. 33
Hình 2.12. Max-pooling ........................................................................................ 34
Hình 2.13. Convolutional Neural Network ............................................................ 34
Hình 2.14. Fully Connected ................................................................................... 35
Hình 2.15. Transfer Learning................................................................................. 36
Hình 2. 16. So sánh độ chính xác và thời gian huấn luyện khi áp dụng và không áp
dụng transfer learning ............................................................................................ 36
Hình 2.21. Thông số cấu hình mạng VGG-16 ........................................................ 37
Hình 2.22. Cộng trực tiếp đầu vào của khối với nhánh còn lại trong khối Identity
block ..................................................................................................................... 38
Hình 2.23. Kiến trúc Resnet bao gồm 2 khối đặc trưng là khối tích chập (Conv
block) và khối xác định (Identity block) ................................................................ 38
Hình 2.24. Kiến trúc tổng quan của Resnet ............................................................ 39
Hình 2.25. Kiến trúc mạng Unet ............................................................................ 40
Hình 3.1. mô hình đề xuất phát hiện ung thư thận dựa trên ảnh chụp CT 46
Hình 3.2. Mô hình Unet đề xuất............................................................................. 47
Hình 3.3. Mô hình resnet đề xuất ........................................................................... 47
Hình 3.4. Tăng cường ảnh bằng phương pháp Flip image ...................................... 47
Hình 3.5. Tăng cường ảnh bằng phương pháp rotation........................................... 48
Hình 3.6. Tăng cường ảnh bằng phương pháp crop ................................................ 48
Hình 3.7. Tăng cường ảnh bằng phương pháp resize images .................................. 48
ix

Hình 3.8. Thông số huấn luyện được cải thiện sau mỗi epoch ................................ 49
Hình 4.1. Độ chính xác cho mô hình phân đoạn……………………………………51
Hình 4.2. kết quả mô hình dự đoán mạng unet ....................................................... 54
Hình 4.3. Kết quả mô hình dự đoán mạng Resnet .................................................. 54
1

MỞ ĐẦU

1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI


Ung thư thận chiếm tỷ lệ thấp, khoảng 2% tổng số ung thư. Ung thư thận là ung
thư có tỷ lệ mắc đứng thứ 9 ở người trưởng thành và đứng thứ 3 trong ung thư hệ tiết
niệu (sau ung thư tuyến tiền liệt và ung thư bàng quang) nhưng lại là ung thư có tỷ lệ
tử vong cao nhất. Bệnh thường gặp ở nam giới với tỷ lệ nam/nữ = 2/1. Hầu hết người
bệnh được chuẩn đoán trong nhóm độ tuổi 60 và 70. Ung thư thận rất hiếm gặp ở
bệnh nhân dưới 50 tuổi. Tuy nhiên vẫn gặp các trường hợp ung thư thận ở trẻ em.
Bệnh chiếm 5% các trường hợp ung thư ở trẻ nhỏ. Lứa tuổi hay gặp nhất từ 3-4 tuổi,
trong đó khoảng 1-2% có tính chất gia đình (Bệnh di truyền). Ung thư thận ở trẻ em
thường kết hợp với nhiều dị tật bẩm sinh như dị tật tiết niệu, tật không mống mắt hay
phì đại nửa người.

Ung thư thận có thể được chia ra 5 loại: Ung thư thận tế bào sáng (ccRCC), Ung
thư nhú thận (pRCC), Ung thư thận kỵ màu (Chromophobe RCC, chRCC),
Oncocytom thận, Ung thư ống góp Bellini. Tỷ lệ ung thư tế bào sáng (ccRCC) chiếm
đến 70 - 80% ở các trường hợp. Căn bệnh này đứng ở vị trí thứ hai ở trong số những
căn bệnh ác tính của hệ tiết niệu. Trong quá trình phát triển, khối u thận sẽ lớn dần,
phá vỡ bao thận và xâm lấn vào lớp mỡ quanh thận và các cơ quan lân cận. Tế bào
ung thư cũng có thể di căn tới các cơ quan xa như gan, phổi, não, xương,... Các tế bào
ung thư thận sẽ di căn theo hướng các đường bạch huyết và cả tĩnh mạch. Theo tuyến
đường bạch huyết, các tế bào ung thư thận sẽ di căn vào trong các hạch ở vùng thắt
lưng, các động mạch chủ và đến những hạch sau phúc mạc, bụng và cả trung thất. Có
nhiều trường hợp, chúng còn di căn đến thượng đòn, nách và vùng cổ.

Trong hai mươi năm qua, số trường hợp ung thư thận tăng nhẹ, nhưng tỷ lệ sống
sót cũng đã tăng lên. Nhờ những tiến bộ về hình ảnh học như siêu âm và công nghệ
chụp cắt lớp vi tính hỗ trợ chẩn đoán chính xác, ngày càng có nhiều trường hợp ung
thư thận được phát hiện ở giai đoạn sớm.

Từ những tổn hại trên, cần có một giải pháp giúp các bác sĩ chẩn đoán chính xác
hơn về bệnh ung thư thận này, việc thực hiện đề tài “Phát hiện và khoanh vùng ung
2

thư thận bằng kỹ thuật deep learning” là cần thiết, nhằm tạo nhiều thuận lợi cho
các bác sĩ trong quá trình phân tích và điều trị.
2. MỤC TIÊU NGHIÊN CỨU
- Thu thập dữ liệu hình ảnh y khoa liên quan đến bệnh ung thư thận.
- Tìm hiểu đặc điểm tổn thương của thận do khối u hay do loại ung thư thận khác
gây ra.
- Tìm hiểu các mô hình mạng dùng để phân tích và nhận dạng như Densenet,
Unet, Resnet.
- Phát hiện và khoanh vùng tổn thương ở thận do ung thư thận theo các mô hình
Deep Learning và các tập dữ liệu đã thu thập.
3. ĐỐI TƯỢNG NGHIÊN CỨU
- Các ảnh chụp cắt lớp CT về bệnh thận do khối u và các loại ung thư thận khác
gây ra cho bệnh nhân bệnh nhân.
- Các tập dữ liệu và các mô hình học sâu.
4. PHẠM VI NGHIÊN CỨU
- Đề tài nghiên cứu về phương pháp phát hiện và khoanh vùng tổn thương phổi
dựa vào nghiên cứu và các dữ liệu khoa học được công bố.
- Phân loại tổn thương phổi do virus corona và các loại virus khác gây ra.
- Nghiên cứu một số mạng như: Resnet, Unet.
5. PHƯƠNG PHÁP NGHIÊN CỨU
- Phương pháp lý thuyết: Tìm hiểu, phân tích các vấn đề liên quan về các loại
ung thư thận và những nghiên cứu khoa học liên quan về đề tài.
- Phương pháp thực nghiệm đề tài: Xây dựng lập trình bằng ngôn ngữ lập trình
chuyên về AI là Python kết hợp với các thư viện đã được phát triển và nguồn mở.
6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN
- Tập hợp dữ liệu ảnh CT.
- Phân loại và khoanh vùng tự động tổn thương phổi do bệnh ung thư thận gây
ra.
- Đề xuất cải tiến, so sánh đánh giá giữa các mô hình.
- So sánh đánh giá một số phương pháp: U-net, resnet.
3

7. CẤU TRÚC CỦA KHÓA LUẬN


Trong quyển báo cáo khóa luận bao gồm những nội dung được trình bày từ cơ
sở lý thuyết, nguyên cứu liên quan, phương pháp đề xuất và kết quả thực nhiệm
được trình bày vào các chương theo bố cục sau:
Mở đầu: Trình bày nội dung tính cấp thiết đề tài, mục tiêu, phạm vi, phương pháp
và ý nghĩa thực hiện của đề tài.
CHƯƠNG 1 - CƠ SỞ KHOA HỌC CỦA ĐỀ TÀI: Trình bày nội dung về bệnh
ung thư thận, cơ sở phát hiện, khoanh vùng ung thư thận trên ảnh CT.
CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT: Trình bày nội dung về cơ sở lý thuyết được
sử dụng trong các phương pháp được đề xuất.
CHƯƠNG 3 - PHƯƠNG PHÁP ĐỀ XUẤT: Trình bày công việc cụ thể từng pha
xử lý được thực hiện từ kiến trúc đề xuất. Môi trường thực nghiệm và phương pháp
đề xuất cũng được trình bày ở chương này.
CHƯƠNG 4 - KẾT QUẢ THỰC NGHIỆM: Trình bày kết quả thực nghiệm đạt
được.
CHƯƠNG 5 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Trình bày tóm tắt về kết
quả đạt được, những đóng góp cũng như hướng phát triển tiếp theo sau khi thực hiện
đề tài.
4

CHƯƠNG 1: CƠ SỞ KHOA HỌC CỦA ĐỀ TÀI


1.1. Giới thiệu
Ung thư thận là một loại ung thư tiết niệu bắt đầu ở một hoặc cả hai quả
thận. Trong giai đoạn đầu, nó có thể không biểu hiện bất kỳ triệu chứng đáng chú ý
nào. Khi ung thư tiến triển, bệnh nhân sẽ bắt đầu nhận thấy các triệu chứng của bệnh
ung thư thận. Tuy nhiên, nhiều trong số các triệu chứng này cũng liên quan đến một
số tình trạng tiết niệu rất phổ biến. Điều quan trọng là các cá nhân có bất kỳ triệu
chứng bất thường nào được đánh giá để xác định nguyên nhân gốc rễ của họ và nhận
được phương pháp điều trị thích hợp. Ung thư thận là sự phát triển ác tính các tế bào,
hình thành một khối u trong thận. Cũng cần lưu ý rằng, không phải bất kỳ một khối
u thận nào cũng ác tính. Một số trường hợp có thể là u lành tính, không phải ung thư.
Ung thư thận là một danh từ chung. Có nhiều biến thể khối u ác tính trong thận và
các giai đoạn của bệnh. Điều trị phụ thuộc vào đặc điểm của khối u và kinh nghiệm
chuyên môn.
Ung thư thận bắt đầu khi những tế bào khỏe mạnh tại một hay cả hai thận thay
đổi, phát triển ngoài tầm kiểm soát, tạo thành một khối gọi là khối u vỏ thận. Khối u
này có thể là ác tính hay lành tính. Khối u ác tính là ung thư, có thể phát triển và lan
sang những bộ phận khác của cơ thể. Có nhiều biến thể của khối u ác tính trong thận
và những giai đoạn của bệnh. Việc điều trị phụ thuộc vào đặc điểm của khối u và kinh
nghiệm chuyên môn của bác sĩ.
Thận là cơ quan hình hạt đậu nằm ở hai bên phía sau thành bụng, có chức năng
lọc máu tạo nước tiểu. Thận cũng rất quan trọng đối với các quá trình khác trong cơ
thể, bao gồm điều chỉnh huyết áp, cân bằng nước và điện giải, sản xuất các tế bào
máu, và giữ cho xương của bạn khỏe mạnh.
1.2. Lý do chọn đề tài
Ung thư thận là một trong 10 loại ung thư phổ biến nhất ở cả nam và nữ. Nhưng
các triệu chứng thường không xuất hiện cho đến giai đoạn sau hoặc cho đến khi khối
u lớn. Ung thư thận thường được chẩn đoán ở những người trên 60 tuổi. Nó thường
được tìm thấy một cách tình cờ trong các cuộc kiểm tra hình ảnh thông thường. Theo
GLOBOCAN 2018 ung thư thận ở Việt Nam đứng thứ hai trong ung thư hệ tiết niệu
và đứng thứ 17 trong các bệnh ung thư chung, số ca mắc mới hàng năm là 2,394 ca.
5

Bệnh gặp ở các nước Bắc Âu nhiều hơn ở châu Phi và châu Á. Bệnh có xu hướng
tăng dần trong những năm gần đây. Có khoảng 90% các khối u thận là u ác tính trong
đó ung thư biểu mô tế bào sáng chiếm 80%. Các yếu tố nguy cơ như hội chứng Von
Hippel Lindau, đột biến mất đoạn ở nhánh ngắn nhiễm sắc thể số 3. Một số yếu tố
khác được xác định có liên quan như hút thuốc, tăng huyết áp, béo phì. Ung thư thận
bao gồm ung thư tế bào thận, sarcoma thận và u lympho thận nguyên phát. Trong đó,
ung thư tế bào thận (Renal Cell Carcinoma-RCC) chiếm tới hơn 90% các trường hợp.
Mặc khác, X-Quang và chụp CT đã và đang được áp dụng rộng rãi tại các địa
phương trong việc phát hiện một số bệnh lý. Đặc biệt, CT cho ta thấy hình chụp của
cơ thể theo dạng mặt cắt, một khối 3 chiều, thể hiện trên những mặt phẳng hai chiều.
Mỗi một hình ảnh là tập hợp bởi nhiều tia X-rays, bắn đi từ nhiều hướng khác nhau
vòng quanh cơ thể. Do đó, việc thực hiện ý tưởng “Phát hiện và khoanh vùng ung thư
thận bằng kỹ thuật deep learning” sẽ góp phần giúp các y bác sĩ có những chẩn đoán
điều trị bệnh kịp thời đối với những bệnh nhân đã có tổn thương thận do ung thư thận
gây ra, từ đó giảm bớt gánh nặng cho ngành y tế, hạn chế sự tổn thất cho bệnh nhân.
1.3. Cơ sở lý luận
Deep Learning là một thuật toán dựa trên một số ý tưởng từ não bộ tới việc tiếp
thu nhiều tầng biểu đạt, cả cụ thể lẫn trừu tượng, qua đó làm rõ nghĩa của các loại
dữ liệu. Hiện nay Deep Learning được ứng dụng trong rất nhiều nhiều lĩnh vực.
Thuật toán Deep Learning được tạo thành từ Artificial Neural Networks với các
layers ẩn, dựa trên mạng thần kinh nơ-ron sinh học. Deep Natural Networks có thể
được sử dụng để mô phỏng các mối quan hệ phức tạp phi tuyến tính trong cả giám
sát (tập dữ liệu được sử dụng để dự đoán kết quả sau này) và không giám sát (gom
nhóm và tìm ra các mẫu mới và khác thường trong dữ liệu). Deep Learning có độ
chính xác cao, có thể học sâu rộng và đạt được độ chính xác ở mức công nhận vô
cùng cao. Điều này sẽ đảm bảo cho thiết bị điện tử tiêu dùng có thể đáp ứng được
mọi nhu cầu cũng như mong đợi từ phía người dùng. Dù mới phát triển nhưng các
kiến trúc Deep Learning có thể mô hình hoá một cách tự động các mối quan hệ phi
tuyến phức tạp của dữ liệu. Do đó các kỹ thuật Deep Learning có thể hoạt động với
dữ liệu thô mà không cần thông qua các bước trích xuất đặc trưng thủ công, phức
tạp, chỉ phù hợp với từng vấn đề nhỏ. Có nhiều kiến trúc Deep Learning như mạng
nơ-ron tích chập (Convolutional Neural Network), Deep Belief Network, Deep
6

Learning đã đem lại nhiều thành công mang tính đột phá trong nhiều lĩnh vực như
thị giác máy tính, xử lý ngôn ngữ tự nhiên.
Trong phạm vi đề tài này sẽ tìm hiểu kiến trúc và thực nghiệm huấn luyện mô
hình mạng với tập dữ liệu ảnh y tế được tham khảo từ Kaggle và một số liên kết liên
quan để phân loại và phân vùng bệnh ung thư thận trên môi trường Google Colab
với mô hình mạng U-net.
1.4. Cơ sở thực tiễn
Hình ảnh CT đã và đang được áp dụng rộng rãi trong việc phát hiện một số bệnh
lý, nhưng rất khó để phân biệt khối u do ung thư gây ra với một số căn nguyên khác.
Việc lý giải các hình ảnh thường gặp nhiều sai lầm do kinh nghiệm, cảm giác hoặc
do nhận thức cá nhân. Vì thế khi phân tích, các bác sĩ phải luôn kết hợp với đặc điểm
và biểu hiện lâm sàng để đưa ra chẩn đoán chính xác. Ngoài ra, Deep Learning ứng
dụng trong lĩnh vực y tế đã ghi nhận được nhiều nghiên cứu mang đến những kết
quả khả quan. Đó là tiền để thực hiện nghiên cứu phát hiện bệnh ung thư dựa trên
dấu hiệu tổn thương thận.
1.5. Nghiên cứu liên quan
Trong bài báo “Kidney tumor segmentation using an ensembling multi-stage
deep learning approach. A contribution to the KiTS19 challenge”[14] năm 2019 của
nhóm tác giả Gianmarco Santini , No´emie Moreau and Mathieu Rubeaux. Trong
nghiên cứu này, nhóm tác giả giới thiệu đã thuật toán để thực hiện phát hiện khối u
thận từ tập dữ liệu từ cuộc thi KITS19. Trong nghiên cứu này, nhóm đã thực hiện
tách thận và khối u thông qua mô hình resnet với tỉ lệ 96% nhận diện thành công
thận và 76% nhận diện thành công khối u.
Trong bài báo “KiTS19 Challenge Segmentation ” năm 2019 của tác giả yi-
Chin Tsai, Yung-Nien Sun đến từ đại học quốc gia Thành Công, Đài Loan. Trong
bài nghiên cứu này, tác giả đã đề xuất giải pháp dựa trên kiến trúc mạng resunet để
có thể phân đoạn thận từ ROI(vùng trung tâm). Và sau đó triết xuất thận bằng mạng
DenseUnet để tách được thận và phân đoạn khối u. Với những kiến trúc mạng trên
đạt được tỉ lệ 96% nhận diện thành công thận và 75% tỉ lệ nhận diện thành công khối
u.
1.6. Vấn đề đặt ra
Nghiên cứu và phát triển đề tài “Phát hiện và khoanh vùng ung thư thận bằng kỹ
7

thuật deep learning” nhằm mục đích:


- Phát hiện tổn thương và khoanh vùng tổn thương do khối u gây ra.
- Tinh chỉnh mô hình đạt độ chính xác cao.
1.7. Hướng giải quyết
Để thực hiện các mục đích được đề ra ở phần vấn đề đặt ra cần tiến hành:
- Tìm hiểu về bệnh ung thư thận.
- Tìm hiểu về những nghiên cứu liên quan về tổn thương thận do khối u gây ra.
- Thu thập tập dữ liệu về CT ảnh chụp thận.
- Xây dựng mô hình Deep Leaning để phát hiện tổn thương thận do khối u.
8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Bệnh ung thư thận
2.1.1. Ung thư thận
Ung thư thận là sự phát triển ác tính các tế bào, hình thành một khối u trong thận.
Cũng cần lưu ý rằng, không phải bất kỳ một khối u thận nào cũng ác tính. Một số
trường hợp có thể là u lành tính, không phải ung thư. Ung thư thận là một danh từ
chung. Có nhiều biến thể khối u ác tính trong thận và các giai đoạn của bệnh. Điều
trị phụ thuộc vào đặc điểm của khối u và kinh nghiệm chuyên môn.
Ung thư thận bao gồm ung thư tế bào thận, sarcoma thận và u lympho thận
nguyên phát... trong đó ung thư tế bào thận (Renal Cell Carcinoma-RCC) chiếm tới
hơn 90% các trường hợp, nên trong bài này chỉ đề cập nội dung ung thư tế bào thận.
Ung thư tế bào thận đứng hàng thứ 2 trong các bệnh ác tính hệ tiết niệu và chiếm 1-
2% toàn bộ các loại ung thư ở người lớn. Bệnh thường xuất hiện ở người lớn trên 40
tuổi, với tỉ lệ nam gấp 2 lần so với nữ giới.

Hình 2.1. Ảnh so sánh giữa thận bình thường và thận bị ung thư
2.1.2. Nguyên nhân gây bệnh
Nguyên nhân gây ung thư thận chưa được khẳng định, tuy nhiên có nhiều yếu tố
nguy cơ đã được chứng minh có thể dẫn tới ung thư thận như:
 Hút thuốc lá: Đây là một trong những yếu tố có nguy cơ cao gây nên ung thư
thận. Trung bình, có đến khoảng 30% nam giới và khoảng 24% nữ giới khi
hút nhiều thuốc lá thì đều mắc phải căn bệnh quái ác này.
9

 Người hút thuốc với thời gian càng dài và số lượng cao thì nguy cơ mắc bệnh
sẽ càng tăng.
 Có hơn 4.000 loại độc tố được tìm thấy ở bên trong khói thuốc. Những độc tố
này có thể gây nên những ảnh hưởng đến DNA của những tế bào. Benzo (a)
pyrene có trong thuốc lá là một chất có thể làm xuất hiện các tổn thương gen
P53 - đóng vai trò mã hóa đối với các protein P53. Loại protein này có nhiệm
vụ bảo vệ những tế bào bên trong cơ thể kháng lại ung thư.
 Những cacbua hydro thơm đa vòng có thể kể đến như 3' - 5' benzo - pyrene
cũng được xem là có ảnh hưởng đến nguyên nhân khởi phát của căn bệnh này.
Nhiều nghiên cứu đã chỉ ra rằng, những người làm việc có tiếp xúc với những
hóa chất này có tỷ lệ mắc bệnh khá cao, điển hình như công nhân nghề in, hóa
chất, công nhân nhuộm hoặc những người thường xuyên tiếp xúc với xăng
dầu.
 Yếu tố di truyền: Bệnh có khả năng khởi phát ở nhiều người trong cùng một
gia đình. Những đối tượng bị khuyết một đoạn ở NST 3 hoặc chuyển vị của
các NST 3 và NST 8 cũng sẽ có tỷ lệ mắc ung thư thận khá cao.
2.1.3. Ung thư thận và các giai đoạn phát triển
 Giai đoạn đầu
Nếu phát hiện ung thư thận ở giai đoạn này, người bệnh có thể điều trị bệnh thành
công, kéo dài thời gian sống thêm 5 năm, 10 năm. Tuy nhiên, rất ít bệnh nhân ung
thư thận phát hiện mình bị ung thư giai đoạn đầu.
 Giai đoạn 2
Ở giai đoạn 2, khối u có kích thước lớn hơn khoảng 7cm trong thận. Tế bào ung
thư chưa lây lan đến các hạch bạch huyết hoặc các cơ quan khác gần đó. Bác sĩ có
thể cắt bỏ một phần thận bị ung thư hoặc cắt bỏ toàn bộ quả thận.
 Giai đoạn 3
Ở giai đoạn 3, bệnh ung thư thận đã phát triển các tế bào ung thư đã xâm lấn vào
tĩnh mạch thận, xâm lấn lớp mỡ quanh thận nhưng không ra ngoài cân hận (Gerota’s
fascia), có thể đã xâm lấn các hạch bạch huyết lân cận quanh thận, chưa xâm lấn vào
tuyến thận.
 Giai đoạn 4
Bệnh nhân bị ung thư thận giai đoạn cuối , các tế bào ung thư đã xâm lấn vào
10

tuyến thượng thận, lan rộng ra ngoài vùng Gerota đến các hạch bạch huyết ở xa và
các cơ quan khác. Giai đoạn ung thư thận di căn thường phức tạp và nguy hiểm. Các
phương pháp điều trị cho bệnh nhân hiện nay tập trung vào việc giảm nhẹ các triệu
chứng và hạn chế sự di căn của khối u.

Hình 2.2. Các giai đoạn phát triển của ung thư thận
2.1.4. Cách thức gây bệnh
U thận mới đầu ở nhu mô, khối ung thư to dần, phá vỡ bao thận và lan ra ngoài
tới lớp mỡ quanh thận, xâm lấn các tạng gần như đại tràng, gan.

Ung thư tế bào thận di căn theo các đường bạch huyết và tĩnh mạch. Theo đường
bạch huyết, ung thư tế bào thận di căn vào các hạch thắt lưng, động mạch chủ rồi đến
các hạch sau phúc mạc, bụng, trung thất... có khi lên hạch thượng đòn, nách, cổ. Theo
đường tĩnh mạch u di căn vào tĩnh mạch chủ rồi đến các hạch sau phúc mạc bụng,
trung thất và xa hơn vào các tạng xa như phổi, gan, xương, thượng thận, thận bên kia,
não.

2.1.5. Dấu hiệu và triệu chứng


 Tiểu ra máu
Tiểu ra máu là một trong những triệu chứng ung thư thận giai đoạn cuối, tuy
nhiên, nó cũng có thể xuất hiện trong bất kỳ giai đoạn nào của bệnh. Bạn có thể nhận
thấy nước tiểu sẫm màu hơn bình thường, có thể màu hồng hoặc có màu đỏ như máu.
Tuy nhiên, có máu trong nước tiểu không có nghĩa là bạn đã mắc bệnh ung thư thận.
Vì vậy, nếu xuất hiện triệu chứng này, hãy đi khám bác sĩ để tìm ra nguyên nhân
chính xác và điều trị phù hợp.
11

 Đau thắt lưng hoặc một bên hông


Đau thắt lưng hoặc có cảm giác bị chèn ép ở lưng hoặc một bên hông, ngay dưới
xương sườn mà không phải do chấn thương cũng có thể là dấu hiệu ung thư thận.
Nguyên nhân là do khối u thận phát triển lớn hơn và gây áp lực ở hai bên xương sườn,
do đó gây đau nhức, khó chịu.
 Sưng ở cạnh bên hoặc lưng dưới
Bạn có thể cảm thấy như bị sưng hoặc có một khối u ở bên cạnh hoặc lưng dưới.
Mặc dù khối u do ung thư thận thường quá nhỏ để cảm nhận rõ ràng nhưng đây cũng
có thể được xem là một trong những dấu hiệu ung thư thận không nên bỏ qua.
 Mệt mỏi
Mệt mỏi kéo dài hay cảm giác không được khỏe có thể thực sự là một dấu hiệu
ung thư thận mà bạn nên cảnh giác. Tốt hơn hết là bạn nên đi khám bác sĩ càng sớm
càng tốt để tìm nguyên nhân gây mệt mỏi kéo dài và điều trị kịp thời.
 Chán ăn, sụt cân
Thận đóng vai trò quan trọng trong bộ máy tiêu hóa, ảnh hưởng đến khả năng hấp
thụ và tiêu hóa thức ăn. Nếu mắc ung thư thận thì chức năng thận sẽ bị ảnh hưởng
nghiêm trọng. Do vậy, người bệnh có thể cảm thấy chán ăn, ăn không ngon miệng và
sụt cân không rõ nguyên do.
 Sốt
Sốt không phải do nhiễm trùng, cảm lạnh hoặc cúm đơn thuần và liên tục tái phát
có thể là triệu chứng ung thư thận.
 Thiếu máu
Các khối u ác tính trong thận có thể dẫn tới thiếu máu (số lượng tế bào hồng cầu
thấp), mất cân bằng điện giải, mức canxi cao hoặc các rối loạn về máu khác.
2.1.6. Phân loại ung thư thận
Các khối u thận được phân loại theo giai đoạn, loại phụ và mức độ ác tính của tế
bào khối u. Ba yếu tố này là cơ sở để bạn có thể đưa ra lộ trình điều trị.
Hệ thống đánh giá giai đoạn
Giai đoạn khối u cho biết mức độ tiến triển của khối u và có di căn hay không,
trong các hạch bạch huyết hoặc các cơ quan khác.
12

Phân loại giai đoạn khối u thận dựa trên sự lan rộng của khối u và các hạch bạch
huyết (TNM). Bác sĩ tiết niệu đánh giá kích thước và sự xâm lấn của khối u (T) và
xác định mức độ tiến triển dựa trên 4 giai đoạn. Các hạch bạch huyết bị ảnh hưởng
(N) hoặc ung thư đã lan sang bất kỳ bộ phận nào khác của cơ thể (M) cũng được kiểm
tra. Nếu khối u thận di căn, chúng thường lan đến phổi, hoặc đến xương hoặc não.

Phân loại khối u


Bên cạnh giai đoạn, phân loại của khối u thận là quan trọng. Loại khối u được
xác định bởi nhà nghiên cứu bệnh học và quy trình này được gọi là phân tích mô bệnh
học. Chuyên gia bệnh học sẽ xem dưới kính hiển vi mô khối u được lấy trong sinh
thiết hoặc sau phẫu thuật. Sinh thiết thận không phải là một thủ thuật tiêu chuẩn trong
chẩn đoán ung thư thận. Trong hầu hết các trường hợp, người bệnh không thể biết
loại khối u trước khi phẫu thuật.

Khối u thận có nhiều loại khác nhau, thường gặp nhất là ung thư biểu mô tế bào
thận. Trong số này, hầu hết là loại ung thư biểu mô tế bào sáng.

“Nếu bạn được chẩn đoán với một khối u thận hiếm gặp, bác sĩ sẽ cung cấp thông
tin chi tiết về các phương pháp điều trị khác nhau. Những điều trị này có thể khác với
liệu pháp điều trị các loại ung thư thận thường gặp. Tại BVĐK Tâm Anh, các lựa
chọn điều trị được thảo luận bởi một nhóm chuyên gia đa chuyên khoa, để tìm ra cách
thức điều trị tốt nhất cho người bệnh”, ThS.BS Nguyễn Tân Cương cho biết.

Nang thận
Một vài khối u trong thận không phải dạng đặc mà là nang thận, đây là những túi
chứa đầy dịch trong thận và dễ dàng nhận ra trên phim chụp CT. Nếu là nang thận có
khả năng ác tính, những nang này cần được loại bỏ bằng phẫu thuật.

Phân loại Fuhrman


Thành phần thứ ba của phân loại là đánh giá mức độ ác tính của các tế bào khối
u. Phân loại nhân Fuhrman là hệ thống được sử dụng phổ biến nhất để xác định điều
này. Có 4 nhóm theo phân loại Fuhrman.

2.1.7. Phương pháp điều trị


Nếu bệnh nhân có chẩn đoán ung thư thận khu trú, bác sĩ của có thể khuyên nên
điều trị ung thư bằng các phương pháp sau:
13

 Cắt bỏ một phần thận;


 Cắt thận triệt căn;
 Theo dõi chủ động;
 Hủy u bằng sóng vô tuyến hoặc áp lạnh.

Mỗi phương pháp đều có ưu điểm và nhược điểm. Tùy vào tình trạng cụ thể của
bạn mà lựa chọn phương pháp điều trị phù hợp.

Nếu bạn được chẩn đoán ung thư thận tiến triển tại chỗ, bác sĩ có thể đề nghị cắt
thận triệt căn hoặc tắc mạch.

Khối u thận có thể di căn đến các cơ quan khác hoặc các hạch. Đây được gọi là
bệnh di căn. Trong bệnh di căn, khối u thận được gọi là khối u nguyên phát và các
khối u ở các cơ quan khác được gọi là di căn. Bác sĩ có thể đề nghị điều trị bệnh di
căn bằng phẫu thuật, thường kết hợp với liệu pháp kháng sinh mạch, còn được gọi là
liệu pháp nhắm trúng đích. Trong một số ít trường hợp, liệu pháp miễn dịch cũng có
thể được sử dụng. Để điều trị di căn, xạ trị có thể được đề nghị.

Nói chung, bệnh di căn không thể chữa khỏi. Việc điều trị của bệnh di căn nhằm
mục đích giảm kích thước của khối u và di căn. Điều này sẽ cho người bệnh cơ hội
sống lâu hơn và có ít triệu chứng hơn.

Đôi khi, người bệnh không thể phục hồi sau điều trị ung thư thận. Khi điều trị
không còn thành công, người bệnh có thể được đề nghị chăm sóc giảm nhẹ để sống
thoải mái hơn. Chăm sóc giảm nhẹ là một khái niệm chăm sóc với mục tiêu tối ưu
hóa chất lượng cuộc sống của người bệnh nếu không thể khỏi bệnh.

2.1.8. Phương pháp chuẩn đoán


Hiện nay để chuẩn đoán cho việc phát hiện bệnh ung thư thận, bác sĩ hoặc chuyên
viên sẽ sử dụng nhiều biện pháp chuẩn đoán y học hạt nhân, các xét nghiệm lâm sàn
và cận lâm sàn. Đối với lâm sàn, các triệu chứng Đái máu toàn bãi, đái buốt, Đau
lưng, có khối u ở bụng, sụt cân, thiếu máu, sốt, có thể âm thầm không triệu chứng.
Giai đoạn muộn khi đã có di căn, trên lâm sàng có các triệu chứng của di căn tùy vị
trí, giai đoạn bệnh. Còn đối với cận lâm sàn, Ngày nay với sự phát triển của y học
cùng công tác khám sức khỏe định kỳ, ung thư thận thường được phát hiện tình cờ
14

qua các phương tiện chẩn đoán hình ảnh. Chỉ có 10% bệnh nhân đến khám vì tam
chứng cổ điển bao gồm nổi khối vùng mạng sườn, đau thắt lưng và đái máu.
Các xét nghiệm chẩn đoán hình ảnh: Siêu âm thận: khối u đặc, thâm nhiễm phá
vỡ bao thận, xâm lấm mỡ quanh thận, có thể thấy huyết khối tĩnh mạch thận. Chụp
cắt lớp vi tính, cộng hưởng từ, khối u đặc ít ngấm thuốc hơn nhu mô thận lành, đánh
giá tình trạng tổ chức u thâm nhiễm xung quanh, hạch, di căn tiểu khung ổ bụng, có
thể thấy huyết khối tĩnh mạch thận, tĩnh mạch chủ dưới.

Các kỹ thuật chẩn đoán y học hạt nhân:

 Xạ hình thận chức năng bằng máy SPECT, SPECT/CT với 99mTc-DTPA:
có thể thấy thay đổi pha mạch, pha tiết, pha bài xuất của từng thận tùy theo vị trí,
kích thước, số lượng khối u thận. Xạ hình thận đánh giá chức năng từng thận riêng rẽ
giúp lên kế hoạch phẫu thuật.
 Xạ hình thận hình thể bằng máy SPECT, SPECT/CT với 99mTc-DMSA: thấy
hình ảnh ổ khuyết ở thận nhưng cần phân biệt với nang thận và các khối u thận khác.
 Xạ hình xương bằng máy SPECT, SPECT/CT với 99mTc-MDP để đánh giá tổn
thương di căn xương, chẩn đoán giai đoạn bệnh trước điều trị, theo dõi đáp ứng điều
trị, đánh giá tái phát và di căn. Ung thư thận hay di căn ở cột sống, xương sườn, xương
chậu, xương sọ...
 Chụp PET/CT với 18F-FDG trước điều trị để chẩn đoán u nguyên phát, chẩn
đoán giai đoạn bệnh; chụp sau điều trị để theo dõi đáp ứng điều trị, đánh giá tái phát
và di căn; mô phỏng lập kế hoạch xạ trị. Chụp PET/CT: ít giá trị chẩn đoán với u thận
nguyên phát. Có giá trị phát hiện các tổn thương di căn: thường gặp ở phổi, gan, hạch
ổ bụng, xương...
 Sinh thiết u dưới hướng dẫn của siêu âm hoặc CT để chẩn đoán mô bệnh học.
Ung thư biểu mô tế bào thận có các dưới nhóm thường gặp: thể tế bào sáng, thể nhú,
chromophobe.
 Xét nghiệm máu toàn bộ: công thức máu, đông máu toàn bộ, chức năng gan,
thận giúp đánh giá bilan.
 Xét nghiệm sinh hóa nước tiểu.
 Xét nghiệm định lượng LDH, calci huyết.
15

 Xét nghiệm chất chỉ điểm khối u (tumor marker): CEA, BTA (bladder tumor
antigen) tăng cao trong một số trường hợp. Có giá trị theo dõi đáp ứng điều trị, phát
hiện bệnh tái phát, di căn xa.
 Xét nghiệm đột biến gen: mlH1, MSH2, MSH6, PMS2, EPCAM, PTEN,
TP53, VLH ...
 Giải trình tự nhiều gen.
 Chẩn đoán xác định dựa trên lâm sàng và cận lâm sàng trong đó chẩn đoán mô
bệnh học mang tính chất quyết định.

Bảng 2.1. Phân loại TNM


U nguyên phát
Tx Không đánh giá được u nguyên phát
T0 Không có u nguyên phát
T1 U có đường kính lớn nhất nhỏ hơn 7cm, khu trú trong thận
T1a U có đường kính lớn nhất nhỏ hơn 4cm, khu trú trong thận
T1b U có đường kính lớn nhất trong khoảng 4cm đến 7cm, khu trú
trong thận
T2 U có đường kính lớn nhất hơn 7cm, khu trú trong thận
T2a U có đường kính lớn nhất trong khoảng 7cm đến 10cm, khu trú
trong thận
T2b U lớn hơn 10cm, khu trú trong thận
T3 U xâm nhập vào tĩnh mạch lớn hay mô quanh thận nhưng không
ra khỏi cân Gerota và không xâm lấn vào tuyến thượng thận cùng
bên
T3a U xâm nhập vào tĩnh mạch thận hay các nhánh của tĩnh mạch
thận hay mô quanh thận hay mô mỡ xoang thận nhưng còn chưa
xâm nhập cân Gerota
T3b U xâm nhập tĩnh mạch chủ dưới, đoạn dưới cơ hoành hoặc tĩnh
mạch thận.
T4 U xâm nhập ra ngoài cân Gerota hoặc xâm lấn tuyến thượng thận
cùng bên.
16

Hạch vùng
Nx: Không đánh giá được hạch vùng
N0 Không di căn hạch vùng
N1 : Có di căn hạch vùng
Di căn xa
Mx Không đánh giá được di căn xa
M0 Không có di căn xa
M1 Có di căn xa

Bảng 2.2. bảng chuẩn đoán ung thư theo TNM


Giai đoạn T N M
Giai đoạn 1 T1 N0 M0
Giai đoạn 2 T2 N0 M0
Giai đoạn 3 T1-2 N1 M0
T3 N0-1 M0
Giai đoạn 4 T4 Nbất kỳ M0
Tbất kỳ Nbất kỳ M1

2.2. Tổng quan về trí tuệ nhân tạo


2.2.1. Khái niệm
Trí Tuệ Nhân Tạo - AI (Artificial Intelligence) hoặc trí thông minh nhân tạo là
công nghệ mô phòng các quá trình suy nghĩ và học tập của con người cho máy móc,
đặc biệt là hệ thống máy tính. Trí tuệ nhân tạo này do con người lập trình ra với mục
đích tự động hóa các hành vi thông minh như con người, từ đó cắt giảm bớt nhân
công là con người và có tính chuẩn xác cao hơn. Những đặc điểm của trí tuệ nhân tạo
AI:
- Ứng dụng các hệ thống học máy để giúp mô phỏng trí tuệ của con người trong
những xử lý mà con người sẽ làm tốt hơn cả máy tính.
- Trí tuệ nhân tạo giúp cho máy tính có được những trí tuệ của con người: khả
năng biết suy nghĩ, biết lập luận để có thể giải quyết được vấn đề, biết giao tiếp do
hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi...
17

- Trí thông minh nhân tạo là một trong những ngành trọng yếu của tin học, liên
quan đến cách cư xử, sự học hỏi và khả năng thích ứng thông mình của máy móc mà
chúng ta không ngờ.
2.2.2. Một số công nghệ Trí tuệ nhân tạo phổ biến
1. Công nghệ AI phản ứng
Đây là loại có khả năng phân tích những động thái khả thi nhất của chính mình
và của đối thủ, từ đó đưa ra được những giải pháp tối ưu nhất.
Ví dụ của công nghệ AI phản ứng là Deep Blue. Đây là một chương trình chơi cờ
vua tự động, được tạo ra bởi IBM, với khả năng xác định các nước cờ cũng như dự
đoán những bước đi tiếp theo của đối thủ.
2. Công nghệ AI với bộ nhớ hạn chế
Đây là loại có khả năng sử dụng những kinh nghiệm trong quá khứ để đưa ra
những quyết định trong tương lai. Công nghệ AI này thường kết hợp với cảm biến
môi trường xung quanh nhằm mục đích dự đoán những trường hợp có thể xảy ra và
đưa ra quyết định tốt nhất cho thiết bị.
3. Lý thuyết trí tuệ nhân tạo
Đây là loại có thể học hỏi cũng như tự suy nghĩ, sau đó áp dụng những gì học
được để thực hiện một việc cụ thể. Hiện nay, công nghệ AI này vẫn chưa trở thành
một phương án khả thi.
4. Tự nhận thức
Chúng có khả năng tự nhận thức về bản thân, có ý thức và hành xử như con người
vậy. Thậm chí, chúng còn có thể bộc lộ cảm xúc cũng như hiểu được những cảm xúc.
Đây được xem là bước phát triển cao nhất của công nghệ AI cho đến thời điểm hiện
tại, thế nhưng công nghệ này vẫn chưa khả thi.
2.2.3. Ứng dụng của trí tuệ nhân tạo trong cuộc sống hiện nay
Ứng dụng trí tuệ nhân tạo ở Việt Nam cũng như trên toàn cầu là vô cùng quan
trọng. Lợi ích cũng như vai trò của trí tuệ nhân tạo vô cùng rộng khắp ở nhiều lĩnh
vực, ngành nghề như:
2.2.3.1. Vai trò của trí tuệ nhân tạo trong y tế
AI trong robots y học: Các ứng dụng của công nghệ AI y tế cũng bao gồm các
robot và thiết bị y tế hỗ trợ. Ví dụ, robot điện thoại có thể tạo điều kiện giao tiếp giữa
18

bệnh nhân với các chuyên gia y tế; thiết bị đi bộ hỗ trợ có thể giúp điều phối đi, đứng
hoặc ngồi; và robot giống như động vật có thể giao tiếp và xác định bệnh nhân. Robot
cũng có thể được sử dụng trong phẫu thuật với tư cách là trợ lý bác sĩ phẫu thuật, hệ
thống phẫu thuật da Vinci là một trong những hệ thống phẫu thuật robot được sử dụng
phổ biến nhất.
Hệ thống khai thác dữ liệu bệnh nhân và các nguồn dữ liệu có sẵn khác để tạo
thành một giả thuyết, sau đó nó đưa ra một lược đồ chấm điểm tin cậy.
AI trong ra quyết định lâm sàng: Với sự phát triển nhanh chóng của công nghệ,
lượng thông tin mới từ các công trình nghiên cứu ngày càng nhiều và nhanh hơn.
Hiện nay, lượng thông tin y khoa đã tăng gấp đôi cứ sau mỗi 3 năm. Ước tính rằng
nếu một bác sĩ muốn cập nhật toàn bộ thông tin y khoa thì phải đọc 29 giờ mỗi ngày.
Ngoài ra, nguồn dữ liệu lớn (big data), bao gồm các dữ liệu từ hồ sơ sức khoẻ điện tử
(EHR), các dữ liệu “omic” - dữ liệu về di truyền học (genomics), dữ liệu về chuyển
hóa (metabolomics) và dữ liệu về protein (proteomics), và dữ liệu về xã hội học và
lối sống là những nguồn dữ liệu sẽ không có ích nếu không được phân tích toàn
diện. Giải pháp duy nhất để có thể tiếp cận và sử dụng khối lượng thông tin khổng lồ
trong lĩnh vực y tế đó là sử dụng công nghệ trí tuệ nhân tạo (Artificial Intelligence –
AI). IBM Watson là một trong những hệ thống hàng đầu hỗ trợ chăm sóc sức khỏe
bằng AI, giúp các bác sĩ đưa ra quyết định hiệu quả. Với khả năng máy học (machine
learning) và khả năng xử lý ngôn ngữ tự nhiên, hệ thống này giúp các bác sĩ xem xét
hồ sơ sức khoẻ điện tử của bệnh nhân và cập nhật thông tin hướng dẫn điều trị từ các
công trình nghiên cứu y khoa. Một nghiên cứu mù đôi đã so sánh các quyết định của
hội đồng các chuyên gia ung thư với quyết định của trí tuệ nhân tạo từ hệ thống ung
thư Watson. Kết quả cho thấy 90% các khuyến nghị mà hệ thống đưa ra là phù hợp
với các khuyến nghị của hội đồng các chuyên gia, nhưng hệ thống chỉ mất 40 giây để
hoàn tất quy trình.
AI trong chẩn đoán: Lỗi chẩn đoán là một mối đe dọa nghiêm trọng đối với chất
lượng và an toàn trong chăm sóc sức khỏe. Tại Mỹ, ước tính tỷ lệ lỗi chẩn đoán ngoại
trú là 5,08% tương đương 12 triệu người mỗi năm. Khoảng một nửa trong số các lỗi
này là có khả năng gây hại. Công nghệ AI đã được sử dụng để cải thiện chất lượng
chẩn đoán, đặc biệt là trong X quang. AI dựa trên nguồn dữ liệu 129.450 hình ảnh
lâm sàng để chẩn đoán bệnh ngoài da, kết quả đã chứng minh rằng hệ thống này có
19

thể phân loại ung thư da ở mức tương đương với các bác sĩ da liễu. Một thuật toán
dựa trên hình ảnh cộng hưởng từ của chuyển động tim cho phép dự đoán chính xác
kết quả bệnh nhân bị tăng áp phổi; một phương pháp phân loại nhịp tự động trong
phân tích điện tâm đồ liên tục (ECGs) ở những bệnh nhân mắc bệnh nghiêm trọng.
Một nghiên cứu khác đã xem xét các kết quả đầy hứa hẹn sử dụng AI trong hình ảnh
đột quỵ và cho rằng công nghệ AI có thể đóng một vai trò quan trọng trong việc quản
lý bệnh nhân đột quỵ.
AI trong y học cá thể: Y học cá thể (Personized medicine) là một mô hình chăm
sóc sức khỏe mới, trong đó việc điều trị và phòng ngừa bệnh dựa trên các điều kiện
cá nhân, bao gồm thông tin di truyền, đặc điểm tâm lý xã hội, môi trường và lối sống.
Tất cả thông tin này sẽ tạo ra một lượng dữ liệu khổng lồ, chỉ có thể được phân tích
và tích hợp bởi công nghệ AI.
2.2.3.2. Vai trò quan trọng của trí tuệ nhân tạo trong kinh doanh
Riêng trong lĩnh vực kinh doanh, trí tuệ nhân tạo AI góp phần mang đến những
trải nghiệm tốt hơn cho hệ thống khách hàng. Thông qua việc thu thập cũng như phân
tích dữ liệu, trí tuệ AI có thể nắm bắt thông tin cũng như hành vi sử dụng dịch vụ của
khách hàng, từ đó mang lại những giải pháp hữu ích trong kinh doanh.
Còn với lĩnh vực truyền thông, trí tuệ nhân tạo trong marketing đóng vai trò quan
trọng, góp phần làm thay đổi những cách thức tiếp cận với khách hàng mục tiêu. Với
những ưu điểm của công nghệ AI, các công ty, tổ chức có thể triển khai những chiến
dịch quảng cáo đúng thời điểm, đúng khách hàng mục tiêu dựa trên những phân tích
chính xác về nhân khẩu học, thói quen, hành vi và nhu cầu.
Tự động hóa quá trình robot đang được áp dụng cho các nhiệm vụ lặp đi lặp lại
thường được thực hiện bởi con người.
Các thuật toán Machine Learning đang được tích hợp vào các nền tảng phân tích
và CRM để khám phá thông tin về cách phục vụ khách hàng tốt hơn. Chatbots đã
được kết hợp vào các trang web để cung cấp dịch vụ ngay lập tức cho khách hàng.
Tự động hóa các vị trí công việc cũng đã trở thành một điểm nói chuyện giữa các học
giả và các nhà phân tích.
2.2.3.3. Ứng dụng của trí tuệ nhân tạo trong giáo dục
Trí tuệ nhân tạo đã tạo nên những thay đổi lớn trong ngành giáo dục hiện nay. Cụ
thể hơn, phải kể đến:
20

- Các hoạt động giáo dục như chấm điểm, dạy kèm có thể được tự động hóa nhờ
công nghệ AI.
- Rất nhiều trò chơi, phần mềm giáo dục ra đời phổ biến để đáp ứng những nhu
cầu của học sinh, sinh viên để cải thiện và nâng cao trình độ học tập của mỗi người.
- Chúng còn có thể chỉ ra những vấn đề mà các khóa học nên cải thiện: Nếu
nhiều học sinh gửi đáp án sai cho bài tập, hệ thống sẽ thông báo cho các giáo viên
đồng thời gửi thông điệp đến với các em học sinh để chỉnh sửa đáp án cho phù hợp
nhất.
- Trí tuệ nhân tạo thay thế con người bởi còn có khả năng theo dõi sự tiến bộ của
học sinh để từ đó đưa ra những thông báo đến với các giáo viên khi phát hiện ra nhiều
vấn đề đối với kết quả học tập của học sinh.
- Trí tuệ nhân tạo cung cấp nhiều dữ liệu bổ ích để giúp các sinh viên lựa chọn
được những khóa học tốt nhất cho mình.
2.2.3.4. Ứng dụng của trí tuệ nhân tạo trong tài chính
AI trong các ứng dụng tài chính cá nhân, như Mint hoặc Turbo Tax, đang phá vỡ
các tổ chức tài chính.
Các ứng dụng như thu thập dữ liệu cá nhân và cung cấp tư vấn tài chính. Các
chương trình khác, như IBM Watson, đã được áp dụng cho quá trình mua nhà.
2.2.3.5. Ứng dụng của trí tuệ nhân tạo trong pháp luật
Tự động hóa quá trình này là sử dụng thời gian hiệu quả hơn. Các công ty khởi
nghiệp cũng đang xây dựng các trợ lý máy tính hỏi và trả lời có thể sàng lọc các câu
hỏi được lập trình để trả lời bằng cách kiểm tra phân loại và bản thể học liên quan
đến cơ sở dữ liệu.
2.2.3.6. Ứng dụng của trí tuệ nhân tạo trong sản xuất
Đây là một lĩnh vực đã đi đầu trong việc kết hợp robot vào quy trình làm việc.
Robot công nghiệp được sử dụng để thực hiện các nhiệm vụ đơn lẻ và được tách ra
khỏi công nhân của con người, nhưng như công nghệ nâng cao mà thay đổi.
2.2.3.7. Ứng dụng của trí tuệ nhân tạo trong dịch vụ khách hàng
Cuối cùng nhưng không kém phần quan trọng, Google đang làm việc với một trợ
lý AI có thể thực hiện các cuộc gọi giống như con người để thực hiện các cuộc hẹn
tại, giả sử, tiệm tóc của khu phố. Ngoài các từ, hệ thống hiểu ngữ cảnh và sắc thái.
2.3. Machine learning
21

2.3.1. Khái niệm Machine Learning


Machine Learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo (AI), nó
là một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân
chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những gì đã
được học). Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cần
được lập trình cụ thể.
Bài toán machine learning thường được chia làm hai loại là dự đoán (prediction)
và phân loại (classification). Các bài toán dự đoán như dự đoán giá nhà, giá xe… Các
bài toán phân loại như nhận diện chữ viết tay, nhận diện đồ vật…
2.3.2. Machine learning Workflow

Hình 2.3. Machine Learning Workflow


MLW sẽ cho thấy quy trình để làm việc với machine learning như thế nào. Cụ thể
từng bước trong machine learning workflow như sau như sau:
- Data collection - thu thập dữ liệu: để máy tính có thể học được bạn cần có một
bộ dữ liệu (dataset), bạn có thể tự thu thập chúng hoặc lấy các bộ dữ liệu đã được
công bố trước đó. Lưu ý là bạn phải thu thập từ nguồn chính thống, có như vậy dữ
liệu mới chính xác và máy có thể học một cách đúng đắng và đạt hiệu quả cao hơn.
- Preprocessing - tiền xử lý: bước này dùng để chuẩn hóa dữ liệu, loại bỏ các
thuộc tính không cần thiết, gán nhãn dữ liệu, mã hóa một số đặc trưng, trích xuất đặc
trưng, rút gọn dữ liệu nhưng vẫn đảm bảo kết qủa các kỹ thuật tiền xử lý dữ liệu phổ
biến hiện nay bao gồm: xử lý dữ liệu bị khuyết (missing data), mã hóa các biến nhóm
(encoding categorical variables), chuẩn hóa dữ liệu (standardizing data), co giãn dữ
liệu (scaling data),… Bước này tốn thời gian nhất tỉ lệ thuận với số lượng dữ liệu bạn
có. Bước 1 và 2 thường chiếm hơn 70% tổng thời gian thực hiện.
22

- Training model - huấn luyện mô hình: bước này là bước bạn huấn luyện cho
mô hình hay chính là cho nó học trên dữ liệu bạn đã thu thập và xử lý ở hai bước đầu.
- Evaluating model - đánh giá mô hình: sau khi đã huấn luyện mô hình xong,
chúng ta cần dùng các độ đo để đánh giá mô hình, tùy vào từng độ đo khác nhau mà
mô hình cũng được đánh giá tốt hay không khác nhau. Độ chính xác của mô hình đạt
trên 80% được cho là tốt.
- Improve - cải thiện: sau khi đã đánh giá mô hình, các mô hình đạt độ chính xác
không tốt thì cần được train lại, chúng ta sẽ lặp lại từ bước 3, cho đến khi đạt độ chính
xác như kỳ vọng. Tổng thời gian của 3 bước cuối rơi vào khoảng 30% tổng thời gian
thực hiện.
2.3.3. Phân loại Machine learning
Có rất nhiều cách phân loại machine learning, thông thường thì Machine Learning
sẽ được phân làm hai loại chính sau:
- Supervised learning: học có giám sát.
- Unsupervised learning: học không giám sát.
Ngoài ra, machine learning còn có thể phân làm các loại sau:
- Semi-supervised learning: học bán giám sát.
- Deep learning: học sâu (về một vấn đề nào đó).
- Reinforce learning: học củng cố/tăng cường.
1. Supervised learning

Hình 2.4. Minh họa về Supervised learning


Supervised learning là việc cho máy tính học trên dữ liệu đã được gán nhãn
(label), hay nói cách khác, với mỗi đầu vào Xi, chúng ta sẽ có nhãn Yi tương ứng.
2. Unsupervised learning
23

Hình 2.5. Minh họa vể Unsupervised learning


Unsupervised learning là cho máy tính học trên dữ liệu mà không được gán nhãn,
các thuật toán machine
HỌA learning sẽ tìm ra sự tương
VỀ UNSUPERVISED quan dữ liệu, mô hình hóa dữ liệu
LEARNING
hay chính là làm cho máy tính có kiến thức, hiểu về dữ liệu, từ đó chúng có thể phân
loại các dữ liệu về sau thành các nhóm, lớp (clustering) giống nhau mà chúng đã được
học hoặc giảm số chiều dữ liệu (dimension reduction).
2.3.4. Một số khái niệm cơ bản
Dataset (còn gọi là data corpus hay data stock): là tập dữ liệu ở dạng nguyên thủy
chưa qua xử lý mà bạn đã thu thập được ở bước data collection. Một dataset sẽ bao
gồm nhiều data point.

Data point: là điểm dữ liệu, mỗi điểm dữ liệu biểu diễn cho một quan sát. Mỗi
data point sẽ có nhiều đặc trưng hay thuộc tính khác nhau, chúng được chia làm hai
loại: loại dữ liệu số (numerical) và loại dữ liệu không phải số (ví dụ như chuỗi) (non-
numerical/categorical). Data point được biểu diễn thành dòng tương ứng, mỗi dòng
có thể có 1 hoặc nhiều dữ liệu (chính là các đặc trưng).
Training data và test data: dataset thường sẽ được chia làm 2 tập này, training data
dùng để huấn luyện cho mô hình, test data dùng để dự đoán kết quả và đánh giá mô
hình. Có bài toán người ta sẽ cho sẵn hai tập này thì bạn không cần phải chia nữa, đối
với bài toán chỉ cho mỗi dataset thôi thì phải chia ra. Thường tỷ lệ giữa tập train và
test sẽ là 8/2.
Features vector: là vector đặc trưng, mỗi vector này sẽ biểu diễn cho một điểm dữ
liệu trong dataset. Mỗi vector có n chiều biểu diễn các đặc trưng của điểm dữ liệu,
mỗi đặc trưng là một chiều và phải là dữ liệu số. Các mô hình chỉ có thể huấn luyện
24

được từ các vector đặc trưng này, do đó dataset cần phải chuyển về dạng một tập các
vector đặc trưng (features vectors).
Model: là các mô hình được dùng để training trên một training data theo thuật
toán của mô hình đó. Sau đó mô hình có thể dự đoán hoặc đưa ra các quyết định dựa
trên những gì chúng đã được học.
2.3.5. Ứng dụng của Machine learning
Machine learning được ứng dụng cực kỳ nhiều trong đời sống hiện nay trong mọi
lĩnh vực:
- Tài chính - ngân hàng.
- Sinh học, hóa học.
- Nông nghiệp.
- Tìm kiếm, trích xuất thông tin.
- Tự động hóa.
- Robotics.
- Mạng máy tính.
- Khoa học vũ trụ.
- Quảng cáo.
- Xử lý ngôn ngữ tự nhiên.
- Thị giác máy tính.
Và còn rất rất nhiều lĩnh vực mà machine learning có thể được áp dụng, machine
learning tỏ ra cực kỳ hiệu quả, hơn hẳn con người trong cụ thể các lĩnh vực mà chúng
được áp dụng.
Ví dụ đơn giản như dự báo thời tiết, người ta sẽ dùng các phép tính và những quan
sát, ghi nhận về thời tiết trong quá khứ để dự báo về thời tiết của những ngày kế tiếp.
Tuy nhiên sẽ thế nào nếu như có cực kỳ nhiều quan sát được thực hiện, có thể lên đến
hàng triệu, hàng tỉ quan sát, lúc đó con người không thể nào thực hiện được việc tính
toán trên dữ liệu lớn như vậy. Hơn nữa, việc tính toán với dữ liệu lớn như vậy có thể
gặp sai sót và dẫn đến kết quả dự đoán bị sai.
Khi này, việc áp dụng machine learning vào để cho máy tính học các quan sát
được ghi nhận trong quá khứ, chúng có thể dự đoán được thời tiết trong tương lai với
độ chính xác cao hơn rất nhiều so với con người dự đoán.
25

2.4. Deep learning

Hình 2.6. Deep Learning


2.4.1. Khái niệm Deep Learning
Deep Learning là tập hợp con của Machine Learning và nó có tác dụng hỗ trợ cho
máy tính tự huấn luyện chính nó để có thể thực hiện tác vụ tương tự như con người.
Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ. Deep
Learning hoạt động dựa vào mạng lưới thần kinh nhân tạo và nó bao gồm nhiều lớp
chứa các dữ liệu mô phỏng cách thức vận hành của não người.Các hệ thống của Deep
Learning có khả năng cải thiện được những hiệu suất của chúng với quyền truy cập
vào dữ liệu sẽ được nhiều hơn.

Thông thường, phiên bản máy sẽ có nhiều kinh nghiệm hơn; những máy móc đã
có đủ kinh nghiệm thì sẽ được mang đi phục vụ cho những công việc như: phát hiện
chẩn đoán trong y khoa, lái xe, các hệ thống trợ lý ảo,...
Deep Learning có hỗ trợ cho việc dịch ngôn ngữ, phân loại các hình ảnh, nhận
dạng giọng nói. Chính vì thế, nó có thể được ứng dụng để giải quyết mọi nhu cầu cần
nhận dạng mẫu mà không cần đến sự can thiệp của con người.
Bộ phận mạnh thần kinh nhân tạo này giống với não người bao gồm: Các node
(đơn vị thần kinh trong mạng thần kinh nhân tạo) là những neuron thần kinh. Hầu hết
các node bản thân thường chỉ có khả năng trả lời cho những câu hỏi đơn giản và cơ
bản nhất; với những tác vụ khó thì chúng sẽ tiến hành liên kết với nhau để trả lời.
Có thể dạy hoặc có thể huấn luyện chúng bằng những thuật toán cụ thể. Những
node giải đáp các câu hỏi phức tạp thì sẽ được gọi là mạng lưới thần kinh sâu (DNN),
26

nó được định nghĩa như sau: Mạng lưới thần kinh sâu có khả năng thực hiện các hoạt
động phức tạp như biểu diễn, trừu tượng có mang các ý nghĩa về âm thanh, văn bản
và hình ảnh. Chúng được đánh giá là lĩnh vực phát triển nhất trong Machine Learning.
2.4.3. Các ưu điểm nổi bật của Deep Learning
Deep Learning có độ chính xác cao, có thể học sâu rộng và đạt được độ chính xác
ở mức công nhận vô cùng cao. Điều này sẽ đảm bảo cho thiết bị điện tử tiêu dùng có
thể đáp ứng được mọi nhu cầu cũng như mong đợi từ phía người dùng. Deep Learning
rất trọng về độ an toàn đối với những mô hình xe không người lái.
Các dữ liệu của Deep Learning sẽ được dán nhãn bởi: Việc phát triển của xe
không người lái đòi hỏi hàng triệu hình ảnh cũng như hàng ngàn giờ để xem video.
GPU có hiệu suất cao và có kiến thức song song nên rất hiệu quả cho Deep
Learning. Nếu như kết hợp với điện toán đám mây hoặc các cụm thì nó cho phép
nhóm phát triển có thể giảm xuống tối đa thời gian đào tạo đối với mạng lưới học tập
sau vài tuần hoặc vài giờ.
2.4.2. Cách thức hoạt động của Deep Learning
Deep Learning được xem là một phương pháp của học máy theo phương pháp:
lập trình AI sẽ được huấn luyện để dự đoán đầu ra dựa vào một tập đầu vào.Ví dụ cụ
thể: Dự đoán hành đầu của con mèo khi gặp chuột rồi tiến hành huấn luyện nó bằng
phương pháp học có giám sát.
Khi ta muốn dự đoán được hành động của nó vào các đầu vào sẽ được thực hiện
như sau:
- Lựa chọn con mồi phù hợp.
- Lúc này: các bộ phận trên cơ thể của con mèo như mắt, móng vuốt, tai,.. của
con mèo sẽ trở nên rất nhanh nhạy.
- Con chuột sẽ xuất hiện ở đâu.
Về cơ bản thì Deep Learning sẽ không khác với học máy thông thường. Tuy
nhiên, với ví dụ trên thì thời gian cần dành khá nhiều mới có thể thiết kế được các
tính năng đại diện cho con mèo. Những gì cần làm là cung cấp cho hệ thống một số
lượng hình ảnh con mèo, video con mèo bắt chuột thì hệ thống có thể tự học được
những tính năng đại diện dành cho 1 con mèo. Với những tác vụ như thị giác máy
tính, nhận dạng giọng nói, robot hoặc dịch máy thì hiệu suất của Deep Learning có
thể vượt xa những hệ thống máy khác. Tuy nhiên, việc xây dựng được hệ thống Deep
27

Learning lại không mấy dễ dàng so với hệ thống máy móc thông thường.
Cách thức hoạt động của thuật toán Deep Learning diễn ra như sau: Các dòng
thông tin sẽ được trải qua nhiều lớp cho đến lớp sau cùng. Lấy quy trình học của con
người làm ví dụ cụ thể. Qua các lớp đầu tiên sẽ tập trung vào việc học các khái niệm
cụ thể hơn trong khi các lớp sâu hơn sẽ sử dụng thông tin đã học để nghiên cứu và
phân tích sâu hơn trong các khái niệm trừu tượng . Quy trình xây dựng biểu diễn dữ
liệu này được gọi là trích xuất tính năng. Kiến trúc phức tạp của việc học sâu được
cung cấp từ mạng lưới thần kinh sâu với khả năng thực hiện trích xuất tính năng tự
động. Ngược lại, trong học máy thông thường còn gọi là học nông, nhiệm vụ này
được thực hiện khi truy xuất các thuật toán cụ thể.
2.4.4. Ứng dụng của Deep Learning
Ứng dụng trong ngành công nghệ cao: Ứng dụng vượt bậc của Deep Learning
không thể không kể đến đó chính là chế tạo Robot. Hiện nay, các phiên bản Robot
giống con người với khả năng cảm nhận, phản ứng với môi trường đang dần được ra
đời. Hiện nay, Robot còn có thể hợp tác với các hoạt động của con người và chúng
có thể thực hiện được các nhiệm vụ riêng biệt phù hợp với thế mạnh của chúng. Robot
đang góp phần thay thế con người trong việc thực hiện các công việc khó khăn hơn.
Đây chính là phát minh tuyệt vời nhờ ứng dụng Deep Learning.
Ứng dụng trong nông nghiệp: Hiện nay, nhờ có Deep Learning mà người nông
dân có thể triển khai những thiết bị có khả năng phân biệt được cỏ dại với cây trồng.
Từ đó, các loại máy móc phun thuốc diệt cỏ có thể chọn lọc phun lên cỏ dại để đảm
bảo cho cây trồng không bị ảnh hưởng. Ngoài vai trò loại bỏ cỏ dại bằng thuốc diệt
cỏ thì nhờ Deep Learning mà sản lượng nông nghiệp ngày càng được cải thiện. Bên
cạnh đó, Deep Learning đang được mở rộng hơn nữa sang các hoạt động như: thu
hoạch, tưới tiêu, bón phân, gieo trồng.
Ứng dụng trong điện tử: Deep Learning được ứng dụng cho công việc nhận diện
không mặt trong các thiết bị điện tử như điện thoại, các phần mềm như facebook,
messenger,... Thêm vào đó, Deep Learning còn được dùng trong nghe dịch và nói tự
động mà trang web google dịch đang sử dụng. Ngoài ra, một số thiết bị trợ giúp tại
nhà cũng được ứng dụng Deep Learning để đáp ứng giọng nói và hiểu được sở thích
của bản (đây chính là ứng dụng học sâu).
Ứng dụng cho lĩnh vực không gian vũ trụ và quốc phòng: Deep Learning được
28

dùng với các mục đích như: xác định các vật thể như vệ tinh, xác định khu vực trung
tâm, xác định khu vực an toàn và không an toàn trong quân đội. AI kết hợp với phân
tích không gian địa lý có thể hỗ trợ việc trích xuất thông tin hữu ích từ các thiết bị
được liên kết như radar và hệ thống nhận dạng tự trị. Dữ liệu này có thể hỗ trợ việc
phát hiện bất kỳ hoạt động bất hợp pháp hoặc đáng ngờ nào, cũng như cảnh báo cho
các cơ quan chức năng thích hợp. Việc nhận dạng và phân loại mục tiêu cũng có thể
được hỗ trợ bởi rô bốt hỗ trợ AI và thị giác máy tính hỗ trợ IoT.
Ứng dụng trong y tế và chăm sóc sức khỏe: Deep Learning phát huy được hiệu
quả siêu nổi bật của mình bằng cách hiển thị dữ liệu chất lượng cao và đo lường khả
năng của các mạng thần kinh rồi thực hiện phân loại hình ảnh. Đồng thời, các nhà
nghiên cứu về căn bệnh ung thư cũng đang ứng dụng DL để có thể tự động phát hiện
ra các tế bào phát bệnh, nó được thực hiện như sau: chế tạo kính hiển vi tiên tiến để
có thể tạo ra bộ dữ liệu có chiều cao phù hợp, được dùng để đào tạo một ứng dụng
học sâu để có thể xác định tế bào ung thư. Ngoài ra, Deep Learning còn có bước tiến
quan trọng trong việc cải thiện chất lượng sức khỏe của bệnh nhân bằng sự dự đoán
với các sự kiện y tế từ dữ liệu hồ sơ sức khỏe điện tử.
Ứng dụng trong công nghiệp: Deep Learning có khả năng cải thiện sự an toàn
cho các công nhân xung máy móc hạng nặng bằng cách: tự động phát hiện nếu như
người hoặc vật nằm trong khoảng cách không an toàn đối với máy. Sản xuất thông
minh hỗ trợ hệ thống thông tin đã tăng năng suất và chất lượng của các tổ chức
công nghiệp. Sử dụng phân tích dữ liệu, mô hình thống kê và thuật toán dự đoán đã
tăng lên theo các bước nhảy vọt, vì chất lượng và xu hướng của dữ liệu do máy tạo
và con người tạo ra được cải thiện theo thời gian.
2.5. Mạng học sâu và vai trò
2.5.1. Vai trò của học sâu trong phát hiện và dự đoán
Để thực hiện việc phát hiện ra bệnh ung thư thận cũng như các loại bệnh khác,
thông thường các bác sĩ sẽ thực hiện nhiều giai đoạn và những giai đoạn này sẽ tốn
nhiều thời gian để có thể đi đến kết quả cuối cùng.Đối với bệnh ung thư thận, bệnh
nhân cần phải thực hiện khám bệnh theo nhiều giai đoạn từ tổng quan sơ bộ đến việc
chụp ảnh CT để có thể dẫn đến kết quả cuối cùng thông qua việc chuẩn đoán sơ bộ.
Vì vậy, cần phải tìm kiếm giải pháp tối ưu cho sự kết hợp giữa học sâu và hình ảnh y
tế giúp việc phát hiện nhanh chóng và chính xác loại bệnh ung thư này bằng hình ảnh
29

chụp CT thận. Trong nghiên cứu này, phương pháp được đề xuất có thể trực tiếp giúp
các bác sĩ chụp ảnh CT phát hiện nhanh ung thư thận lần lượt cải thiện thời gian phát
hiện tổng thể và tỷ lệ chính xác trong hình ản. Học sâu (DL) là một tập hợp con của
học máy (ML) cho phép máy tính đào tạo tự động hoặc học các tính năng từ tập dữ
liệu thô.
Khối ung thận là một trong những dấu hiệu chính của bệnh ung thư thận. Có thể
thấy điều này khi kiểm tra ảnh chụp CT về thận và có thể tạo ra một bước đột phá
trong quá trình chuẩn đoán ung thư. Do đó, tôi đã xem xét ứng dụng của lớp học sâu
và đề xuất một thuật toán cho phép theo dõi các tính năng từ các hình ảnh chụp CT
cắt lớp khác nhau để phát hiện sự hiện diện của khối u. Thuật toán được đề xuất đảm
bảo việc sử dụng học chuyển sâu về hình ảnh chụp CT về thận và đánh giá báo cáo
về bệnh nhân nghi ngờ mắc bệnh ung thận.
Hiện nay, kỹ thuật học sâu đã và đang được ứng dụng hầu hết trong mọi lĩnh vực
với những ưu điểm nổi bật như mang lại độ chính xác cao, có thể được áp dụng với
các loại bộ dữ liệu khác nhau Trong nghiên cứu này, tôi đã sử dụng học sâu để trích
xuất các tính năng từ hình ảnh CT đã chụp và đào tạo chúng để phân biệt chúng với
ung thư do khối u thận và các trường hợp bình thường thông qua áp dụng các mạng
nơ-ron sâu như Res-Unet, Unet, Resnet.
2.5.2. Mạng nơ-ron tích chập CNN
Convolutional Neural Network (CNN - Mạng nơ-ron tích chập) là một trong
những mô hình Deep Learning tiên tiến. Nó giúp cho chúng ta xây dựng được những
hệ thống thông minh với độ chính xác cao như hiện nay [1]. CNN được sử dụng nhiều
trong các bài toán nhận dạng các object trong ảnh.
Convolutional là một cửa sổ trượt (Sliding Windows) trên một ma trận:
30

Hình 2.7. Ví dụ về cửa sổ trượt


Các convolutional layer có các parameter(kernel) đã được học để tự điều chỉnh
lấy ra những thông tin chính xác nhất mà không cần chọn các feature.Trong hình ảnh
ví dụ trên, ma trận bên trái là một hình ảnh trắng đen được số hóa. Ma trận có kích
thước 5×5 và mỗi điểm ảnh có giá trị 1 hoặc 0 là giao điểm của dòng và cột.
Convolution hay tích chập là nhân từng phần tử trong ma trận 3. Sliding Window
hay còn gọi là kernel, filter hoặc feature detect là một ma trận có kích thước nhỏ như
trong ví dụ trên là 3×3. Convolution hay tích chập là nhân từng phần tử bên trong ma
trận 3×3 với ma trận bên trái. 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 5×5 bên trái.
Cấu trúc của mạng CNN:
Mạng CNN là một tập hợp các lớp Convolution chồng lên nhau và sử dụng các
hàm nonlinear 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ượng
hơn cho các lớp tiếp theo.
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ượng hơn cho các lớp tiếp theo. Trong mô hình mạng truyền ngược (feedforward
neural network) thì mỗi neural đầu vào (input node) cho mỗi neural đầu ra trong các
lớp tiếp theo. Mô hình này gọi là mạng kết nối đầy đủ (fully connected layer) hay
mạng toàn vẹn (affine layer). Còn trong mô hình CNNs thì ngược lại. Các layer liên
kết được với nhau thông qua cơ chế convolution.
31

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 đó. Mỗi một lớp được sử dụng các
filter khác nhau thông thường có hàng trăm hàng nghìn filter như vậy và kết hợp kết
quả của chúng lại. Ngoài ra có một số layer khác như pooling/subsampling layer dùng
để chắt lọc lại các thông tin hữu ích hơn (loại bỏ các thông tin nhiễu).
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. Ví dụ trong tác vụ phân lớp ảnh, CNNs
sẽ cố gắng tìm ra thông số tối ưu cho các filter tương ứng theo thứ tự raw pixel, edges,
shapes, facial, high-level features. Layer cuối cùng được dùng để phân lớp ảnh.

Hình 2.8. Ví dụ về mô hình CNN


Trong mô hình CNN có 2 khía cạnh cần quan tâm là tính bất biến (Location
Invariance) và tính kết hợp (Compositionality). Với cùng một đối tượng, nếu đối
tượ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ể.
Pooling layer sẽ cho tính bất biến đối với phép dịch chuyển (translation), phép
quay (rotation) và phép co giãn (scaling). 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ượng hơn thông qua
convolution từ các filter. Đó là lý do tại sao CNN cho ra mô hình với độ chính xác
rất cao. Cũng giống như cách con người nhận biết các vật thể trong tự nhiên.
Mạng CNN sử dụng 3 ý tưởng cơ bản:
- Các trường tiếp nhận cục bộ (local receptive field).
- Trọng số chia sẻ (shared weights).
- Tổng hợp (pooling).
32

1. Trường tiếp nhận cục bộ (local receptive field)


Đầu vào của mạng CNN là một ảnh. Ví dụ như ảnh có kích thước 28×28 tương
ứng đầu vào là một ma trận có 28×28 và giá trị mỗi điểm ảnh là một ô trong ma trận.
Trong mô hình mạng ANN truyền thống, chúng ta sẽ kết nối các neuron đầu vào vào
tầng ảnh. Tuy nhiên trong CNN không làm như vậy mà chúng ta chỉ kết nối trong
một vùng nhỏ của các neuron đầu vào như một filter có kích thước 5×5 tương ứng
(28- 5 + 1) 24 điểm ảnh đầu vào. Mỗi một kết nối sẽ học một trọng số và mỗi neuron
ẩn sẽ học một bias. Mỗi một vùng 5×5 đấy gọi là một trường tiếp nhận cục bộ. Một
cách tổng quan, ta có thể tóm tắt các bước tạo ra 1 hidden layer bằng các cách sau:
- Tạo ra neuron ẩn đầu tiên trong lớp ẩn 1:

Hình 2.9. Tạo ra Neuron ẩn đầu tiên


- Dịch filter qua bên phải một cột sẽ tạo được neuron ẩn thứ 2:

Hình 2.10. Dịch filter qua phải


Với bài toán nhận dạng ảnh người ta thường gọi ma trận lớp đầu vào là feature
map, trọng số xác định các đặc trưng là shared weight và độ lệch xác định một feature
map là shared bias. Như vậy qua các bước trên chúng ta chỉ có 1 feature map. Tuy
nhiên trong nhận dạng ảnh chúng ta cần nhiều hơn một feature map.
33

28x28 input neurons first hidden layer: 3x24x24 neurons

Hình 2.11. Các hidden layer


Như vậy, local receptive field thích hợp cho việc phân tách dữ liệu ảnh, giúp
chọn ra những vùng ảnh có giá trị nhất cho việc đánh giá phân lớp.
2. Trọng số chia sẻ (shared weight and bias)
Đầu tiên, các trọng số cho mỗi filter (kernel) phải giống nhau. Tất cả các nơ-ron
trong lớp ẩn đầu sẽ phát hiện chính xác feature tương tự chỉ ở các vị trí khác nhau
trong hình ảnh đầu vào. Chúng ta gọi việc map từ input layer sang hidden layer là
một feature map. Tóm lại, một convolutional layer bao gồm các feature map khác
nhau. Mỗi một feature map giúp detect một vài feature trong bức ảnh. Lợi ích lớ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.
Chúng ta thấy mỗi fearture map cần 25 = 5×5 shared weight và 1 shared bias.
Như vậy mỗi feature map cần 5×5+1 = 26 tham số. Như vậy nếu có 10 feature map
thì có 10×26 = 260 tham số. Chúng ta xét lại nếu layer đầu tiên có kết nối đầy đủ
nghĩa là chúng ta có 28×28 = 784 neuron đầu vào như vậy ta chỉ có 30 neuron ẩn.
Như vậy ta cần 28x28x30 shared weight và 30 shared bias. Tổng số tham số là
28x28x30+30 tham số lớn hơn nhiều so với CNN. Ví dụ vừa rồi chỉ mô tả để thấy
được sự ước lượng số lượng tham số chứ chúng ta không so sánh được trực tiếp vì 2
mô hình khác nhau. Nhưng điều chắc chắn là nếu mô hình có số lượng tham số ít hơn
thì nó sẽ chạy nhanh hơn.
Lớp kích hoạt phi tuyến được xây dựng với ý nghĩa đảm bảo tính phi tuyến của
mô hình huấn luyện sau khi đã thực hiện một loạt các phép tính toán tuyến tính qua
các lớp Tích chập. Lớp tính hoạt phi tuyến nói chung sử dụng các hàm kích hoạt phi
tuyến như ReLU, Sigmoid,… để giới hạn phạm vi biên độ cho phép của giá trị đầu
ra. Thông thường, lớp ReLU được áp dụng ngay sau lớp Tích chập, với đầu ra là một
34

ảnh mới có kích thước giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn
tương tự trừ các giá trị âm đã bị loại bỏ
3. Lớp tổng hợp (pooling layer)
Lớp pooling thường được sử dụng ngay sau lớp convulational để đơn giản hóa
thông tin đầu ra để giảm bớt số lượng neuron. Thủ tục pooling phổ biến là max-
pooling, thủ tục này chọn giá trị lớn nhất trong vùng đầu vào 2×2.

hidden neurons (output from feture map)


max-pooling units

Hình 2.12. Max-pooling


Như vậy qua lớp Max Pooling thì số lượng neuron giảm đi phân nửa. Trong một
mạng CNN có nhiều Feature Map nên mỗi Feature Map chúng ta sẽ cho mỗi Max
Pooling khác nhau. Chúng ta có thể thấy rằng Max Pooling là cách hỏi xem trong các
đặc trưng này thì đặc trưng nào là đặc trưng nhất. Ngoài Max Pooling còn có L2
Pooling. Cuối cùng ta đặt tất cả các lớp lại với nhau thành một CNN với đầu ra gồm
các neuron với số lượng tùy bài toán. 2 lớp cuối cùng của các kết nối trong mạng là
một lớp đầy đủ kết nối (fully connected layer). Lớp này nối mọi nơron từ lớp max
pooled tới mọi nơron của tầng ra.

28x28 3x24x24

Hình 2.13. Convolutional Neural Network


35

Cách chọn tham số cho CNN:


- Số các convolution layer: càng nhiều các convolution layer thì performance
càng được cải thiện. Sau khoảng 3 hoặc 4 layer, các tác động được giảm một cách
đáng kể.
- Filter size: thường filter theo size 5×5 hoặc 3×3.
- Pooling size: thường là 2×2 hoặc 4×4 cho ảnh đầu vào lớn.
- Cách cuối cùng thực hiện nhiều lần việc train test để chọn ra param tốt nhất.
4. Lớp kết nối đầy đủ (fully connected)

Hình 2.14. Fully Connected

Tầng kết nối đầy đủ (FC) [2] nhận đầu vào là các dữ liệu đã được làm phẳng, mà
mỗi đầu vào đó được kết nối đến tất cả neuron. Trong mô hình mạng CNNs, các tầng
kết nối đầy đủ thường được tìm thấy ở cuối mạng và được dùng để tối ưu hóa mục
tiêu của mạng ví dụ như độ chính xác của lớp. Tại lớp cuối cùng, sử dụng hàm phân
lớp phổ biến như SVM, Softmax, Sigmoid để tiến hành phân loại đối tượng dựa vào
vector đặc trưng đã được tính toán ở các lớp trước đó
2.5.3. Transfer Learning
Transfer Learning [3] cũng chính là cách để các model truyền đạt cho nhau khả
năng mà mỗi model có thể làm được. Một model có thể học trên source tasks nào đó
và rồi pretrained model này được sử dụng cho model khác để model mới đó học trên
target tasks nhanh hơn.
Transfer Learning mang đến những model mới với độ chính xác cao trong thời
gian ngắn, hầu hết các model dùng transfer learning được sử dụng trong các nghiên
cứu về Computer Vision (CV), chú trọng vào việc trích xuất các features từ ảnh hoặc
video một cách hiệu quả như một cách thay thế cho các phương pháp cũ.
36

Source Target
model Random source Train
Output layer initialzation Output layer
from
Copy
Layer L-1 Layer L-1
Pretraine
Copy Fine
d
tuner
Layer1
Copy
Layer1

Source Dataset Source Dataset

Hình 2.15. Transfer Learning

Cụ thể, Transfer Learning trong Deep Learning là một kỹ thuật mà trong đó:
- Một pretrained model đã được train trên source tasks cụ thể nào đó, khi đó một
phần hay toàn bộ pretrained model có thể được tái sử dụng phụ thuộc vào nhiệm vụ
của mỗi layer trong model đó.
- Một model mới sử dụng một phần hay toàn bộ pretrained model để học một
target tasks và tùy vào nhiệm vụ của mỗi layer mà model mới có thể thêm các layer
khác dựa trên pretrained model sẵn có.
Việc sử dụng pretrained model là một bước tiến lớn để những người đi sau tiếp
bước những thành quả của các bậc tiền bối, tận dụng những pretrained model sẵn có
để tạo ra những model mới phục vụ cho các target tasks cụ thể hơn, thực tiễn hơn.

Hình 2.16. So sánh độ chính xác và thời gian huấn luyện khi áp dụng
và không áp dụng transfer learning
37

Việc huấn luyện mô hình mạng mang đến độ chính xác cao một phần đến từ kiến
trúc lý tưởng từ các tầng được xây dựng trên mô hình mạng và phần còn lại đến từ
tập dữ liệu huấn luyện. Không phải lúc nào chúng ta cũng có được tập dữ liệu đủ tốt
và đủ lớn để huấn luyện mô hình mạng. Khi đó Transfer Learning sẽ giúp sử dụng lại

Hình 2.17. Thông số cấu hình mạng VGG-16


những kiến trúc những tri thức từ mô hình mạng đã được huấn luyện trước đó trên
những tập dữ liệu lớn giúp tiết kiệm thời gian cũng như khắc phục được hạn chế trên
tập dữ liệu.
2.5.4. Kiến trúc mạng ResNet và các chỉ số đánh giá
ResNet (viết tắt của residual network) [4], là mạng học sâu nhận được quan tâm
từ những năm 2012 và trở nên phổ biến trong lĩnh vực thị giác máy tính. ResNet khiến
cho việc huấn luyện hàng trăm thậm chí hàng nghìn lớp của mạng nơ-ron trở nên khả
thi và hiệu quả. Ý tưởng chính của ResNet là sử dụng kết nối tắt đồng nhất để xuyên
qua một hay nhiều lớp. Một khối như vậy được gọi là một residual block.
38

Hình 2.18. Cộng trực tiếp đầu vào của khối với nhánh còn lại
trong khối Identity block
Việc xếp chồng các lớp sẽ không làm giảm hiệu suất mạng. Chúng ta có thể đơn
giản xếp chồng các ánh xạ đồng nhất lên mạng hiện tại và hiệu quả của kiến trúc
không thay đổi. Điều này giúp cho kiến trúc sâu ít nhất là không kém hơn các kiến
trúc nông. Hơn nữa, với kiến trúc này, các lớp ở phía trên có được thông tin trực tiếp
hơn từ các lớp dưới nên sẽ điều chỉnh trọng số hiệu quả hơn.

Hình 2.19. Kiến trúc Resnet bao gồm 2 khối đặc trưng là khối tích chập
(Conv block) và khối xác định (Identity block)

ResNet có khối tích chập (Convolutional Bock, chính là Conv block trong hình)
sử dụng bộ lọc kích thước 3x3 giống với của InceptionNet. Khối tích chập bao gồm
2 nhánh tích chập trong đó một nhánh áp dụng tích chập 1x1 trước khi cộng trực tiếp
vào nhánh còn lại. Khối xác định (Identity block) thì không áp dụng tích chập 1x1
mà cộng trực tiêp giá trị của nhánh đó vào nhánh còn lại.
39

Hình 2.20. Kiến trúc tổng quan của Resnet


Phương pháp phản trực giác là thả ngẫu nhiên các lớp trong quá trình đào tạo và
sử dụng mạng đầy đủ trong thử nghiệm. Sử dụng khối còn lại làm khối xây dựng
mạng của họ, do đó, trong quá trình đào tạo, khi một khối còn lại cụ thể được kích
hoạt, đầu vào của nó chảy qua cả phím tắt nhận dạng và các lớp trọng lượng, nếu
không đầu vào chỉ chảy qua phím tắt nhận dạng. Trong thời gian đào tạo, mỗi lớp có
một "xác suất sống sót" và được thả ngẫu nhiên. Trong thời gian thử nghiệm, tất cả
các khối được duy trì hoạt động và hiệu chỉnh lại theo xác suất sống sót của nó trong
quá trình đào tạo.
Để H-l là đầu ra của l-th khối dư, f-l là bản đồ được xác định bởi ánh xạ số của
trọng khối l-th, b-l là một biến ngẫu nhiên Bernoulli chỉ là 1 hoặc 0 (Cho biết liệu
một khối có hoạt động không), Trong quá trình huấn luyện:
𝐻𝑙 = 𝑅𝑒𝐿𝑈(𝑏𝑙 ∗ 𝑓𝑙 (𝐻𝑙−1 ) + 𝑖𝑑 (𝐻𝑙−1 )) (6)
Khi b-l=1, khối này trở thành một khối dư bình thường, và khi b-l=0, công thức
(6) trở thành:
𝐻𝑙 = 𝑅𝑒𝐿𝑈(𝑖𝑑 (𝐻𝑙−1 )) (7)

Vì chúng ta biết rằng H(l-1) là đầu ra của một relu, vốn đã không âm, phương
trình trên giảm xuống lớp danh tính chỉ chuyển đầu vào qua lớp tiếp theo:
𝐻𝑙 = 𝑖𝑑 (𝐻𝑙−1 ))
Đặt p-l là xác suất sống sót của lớp L trong quá trình đào tạo, trong thời gian thử
nghiệm:
𝐻𝑙 = 𝑅𝑒𝐿𝑈(𝑝𝑙 ∗ 𝑓𝑙 (𝐻𝑙−1 ) + 𝑖𝑑 (𝐻𝑙−1 )) (8)
40

Áp dụng quy tắc phân rã tuyến tính cho xác suất sinh tồn của từng lớp, họ lập
luận rằng vì các lớp trước đó trích xuất các tính năng cấp thấp sẽ được sử dụng bởi
các lớp sau này, nên không nên bỏ quá thường xuyên, do đó, quy tắc kết quả trở
thành: Do đó, quy tắc kết quả trở thành: do đó trở thành:
𝑙
𝑝𝑙 = 1 − (1 − 𝑝𝐿 ) (9)
𝐿
Trong đó L biểu thị tổng số khối, do đó p_L là xác suất sống sót của khối dư cuối
cùng và được cố định đến 0,5 trong suốt các thử nghiệm. Cũng lưu ý rằng trong cài
đặt này, đầu vào được coi là lớp đầu tiên (L = 0) và do đó không bao giờ giảm.
2.5.5. Kiến trúc mạng Unet và các chỉ số đánh giá:

Hình 2.21. Kiến trúc mạng Unet

Kiến trúc mạng có hình chữ U [5] gồm 2 phần thu hẹp và mở rộng tương ứng với
nhánh bên trái và nhánh bên phải. Để không làm mất mát thông tin trong quá trình
tích chập và giải chập thì các kết nối tắt được sử dụng để liên kết 2 khối cùng cấp ở
mỗi nhánh. U-Net được phát triển bởi Olaf Ronneberger et al. để dùng cho image
segmentation trong y học. Kiến trúc có 2 phần đối xứng nhau được gọi là encoder
(phần bên trái) và decoder (phần bên phải). Thực ra phần encoder chỉ là ConvNet
bình thường (conv, max pool) với quy tắc quen thuộc từ bài VGG, các layer sau thì
width, height giảm nhưng depth tăng.
41

Phần decoder có mục đích là khôi phục lại kích thước của ảnh gốc, ta thấy có up-
conv. Conv với stride > 1 thì để giảm kích thước của ảnh giống như max pool, thì up-
conv dùng để tăng kích thước của ảnh. Các đường màu xám, nó nối layer trước với
layer hiện tại được dùng rất phổ biến trong các CNN ngày nay như DenseNet để tránh
vanishing gradient cũng như mang được các thông tin cần thiết từ layer trước tới layer
sau. Sử dụng các feature map tương tự được sử dụng khi tạo vector để mở rộng vector
thành hình ảnh được phân vùng. Điều này sẽ bảo vệ tính toàn vẹn cấu trúc của hình
ảnh, làm giảm sự biến dạng rất nhiều.
2.6. Công cụ xây dựng
2.6.1. Sử dụng Google Colab kết hợp với các thư viện máy học để xây dựng và
huấn luyện các mô hình Deep Learning
Bảng 2.3. Cấu hình phần cứng do Google Colab cung cấp
CPU GPU TPU
Intel Xeon Processor with Up to Tesla K80 with 12 Cloud TPU with 180
two cores @ 2.30 GHz GB of GDDR5 VRAM, teraflops of computation,
and 13 GB RAM Intel Xeon Processor with Intel Xeon Processor with
two cores @ 2.20 GHz two cores @ 2.30 GHz
and 13 GB RAM and 13 GB RAM
Với AI, DeepLearning, Google không chỉ có những sản phẩm dự án đã và đang
phát triển. Google còn có công cụ giúp cho các developer phát triển, train model, một
cách dễ dàng nhất, đó chính là Google Colab [6]. Colaboratory hay còn gọi là Google
Colab, là một sản phẩm từ Google Research, nó cho phép chạy các dòng code python
thông qua trình duyệt, đặc biệt phù hợp với Data analysis, Machine Learning và giáo
dục. Colab không cần yêu cầu cài đặt hay cấu hình máy tính, chúng ta có thể sử dụng
tài nguyên máy tính từ CPU tốc độ cao và cả GPUs và cả TPUs đều được cung cấp.
Google Colaboratory (gọi tắt là Google Colab hay Colab) là một sản phẩm của
Google Research. Colab dựa trên Jupyter Notebook, người dùng có thể viết và thực
thi đoạn mã python thông qua trình duyệt và đặc biệt rất phù hợp với data analysis,
machine learning và giáo dục. Google đã phát hành Google Colab cho công chúng
với mục đích cải thiện giáo dục và nghiên cứu Machine Learning. Ưu điểm của
Google Colab là mọi người không cần cài đặt môi trường Python như dưới máy tính
(như cài trực tiếp môi trường Python hay cài Anaconda). Một số thư viện thông dụng
42

để phân tích trực quan hoá dữ liệu, máy học,… cũng đã được cài sẵn như numpy,
pandas, matplotlib, seaborn, tensorflow, keras, scikit-learn,... Một số tính năng của
Google Colab:
- Có thể viết và thực thi dòng lệnh ngôn ngữ Python.
- Từ notebook có thể import/save một file dữ liệu đến Google Drive.
- Có nhiều thư viện được cài đặt sẵn.
- Được sử dụng một cách miễn phí.
Colab cung cấp nhiều loại GPU, thường là Nvidia K80s, T4s, P4s and P100s, tuy
nhiên người dùng không thể chọn loại GPU trong Colab, GPU trong Colab thay đổi
theo thời gian. Vì là dịch vụ miễn phí, nên Colab sẽ có những thứ tự ưu tiên trong
việc sử dụng tài nguyên hệ thống, cũng như giới hạn thời gian sử dụng, thời gian sử
dụng tối đa lên tới 12 giờ. Sự phát triển mạnh mẽ của Ml và Dl trong những năm gần
đây không chỉ bởi các thuật toán, các mô hình tân tiến liên tiếp ra đời mà còn bởi sự
phát triển không ngừng của phần cứng, đặc biệt là GPU. Việc tính toán về toán học
cho Deep Learning trên CPU có thể mất hàng tháng! Nhưng những tính toán này có
thể được gán cho GPU để thực hiện nhanh hơn. Việc train Neural Network trên CPU
không được khuyến nghị. GPU cần thiết cho việc tính toán ở mức độ cao.
Như chúng ta đã biết Google Colab là nền tảng hỗ trợ xử lý dữ liệu, code liên
quan đến AI – Deep Learning hoàn toàn miễn phí trên máy tính. Tiếp theo, Google
Colab Pro cũng là một nền tảng tương tự nhưng chúng lại phải trả phí để sử dụng.
Mức phí để duy trì Google Colab Pro là 9.99$/1 tháng (khoảng 220.000vnđ/1 tháng).
Khi trả phí để sử dụng dịch vụ thì sẽ có hệ thống tốt hơn, thời gian làm việc lâu hơn.
- Được sử dụng GPU Tesla T1 hoặc Tesla P100.
- Dung lượng RAM tối đa lên đến 32GB.
- Thời gian làm việc 24h (gấp đôi so với bản miễn phí).
Nhìn chung, nền tảng Google Colab phù hợp với những ai mới bắt đầu bước chân
vào thị trường AI – Deep Learning và chưa đủ kinh phí để đầu tư máy móc cho công
việc. Giải pháp sử dụng Google Colab sẽ phù hợp cho những người chưa có nhiều
kinh phí để đầu tư hệ thống máy tính khủng, xét về lâu dài thì Google Colab không
có nhiều lợi thế so với việc sử dụng một hệ thống máy tính chuyên dụng cho
DeepLearning. Tuy nhiên, Google Colab sẽ giúp chúng ta làm việc mọi lúc, mọi nơi
và chỉ cần có kết nối Internet là có thể sử dụng. Chúng cũng là giải pháp tốt cho những
43

công việc khẩn cấp mà không có máy để phân tích Deep Learning.
2.6.2. Sử dụng Tensorflow để xây dựng mô hình Deep Learning
Tensorflow được tạo ra bởi đội ngũ của Google – Google Brain được tạo ra với
mục đích nghiên cứu và áp dụng trong sản xuất một cách hiệu quả nhất. Tensorflow
đã đươc cấp phép hoạt động vào ngày 9/11/2015. Tensorflow là một thư viện phần
mềm mã nguồn mở hỗ trợ mạnh mẽ các phép toán học để tính toán trong Machine
Learning và Deep Learning [7]. Tensorflow là một thư viện mã nguồn mở cung cấp
khả năng xử lí tính toán số học dựa trên biểu đồ mô tả sự thay đổi của dữ liệu, trong
đó các node là các phép tính toán học còn các cạnh biểu thị luồng dữ liệu. Trong
tesorflow có một vài khái niệm cơ bản sau:
- Tensor: Là cấu trúc dữ liệu trong tensorflow đại diện cho tất cả các loại dữ liệu.
Nói cách khác, tất cả các kiểu dữ liệu khi đưa vào trong tensorflow thì đều được gọi
là Tensor. Vậy nên có thể hiểu được Tensorflow là một thư viện mô tả, điều chỉnh
dòng chảy của các Tensor. Tensor có 3 thuộc tính cơ bản là rank, shape và type.
- Rank: Là số bậc của tensor Ví dụ Tensor = [1] thì có rank = 1, Tensor =
[[3,4],[5,6]] thì sẽ có rank = 2. Việc phân rank này khá quan trọng vì nó đồng thời
cũng giúp phân loại dữ liệu của Tensor.
- Shape: Là chiều của tensor. Ví dụ Tensor = [[[1,1,1],[178,62,74]]] sẽ có Shape
= (1,2,3), Tensor = [[1,1,1],[178,62,74]] sẽ có Shape = (2,3).
- Type: kiểu dữ liệu của các elements trong Tensor. Vì một Tensor chỉ có duy
nhất một thuộc tính Type nên từ đó cũng suy ra là chỉ có duy nhất một kiểu Type duy
nhất cho toàn bộ các elements có trong Tensor hiện tại.
TensorFlow được sử dụng trong nhiều service của Google như:
- Phân loại email của Gmail.
- Nhận biết phát âm và dịch tự động.
- Nhận biết khuôn mặt trong Google Photo.
- Tối ưu hoá kết quả tìm kiếm.
- Quảng cáo trong Youtube.
Tensorflow được sử dụng như một phương tiện trung gian để tính toán các số
lượng trong sản xuất và đồng thời là một công cụ không thể thiếu được trong Machine
Learning phục vụ cho việc học và nghiên cứu một cách dễ dàng hơn. Hay một cách
hiều khác nữa của Tensorflow khi được phân tách ra bao gồm các khái niệm có liên
44

quan như sau: Tensor được hiếu là các loại cấu trúc dữ liệu được tập hợp lại trong
một thư viện đó chính là Tensorflow. Trong đó các cấu trúc dữ liệu được mô tả và
điều chinh một cách phù hợp nhất trong thư viện dữ liệu này. Các cấu trúc dữ liệu
này lại bao gồm 3 thuộc tính cơ bản lần lượt là: bậc, chiều và loại dữ liệu.
Để có thể tạo ra một chương trình Tensorflow đơn giản cần phân chia thành 2
phần chính đó là: Construction Phase, được hiểu là một mô hình tính toán và phần
thứ 2 đó là Excution Phare, được hiểu là chạy mô hình vừa được xây dựng xong.
Trong đó các bước thực hiện một chương trình Tensorflow bao gồm các bước thực
hiện như sau:
- Bước 1: Xuất Tensorflow bång thuật toán -> Import Tensorflow as tf. Thực tể
cho thấy Tensorflow sử dụng một ngôn ngữ lập trình Python để phục vụ cho việc lập
trình nhưng không có sãn trong đó vì vậy khi sử dụng ngôn ngữ lập trình cần phải
xuất Tensorflow.
- Bước 2: Thực hiện xây dựng phương trình toán học để tính hàm F. Phương
trình bao gòm các thông tin như sau: X và y được gọi là các nút mạng hay biến số, 2
là hằng số không thay đổi. Dựa vào các quy định về việc xây dựng một phương trình
trên có thể thực hiện 3 phương trình toán học bảng các cách khác nhau.
- Bước 3: Chạy mô hình vừa xây dựng bằng cách phải tạo thêm được một một
hàm tính toán nữa để có thể lập giá trị cho các biến số X và Y để tìm ra đáp án cho
hàm F. Tiếp theo, việc cần làm chính là sử dụng hàm Global variable Initializer để có
thể khởi tạo cho các biến trong thuật toán đó. Như vậy từ 3 bước thực hiện trong việc
áp dụng xây dựng một chương trình tính toán đơn giản như trên có thể thấy được tác
dụng của thư viện mã nguồn mở Tensorflow trong việc tính toán và đối với cả việc
nghiên cứu là vô cùng tiện dụng.
Thư viện mã nguồn mở - Tensorflow giúp cho các lập trình viên có thế lập ra các
phương trình toán học mà trong đó các dữ liệu có thể được di chuyển và được biều
hiện thông qua một biểu đồ hoặc đó chính là một chuối các nút mạng đang trong quá
trình cần xử lý. Trong đó các nút mang được hiểu thị trong biều đồ được hiều là một
phép tính trong toán học. Và ranh giới giữa các nút mạng được gọi là một mảng dữ
liệu đa chiều hay còn được gọi là một Tensor. Ngôn ngữ lập trình Python chính là
phương tiện để có thể kết nối Mã nguồn mở Tensorflow với lập trình viên.
2.6.3. Sử dụng Keras API để triển khai và đào tạo mô hình Deep Learning
45

Keras là một open source cho Neural Network được viết bởi ngôn ngữ Python.
Nó là một library được phát triển vào năm 2005 bởi Francois Chollet, là một kỹ sư
nghiên cứu Deep Learning. Keras có thể sử dụng chung với các thư viện nổi tiếng
như Tensorflow, CNTK, Theano. Một số ưu điểm của Keras như:
- Dễ sử dụng, dùng đơn giản hơn Tensor, xây dựng model nhanh.
- Sửa dụng được trên cả CPU và GPU.
- Hỗ trợ xây dựng CNN , RNN hoặc cả hai. Với những người mới tiếp cận đến
Deep Learning nên chọn sử dụng Keras để xây dựng vì nó đơn giản, dễ nắm bắt hơn
các thư viện khác.
TensorFlow đã áp dụng Keras làm API cấp cao chính thức của mình. Keras được
nhúng trong TensorFlow và có thể được sử dụng để thực hiện học sâu nhanh chóng
vì nó cung cấp các mô-đun sẵn có cho tất cả các tính toán mạng thần kinh. Đồng thời,
tính toán liên quan đến tensors, đồ thị tính toán, phiên, vv có thể được tùy chỉnh thực
hiện bằng cách sử dụng Tensorflow Core API, cung cấp cho bạn sự linh hoạt và kiểm
soát hoàn toàn đối với ứng dụng của bạn và cho phép bạn thực hiện ý tưởng của mình
trong một thời gian tương đối ngắn.
46

CHƯƠNG 3: PHƯƠNG PHÁP ĐỀ XUẤT


3.1. Mô hình đề xuất
Dựa trên các kiến trúc mạng Resnet, Unet nội dung nghiên cứu xây dựng một hệ
thống phát hiện tổn thương thận do khối u phục vụ cho việc chẩn đoán nhanh chóng
và chính xác. Điều này giúp giảm áp lực từ bác sĩ, phát hiện sớm mầm bệnh ngay từ
giai đoạn ban đầu, từ đó giúp người bệnh điều trị kịp thời. Mô hình hệ thống đề xuất
được trình bày sau đây.
3.1.1. Kiến trúc đề xuất phát hiện khoanh vùng tổn thương thận do ung thư
thận gây ra

Lật
ảnh,
xoay
ảnh,
cắt ảnh

Lật
ảnh,
xoay
ảnh,
cắt ảnh

Hình 3. 1. mô hình đề xuất phát hiện ung thư thận dựa trên ảnh chụp CT
47

3.1.2. Mô hình Unet phát hiện và phân vùng khối u dựa trên dấu hiệu tổn
thương thận

Hình 3.2. Mô hình Unet đề xuất


3.1.3. Mô hình Resnet phát hiện khối u dựa trên dấu hiệu tổn thương thận

Hình 3.3. Mô hình resnet đề xuất

3.2. Pha tiền xử lý và tăng cường dữ liệu


3.2.2. Tăng cường dữ liệu áp dụng phương pháp Flip images

Flip
images

Kết quả

Hình 3.4. Tăng cường ảnh bằng phương pháp Flip image
48

3.2.3. Tăng cường dữ liệu áp dụng phương pháp rotation images

theo chiều ngược chiều


kim đồng hồ kim đồng hồ

Xoay trái 45 độ Xoay phải 45 độ

Hình 3.5. Tăng cường ảnh bằng phương pháp rotation

3.2.4. Tăng cường dữ liệu áp dụng phương pháp crop images

Crop

Kết quả

Hình 3.6. Tăng cường ảnh bằng phương pháp crop


3.2.5. Tăng cường dữ liệu áp dụng phương pháp resize images
Đối với phương pháp resize images, em áp dụng kích thước 640x640 để tiến hành
quá trình resize images.

Resize

Kết quả

Hình 3.7. Tăng cường ảnh bằng phương pháp resize images
49

3.3. Pha huấn luyện mô hình


Sau khi có được tập dữ liệu huấn luyện từ pha tiền xử lý dữ liệu sẽ được đưa vào mô
hình mạng thực hiện huấn luyện trên môi trường Google Colab với gói thư viện hỗ
trợ huấn luyện.

…………

Hình 3.8. Thông số huấn luyện được cải thiện sau mỗi epoch
Bước 1: Chuẩn bị dữ liệu huấn luyện:
- tăng cường ảnh bằng các phương pháp flip, rotation, crop, resize.
- Cắt xén dữ liệu.
- Tiền xử lý tổn thương.
Bước 2: Huấn luyện mô hình: Dữ liệu được đưa vào tính toán xử lý, qua mỗi bước
huấn luyện (epoch) thông số huấn luyện được hiển thị như độ Loss, Accuracy.
3.4. Pha phân loại
Sau khi đã hoàn tất quá trình huấn luyện, pha tiếp theo sẽ thực hiện đưa mô hình
mạng đã huấn luyện vào phân loại, phân vùng tổn thương bằng dữ liệu vừa được xử
lý.
50

CHƯƠNG 4: KẾT QUẢ


Nội dung này sẽ trình bày kết quả từ thực nghiệm đã thực hiện trong đề tài trên
môi trường Google Colab.
4.1. Môi trường thực nghiệm
Trong quá trình thực hiện đề tài, em thực hiện thực nghiệm trên hai kịch bản:
- Kịch bản 1: Xử lý mạng Unet trong môi trường máy tính đơn trên nền tảng
cung cấp sẳn có của Google Colab với CPU Intel Xeon Processor with two cores 2.30
GHz đi kèm với 25GB ram cho phép huấn luyện với batch size lớn hơn, ngoài ra
việc cung cấp ngẫu nhiên các GPU có hiệu suất cao như GPU Nvidia Tesla K80, T4s,
P4s và 100s giúp rút ngắn đáng kể thời gian tính toán.
- Kịch bản 2: Xử lý các mạng Resnet trong môi trường trên.
Bảng 4.1. Thông số môi trường huấn luyện

Tên môi trường Cấu hình Môi trường


CPU: Intel Xeon Processor
Tensorflow GPU 1.12
Google Colab Pro GPU: Nvidia Tesla K80
Python3
RAM: 25GB

Bộ dữ liệu mang tên KITS19 được lấy từ một cuộc thi mang tên “KiTS19
challenge” nhằm mục đích đẩy nhanh sự phát triển của các phương pháp phát hiện và
phân đoạn cho ảnh chụp CT giai đoạn động mạch của 300 bệnh nhân ung thư thận đã
trải qua phẩu thuật cắt bỏ thận một phần hoặc triệt để. Trong đó, 210 trường hợp trong
số 300 bệnh nhân được phát hành mới mục đích huấn luyện và 90 trường hợp còn lại
dùng để đánh giá mô hình sau khi huấn luyện. 210 trường hợp của bộ dữ liệu được
cung cấp trên nền tảng GitHub vào ngày 15 tháng 3 năm 2019. Riêng 90 trường hợp
còn lại được cung cấp vào ngày 15 tháng 7 năm 2019. Trong 210 trường hợp sẽ bao
gồm có ảnh chụp CT và ảnh phân đoạn và 90 trường hợp còn lại sẽ bao gồm ảnh dùng
để kiểm thử sau khi huấn luyện mô hình.
4.2. Kịch bản và tham số huấn luyện
4.2.1. Kịch bản 1:
Việc lựa chọn thông số của mô hình mạng phù hợp với tập dữ liệu đóng vai trò
quan trọng giúp phương pháp có độ chính xác cao.
51

Mạng huấn Mạng rút trích Batch size Num class Num step
luyện đặt trưng (epoch)
Unet VGG-16 16 3 100
Bảng 4.2. Thông số kịch bản 1
4.2.2. Kịch bản 2:
Mô hình mạng được sử dụng đã được tinh sửa một vài thông tin trước khi được
đưa vào huấn luyện và thử kiểm thử độ chính xác. Do hạn chế về dung lượng bộ nhớ
nên trong thực nghiệm nên chỉ thực hiện huấn luyện từ 50 đến 100 epoch.
Mạng huấn Batch size Num class Num step
luyện (epoch)
Resnet 16 3 30
Bảng 4.3. Thông số kịch bản 2
4.3. Kết quả huấn luyện
4.3.1. Độ chính xác
Kịch bản 1: Trong quá trình huấn luyện, sau đây là độ chính xác cho mô hình
phân đoạn vùng thận.
Mô hình mạng Unet:

Hình 4.1. Độ chính xác cho mô hình phân đoạn


Qua 100 epoch, độ chính xác của mô hình đạt 83,06% ở tập dữ liệu thử nghiệm
(test), ở tập dữ liệu thẩm định(validation) đạt 80%.
52

Kịch bản 2: Độ chính xác của mô hình Resnet


Qua 30 epochs, độ chính xác của mô hình Resnet đặt 94% ở tập dữ liệu huấn
luyện(train), ở tập dữ liệu thẩm định(validation) đạt 88%.

Hình 4.2. Độ chính xác của mô hình Resnet

4.3.2. Độ mất mác(Loss)


Kịch bản 1: Độ mất mác của mô hình Unet: Qua 100 epoch, độ mất mác của mô
hình đạt 0.45 ở tập dữ liệu huấn luyện, ở tập dữ liệu thẩm định(validation) đạt 0.34.

Hình 4.3. độ mất mác của mô hình phân lớp


53

Kịch bản 2:

Hình 4.4. Độ mất mác của mô hình resnet


Độ mất mác của mô hình Resnet: Qua 30 epoch, độ mất mác của mô hình đạt 0.1
ở tập dữ liệu huấn (train), ở tập dữ liệu thẩm định (validation) đạt 0.2.
Kịch bản Mô hình Số lần epoch Thời gian mỗi Accuracy
epoch
Kịch bản 1 Unet 100 ~15 phút ~83%
Kịch bản 2 Resnet 30 ~2 phút ~94%
Bảng 4.4. Bảng so sánh và lừa chọn mô hình
4.3.4. Thời gian huấn luyện
Khi thực nghiệm so sánh về thời gian huấn luyện mô hình mạng có sự chênh lệch
về thời gian huấn luyện do mỗi mô hình có mỗi thông số và kiến trúc khác nhau.
Kịch bản Mô hình Thời gian huấn luyện
1 Unet ~1080p
2 Resnet ~30p
Bảng 4.5. Bảng thời gian huấn luyện mô hình
4.4. Kết quả kiểm thử và hình ảnh
Kịch bản 1: Mô hình mạng Unet
Mô hình Unet đã thực hiện đưa ảnh CT đầu vào qua quá trình huấn luyện và sẽ
phần phân đoạn ra 2 phần. Màu đỏ được tô lên tượng trưng cho vùng thận và màu
xanh sẽ tượng trương cho phần khối u gây nên bệnh ung thư thận cho bệnh nhân.
54

ảnh CT Kết quả

Hình 4.2. kết quả mô hình dự đoán mạng unet


Kịch bản 2: Mô hình mạng resnet
Mô hình ResNet đã xác định và khoanh vùng được tổn thương ung thư thận. Ảnh
CT đầu vào qua quá trình huấn luyện và sẽ thực hình khoanh vùng và dán nhãn vùng
thận và vùng khối u.

ảnh CT Kết quả

Hình 4. 3. Kết quả mô hình dự đoán mạng Resnet


55

CHƯƠNG 5: KẾT LUẬN – HƯỚNG PHÁT TRIỂN


5.1. Kết luận
Sau một khoảng thời gian làm việc, đến nay đề tài quản lý “Phát hiện và khoanh
vùng ung thư thận bằng kỹ thuật Deep Learning” đã cơ bản hoàn thành theo đúng
những yêu cầu và nội dung. Trong quá trình nghiên cứu và thực hiện đề tài với quyết
tâm cao nhưng do hạn chế về kinh nghiệm cũng như kiến thức nên đề tài này chắc
chắn sẽ không tránh khỏi những thiếu sót. Rất mong sự đóng góp từ các thầy cô và
các bạn để đề tài của tôi được tốt hơn và hoàn thiện hơn.
Trong lúc thực hiện đề tài nhờ sự chỉ dẫn, giúp đỡ từ thầy và tìm hiểu thêm từ
bản thân từ một số đóng góp sau:
 Tập hợp được dữ liệu về tổn thương thận do khối u gây ra.
 Tiền xử lý ảnh qua việc các phương pháp Flip images, Rotation images, Crop
image, Resize images giúp tăng cường độ chính xác cho mô hình huấn luyện.
 Cài đặt sử dụng môi trường và các thư viện hỗ trợ để huấn luyện và kiểm thử.
 Thực hiện các mạng rút trích đặc trưng cũng như phân vùng và phân lớp.
 Cung cấp các kết quả thực hiện, đánh giá mô hình Unet, ResNet, độ chính xác,
độ mất mác và thời gian huấn luyện.
 So sánh đánh giá các mô hình trong quá trình thực hiện.
Hạn chế của đề tài: Bên cạnh những mặt đã đạt được thì có một số hạn chế còn
gặp phải. Vì lượng kiến thức còn hạn hẹp nên thực hiện đề tài cũng còn thiếu một số
ý kiến, không thể hoàn thành tối đa những mục tiêu đã đặt ra.

5.2. Hướng phát triển


Sau quá trình thực hiện đề tài, tôi sẽ dần hoàn thiện về mặt thu thập các tập dữ
liệu mới hơn, sử dụng thay thế nhiều mạng để xem kết quả, cải thiện thêm mô hình.
Sử dụng huấn luyện và tính toán mô hình song song trong môi trường Apache Spark
để cải thiện thời gian huấn luyện mô hình.
56

TÀI LIỆU THAM KHẢO


Tiếng Việt
[1] https://healthvietnam.vn/thu-vien/tai-lieu-tieng-viet/ung-buou/ung-thu-than
[2] https://tamanhhospital.vn/ung-thu-than/
[3] https://benhvienvietduc.org/nhan-biet-ve-ung-thu-cach-phong-tranh-va-dieu-
tri.html
[4] https://benh.vn/benh-ung-thu-than-5221/
[5] https://hellobacsi.com/ung-thu-ung-buou/ung-thu-khac/tim-hieu-ve-cac-xet-
nghiem-ung-thu-than/
[6] https://topdev.vn/blog/thuat-toan-cnn-convolutional-neural-network/.
[7] https://hoanghapc.vn/ai-la-gi
[8] https://dlapplications.github.io/2018-07-15-Transfer-Learning-Basic/
[9] https://dlapplications.github.io/2018-07-06-CNN/.
[10] https://nttuan8.com/bai-12-image-segmentation-voi-u-net/.
[11] https://myknowlog.wordpress.com/2019/09/17/bai-1-image-classification/
[12] https://trituenhantao.io/kien-thuc/resnet-mang-hoc-sau-dung-nghia/.
[13] https://codelearn.io/sharing/google-colab-la-gi
[14] https://viblo.asia/p/tensorflow-cho-nguoi-moi-bat-dau-eW65GwNx5DO.

Tiếng anh
[15] https://kits19.grand-challenge.org/home/
[16] https://paperswithcode.com/dataset/kits19
[17] https://deepai.org/publication/kidney-tumor-segmentation-using-an-
ensembling-multi-stage-deep-learning-approach-a-contribution-to-the-kits19-
challenge
[18] https://arxiv.org/abs/1904.00445.
[19] https://github.com/neheller/kits21. Truy cập ngày 5/12/2022.
[20] https://github.com/jchen42703/kits19-2d-reproduce. Truy cập ngày 1/12/2022.
[21] https://github.com/muellerdo/kits19.MIScnn. Truy cập ngày 7/12/2022.
[22] https://github.com/frankkramer-lab/MIScnn/blob/master/README.md.
57

[23] https://www.researchgate.net/publication/348590155_MIScnn_a_framework_f
or_medical_image_segmentation_with_convolutional_neural_networks_and_
deep_learning.
[24] Gianmarco Santini , No´emie Moreau and Mathieu Rubeaux, “Kidney
tumorsegmentation using an ensembling multi-stage deep learning approach.
[25] A contribution to the KiTS19 challenge”, 2019.
[26] Yi-Chin Tsai, Yung-Nien Sun, “KiTS19 Challenge Segmentation”,2019.
58

PHỤ LỤC


4. Tổng kết kiến trúc mô hình Unet:
59
60

Tổng kết kiến trúc mô hình Resnet:

You might also like