Professional Documents
Culture Documents
Kidney Cancer
Kidney Cancer
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.3. Ung thư thận và các giai đoạn phát triển .................................................. 9
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.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.3. Sử dụng Keras API để triển khai và đào tạo mô hình Deep Learning..... 44
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.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
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!
Lê Duy Linh
vi
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
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
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
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
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.
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.
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.
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.
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.
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.
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
- 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
- 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
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
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
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.
ả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.
28x28 3x24x24
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
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.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
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á:
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
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
Flip
images
Kết quả
Hình 3.4. Tăng cường ảnh bằng phương pháp Flip image
48
Crop
Kết quả
Resize
Kết quả
Hình 3.7. Tăng cường ảnh bằng phương pháp resize images
49
…………
…
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
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:
Kịch bản 2:
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