Đồ án cuối kì nhập môn trí tuệ nhân tạo project 12 cài đặt thuật toán forward checking cho trò chơi cryptarithmetic puzzle prostate cancer grade assessment (panda) challenge
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
1,87 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CUỐI KÌ NHẬP MƠN TRÍ TUỆ NHÂN TẠO PROJECT 12 Người hướng dẫn: TS BÙI THANH HÙNG Người thực hiện: PHẠM HÙNG PHÁT - 520H0272 HUỲNH THANH QUỐC BẢO – 520H0606 Lớp : 20H50302 Khố THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022 0 : 24 TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CƠNG NGHỆ THƠNG TIN ĐỒ ÁN CUỐI KÌ NHẬP MƠN TRÍ TUỆ NHÂN TẠO PROJECT 12 Người hướng dẫn: TS BÙI THANH HÙNG Người thực hiện: PHẠM HÙNG PHÁT - 520H0272 HUỲNH THANH QUỐC BẢO – 520H0606 Lớp : 20H50302 Khố THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022 0 : 24 i LỜI CẢM ƠN Để hoàn thành báo cáo thực tập em xin gửi lời cảm ơn chân thành tri ân đến quý thầy, cô khoa Công Nghệ Thông Tin trường Đại học Tôn Đức Thắng quan tâm, tạo điều kiện thuận lợi hỗ trợ em trình thực báo cáo cuối kì Đặc biệt, em xin gửi lời biết ơn sâu sắc đến thầy BÙI THANH HÙNG, người thầy giảng dạy mơn Nhập mơn Trí tuệ nhân tạo học kì này, đồng thời người hướng dẫn, tận tình dạy em suốt trình thực báo cáo cuối kì Lời nói cuối em xin kính chúc sức khỏe q thầy, chúc q thầy có thành cơng cao quý nghiệp Em xin chân thành cảm ơn! TP Hồ Chí Minh, ngày 21 tháng Tác giả (Ký tên ghi rõ họ tên) Phạm Hùng Phát Huỳnh Thanh Quốc Bảo 0 năm 2022 ii ĐỒ ÁN ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG Tơi xin cam đoan sản phẩm đồ án riêng hướng dẫn thầy BÙI THANH HÙNG Các nội dung nghiên cứu, kết đề tài trung thực chưa cơng bố hình thức trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá tác giả thu thập từ nguồn khác có ghi rõ phần tài liệu tham khảo Ngồi ra, đồ án cịn sử dụng số nhận xét, đánh số liệu tác giả khác, quan tổ chức khác có trích dẫn thích nguồn gốc Nếu phát có gian lận tơi xin hồn toàn chịu trách nhiệm nội dung đồ án Trường đại học Tơn Đức Thắng khơng liên quan đến vi phạm tác quyền, quyền gây q trình thực (nếu có) TP Hồ Chí Minh, ngày 21 tháng năm 2022 Tác giả (ký tên ghi rõ họ tên) Phạm Hùng Phát Huỳnh Thanh Quốc Bảo 0 iii PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN Phần xác nhận GV hướng dẫn _ _ _ _ _ _ _ Tp Hồ Chí Minh, ngày 21 tháng năm 2022 (kí ghi họ tên) Phần đánh giá GV chấm _ _ _ _ _ _ _ Tp Hồ Chí Minh, ngày 21 tháng năm 2022 (kí ghi họ tên) 0 iv TÓM TẮT Bài báo cáo cuối hai tập lớn giao, áp dụng kiến thức học mơn Nhập mơn trí tuệ nhân tạo: Bài 1: Cài đặt thuật toán forward checking cho trị chơi cryptarithmetic puzzle Bài tốn trị chơi cryptarithmetic puzzle toán giải mã tốn số học chữ thay cho chữ số Bài toán sở để kiểm tra củng cố lại kiến thức học forward checking, heap permutation (tạo hốn vị) để áp dụng vào thực hồn thành toán Bài 2: Prostate cancer grade Assessment (PANDA) Challenge Bài toán thi lập trình lớn tổ chức trang web kaggle Đề yêu cầu ta thực viết chương trình để phân tích tính tốn dự đốn mức độ ung thư tuyến tiền liệt xảy nam giới Ta phải phân tích từ 10600 hình ảnh file *.tiff sinh thiết, mô kết xác mức độ ung thư mắc phải Bên cạnh đó, phải xử lý liệu liệu lớn thi cung cấp có dung lượng 400gb hình ảnh sinh thiết (hình ảnh để xét kiểm tra tình trạng mắc ung thư tuyến tiền liệt) 0 MỤC LỤC LỜI CẢM ƠN i PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN iii TÓM TẮT iv MỤC LỤC DANH MỤC HÌNH, MƠ HÌNH DANH MỤC BẢNG, ĐỒ THỊ NỘI DUNG BÁO CÁO CHƯƠNG 1: Cài đặt giải thuật Forward checking cho trị chơi cryptarithmetic puzzle 1.1 Mơ tả cấu trúc liệu 1.3 Hiện thực 1.4 Kết thảo luận 14 CHƯƠNG 2: Prostate cancer grade Assessment (PANDA) Challenge 18 2.1 Giới thiệu toán 18 2.2 Phân tích yêu cầu toán 19 2.2.1 Yêu cầu toán 19 2.2.2 Các phương pháp giải toán 19 2.3 Phương pháp giải toán 21 2.3.1 Mô hình tổng quát 21 2.3.2 Đặc trưng mơ hình đề xuất 22 2.4 Thực nghiệm 23 2.4.1 Dữ liệu 23 2.4.2 Xử lý liệu 24 2.4.3 Công nghệ sử dụng 25 2.4.4 Cách đánh giá 25 2.5 Kết đạt 26 2.6 Kết luận 28 0 TỰ ĐÁNH GIÁ 29 TÀI LIỆU THAM KHẢO 30 0 DANH MỤC HÌNH, MƠ HÌNH Hình 1: Sơ đồ khối giải thuật trò chơi cryptarithmetic puzzle Hình 1: Code nhận giá trị từ file txt Hình 2: Code thực xóa ký tự đặc biệt dịng trắng Hình 3: Code thực kiểm tra lấy chữ nhất, khơng trùng lặp 10 Hình 4: Code thêm số không cho tất chữ letterarray 10 Hình 5: Hàm permuation lấy hốn vị trường hợp xảy 11 Hình 6: Hàm changeNumber() thực thay đổi chữ để lấy số tương ứng sau xét chạy hoán vị 11 Hình 7: Hàm checkAnswer() thực lấy số đưa giải pháp xác cho tốn 13 Hình 8: Hàm displaySolution() in hình kết thực 14 Hình 9: Testcase 14 Hình 10: Kết chạy testcase 15 Hình 11: Testcase 15 Hình 12: Kết chạy testcase 15 Hình 13: Testcase 16 Hình 14: Kết chạy testcase 16 Hình 15: Testcase 16 Hình 16: Kết chạy testcase 17 Hình 17: Testcase 17 Hình 18: Kết chạy testcase 17 Hình 1: Sơ đồ tổng quát ResNext50 Backbone 21 Hình 2: Mơ hình tổng qt tốn 22 0 Hình 3: Xét lấy chứa ảnh sinh thiết 24 Hình 4: Các bước thực lấy ô chứa sinh thiết 25 0 17 Hình 16: Kết chạy testcase Testcase 5: Hình 17: Testcase Hình 18: Kết chạy testcase 0 18 Kết chạy xác nhiên chưa tối ưu code, thời gian chạy chưa đủ nhanh Giải thuật forward checking hỗ trợ thực hồn thành tốn này, bên cạnh cách tìm hiểu vận dụng thuật tốn heap để tạo hoán vị thực cho việc giải toán CHƯƠNG 2: Prostate cancer grade Assessment (PANDA) Challenge 2.1 Giới thiệu toán Với triệu ca chẩn đoán báo cáo năm, ung thư tuyến tiền liệt (PCa) bệnh ung thư phổ biến thứ hai nam giới toàn giới, dẫn đến 350.000 ca tử vong hàng năm Chìa khóa để giảm tỷ lệ tử vong phát triển chẩn đốn xác Chẩn đốn PCa dựa phân loại sinh thiết mơ tuyến tiền liệt Các mẫu mô nhà nghiên cứu bệnh học kiểm tra cho điểm theo hệ thống phân loại Gleason Quá trình phân loại bao gồm việc tìm kiếm phân loại mơ ung thư thành mơ hình gọi Gleason (3, 5) dựa mơ hình phát triển kiến trúc khối u (Hình 1) Sau sinh thiết định điểm Gleason, chuyển đổi thành điểm ISUP thang điểm 1-5 Hệ thống phân loại Gleason dấu hiệu tiên lượng quan trọng PCa, phân loại ISUP có vai trị quan trọng định bệnh nhân nên điều trị Có nguy bỏ sót bệnh ung thư nguy tải lớn dẫn đến việc điều trị không cần thiết Tuy nhiên, hệ thống có khác biệt đáng kể nhà quan sát nhà nghiên cứu bệnh lý, hạn chế tính hữu ích bệnh nhân Sự thay đổi xếp hạng dẫn đến việc điều trị không cần thiết tệ bỏ sót chẩn đốn nghiêm trọng Hệ thống học sâu tự động cho thấy số hứa hẹn việc phân loại xác PCa Nghiên cứu gần đây, bao gồm hai nghiên cứu thực độc lập nhóm chủ trì thử thách này, hệ thống đạt 0 19 hiệu suất cấp độ bác sĩ bệnh học Tuy nhiên, hệ thống / kết không thử nghiệm với liệu đa trung tâm quy mô lớn Ý nghĩa toán: Bài toán giúp chẩn đoán xác tình trạng mắc bệnh bệnh nhân Từ đưa hướng điều trị hợp lý cho bệnh nhân Ngồi ra, giúp chẩn đốn cách xác nhất, khơng bỏ sót nguy mắc bệnh hay mắc bệnh bệnh nhân dẫn đến việc điều trị khơng cần thiết 2.2 Phân tích u cầu toán 2.2.1 Yêu cầu toán Trong toán này, yêu cầu ta dự đoán điểm ISUP từ hình ảnh sinh thiết (hình ảnh chẩn đốn ung thư) Ta phát triển mơ hình phát PCa hình ảnh mẫu mơ tuyến tiền liệt ước tính mức độ nghiêm trọng bệnh cách sử dụng liệu phong phú phân loại Gleason chưa có sẵn Sử dụng thuật toán AI để chuẩn đoán phân loại ung thư tuyến tiền liệt qua 10616 hình 2.2.2 Các phương pháp giải toán Metric: Weighted Kappa Kappa có trọng số bậc hai, đo lường thống hai kết Số liệu thường thay đổi từ (thỏa thuận ngẫu nhiên) đến (thỏa thuận hồn tồn) Trong trường hợp ngẫu nhiên có thỏa thuận mong đợi, số xuống Kappa có trọng số bậc hai tính sau Đầu tiên, ma trận biểu đồ N x N O xây dựng, cho Oi, j tương ứng với số isup_grades i (thực tế) nhận giá trị dự đoán j Một ma trận N-x-N trọng số, w, tính tốn dựa khác biệt giá trị thực tế giá trị dự đoán: i j wi, j N 1 0 20 Ma trận biểu đồ N-x- N kết mong đợi, E, tính tốn với giả định khơng có mối tương quan giá trị Đây tính tích ngồi vectơ biểu đồ thực tế kết vectơ biểu đồ dự đốn, chuẩn hóa cho E O có tổng Từ ba ma trận này, kappa có trọng số bậc hai tính sau: k 1 i, j wi, j Oi, j i, j wi, j Ei, j Chú thích: O: Chuẩn hóa ma trận phân loại chúng E: xác suất chung thực nghiệm, giả định độc lập người đánh giá W: độ lớn ma trận MIL MIL nhằm mục đích phân loại trường hợp H = {h1, , hK} dương trường hợp Số lượng trường hợp K khác túi Các trường hợp riêng rẻ khơng xác định có giá trị thuộc Y = [0,1] cung cấp theo công thức tương đương với định nghĩa Y = maxK {yk} sử dụng toán tử Max: 0, if all yk Y 1, if ay y k ResNext50 Backbone: 0 21 - Để phân loại mức độ nghiêm trọng ung thư tuyến tiền liệt, nhà giải phẫu bệnh cần tìm hai mộ phát triển khối u riêng biệt hình ảnh xác định điểm Gleason cho mơ Ta có mơ hình : Hình 1: Sơ đồ tổng quát ResNext50 Backbone (https://deepai.org/publication/down-scaling-with-learned-kernels-in-multi-scale-deepneural-networks-for-non-uniform-single-image-deblurring) Chú thích: CNN trục mày xanh lam trích xuất tính quy mơ khác , tổng hợp theo không gian trước cấp vào lớp mã hóa biến áp (màu xanh cây), để giải thích phụ thuộc phiên Đầu vào cho mạng B × N × × W × H Trong B kích thước lơ, N số lượng phiên (các vá lỗi trích xuất từ hình ảnh tồn trang trình bày) × W × H kích thước vá khơng gian 2.3 Phương pháp giải tốn 2.3.1 Mơ hình tổng qt 0 22 Hình 2: Mơ hình tổng qt tốn 2.3.2 Đặc trưng mơ hình đề xuất Từ ảnh ta chia thành phần nhỏ lấy có chứa hình ảnh sinh thiết cần phân tích, bỏ chứa khoảng trắng Việc giúp ta giảm đáng kể lượng liệu cần chạy Tiếp theo thực thơng qua mơ hình Arutema Fam_taro để tính toán giá trị public private 0 23 2.4 Thực nghiệm 2.4.1 Dữ liệu Dữ liệu lấy từ trang web www.kaggle.com (Một trang web lớn giới tổ chức thi lập trình) Dữ liệu có dung lượng 400gb chứa 10600 file ảnh *.tiff hình ảnh để chẩn đoán ung thư tuyến tiền liệt ảnh chứa khoảng trắng ảnh hưởng đến trình xét duyệt liệu sinh thiết từ ảnh Dữ liệu cung cấp Hình ảnh sinh Cơng tác chuẩn bị Karolinska Radbound Train 5456 mẫu (51%) 5160 mẫu (49 %) 67 % 33 % thiết 383 GB 10616 mẫu (train.csv) Image_id, data_provider(2), isup_grade(6), gleason_score(11) Test Public – 395 mẫu Private – 545 mẫu (test.csv) Image_id Data_provider(2) Bảng 1: Thông tin liệu đề 0 24 - train_label_masks: mask hiển thị phần hình ảnh dẫn đến ISUP Các hình ảnh dương tính giả âm tính giả theo nhiều lý Cung cấp để hỗ trợ việc phát triển chiến lược nhằm chọn hình ảnh phụ hữu ích - image_id: Mã id cho hình ảnh - Data_provider: tên tổ chức cung cấp liệu - Isup_grade: Điểm ISUP Mức độ nghiệm trọng bệnh ung thư theo thang điểm 0-5 - Gleason_score: Hệ thống đánh giá mức độ nghiệm trọng bệnh ung thư thay với nhiều cấp độ thang điểm ISUP 2.4.2 Xử lý liệu Ngoài thực sử dụng thư viện Opensilde python để thực đọc file hình ảnh có *.tiff Do hình ảnh cho có nhiều khoảng trắng ta cần xử lý hình ảnh xóa khoảng ô trống trắng lấy khoảng hình ảnh sinh thiết cần thiết Hình 3: Xét lấy chứa ảnh sinh thiết (https://www.youtube.com/watch?v=_tmzOU5PCqs&t=1687s) Ta thực cách chia hình ảnh thành vng nhỏ nhau, tiến hành phân loại lựa chọn ô chứa hình ảnh sinh thiết lưu lại Cịn chứa hình ảnh trắng loại bỏ 0 25 Hình 4: Các bước thực lấy chứa sinh thiết (https://www.youtube.com/watch?v=_tmzOU5PCqs&t=1687s) Suy ra, n hờ mà liệu ta giảm lượng đáng kể từ 383GB xuống cịn 3,1GB 2.4.3 Cơng nghệ sử dụng Ngôn ngữ Python 3.8 kết hợp với package: scipy (1.5.4), pandas (1.1.4), mlxtend (0.18.0), numpy (1.19.4), scikit-learning (0.23.2), matplotlib (3.3.2), jupyterlab (2.2.9) notebook (6.1.5) Thư viện Pycharm Môi trường Colab, Kaggle Bảng 2: Công nghệ sử dụng 2.4.4 Cách đánh giá Bài toán đánh giá Recall Recall đo lường tỷ lệ dự báo xác trường hợp positive tồn mẫu thuộc nhóm positive Cơng thức recall sau: 0 26 Re call TP TP total actual positive TP FN Để tính recall phải biết trước nhãn liệu Do recall dùng để đánh gía tập train validation biết trước nhãn Trên tập test liệu coi hồn tồn chưa biết nhãn sử dụng precision 2.5 Kết đạt Phương pháp Quadratic Weighted Kappa chọn làm ứng dụng tốn phù hợp cho việc dự đoán chuẩn xác mức độ nghiệm trọng bệnh Đặc biệt, trướng hợp với tế bào khối u WSI có điểm Gleason khác có giá trị đường chéo cao Đồ thị 1: Bảng thống kê điểm Gleason (https://www.youtube.com/watch?v=_tmzOU5PCqs&t=1687s) 0 27 Đồ thị 2: Bảng thống kê ISUP grade Karolinska rasbound (https://www.youtube.com/watch?v=_tmzOU5PCqs&t=1687s) Đồ thị 3: Bảng so sánh độ đo Precsion Recall Curve (https://www.youtube.com/watch?v=_tmzOU5PCqs&t=1687s) 0 28 Suy luận logic, ta chứng minh mối quan hệ precision recall biến đổi theo threshold mối quan hệ đánh đổi (trade off) Khi precision cao recall thấp ngược lại 2.6 Kết luận 2.6.1 Kết đạt được: Về mặt lý thuyết: đồ án giúp tìm hiểu phương pháp giải toán MIL, ResNext50 Backbone, Matrix: Weighted Kappa Về mặt thực nghiệm: kết thực chạy chương trình chưa đạt yêu cầu toán 2.6.2 Hạn chế: Một thách thức đào tạo MIL thiếu nhãn mẫu để hướng dẫn q trình tối ưu hóa Chúng ta chọn cách tiếp cận đơn giản để tạo nhãn giả dựa tập hợp số mơ hình giống hệt đào tạo từ q trình khởi tạo ngẫu nhiên 2.6.3: Hướng phát triển tương lai: Trong tương lai, chúng em ngồi lại với cải thiện thuật toán cách tối ưu nhất, khai khác triết để liệu mà đề cung cấp cho Từ tìm hiểu thuật tốn phù hợp nhất, MIL để có cách phát triển toán theo hướng tốt nhất, đạt hiệu suất tối đa Bên cạnh tìm hiểu phương pháp xử lý tiền liệu khác trước đưa chạy thuật toán Lưu ý: Do chưa thực việc xử lý liệu lớn, nên chúng em thực việc chạy chương trình trực tiếp kaggle, có hỗ trợ cung cấp liệu cho việc kiểm tra code 0 29 TỰ ĐÁNH GIÁ Câu Nội dung Điểm chuẩn Tự chấm 0.5 0.5 1.2 Sơ đồ giải thuật 0.5 1.3 Hiện thực 1.75 1.4 Kết thảo luận 0.5 0.25 2.1 Giới thiệu toán 0.25 0.25 1 1.25 0.5 0.25 2.5 Kết đạt 0.75 0.25 2.6 Kết luận 0.25 0.25 Điểm nhóm 0.5đ 0.5 Báo cáo (chú ý ý 2,3,4,6 trang trước, sai bị trừ điểm nặng) 1đ 0.75 1.1 Mô tả cấu trúc liệu (4.0) (4.5) 2.2 Phân tích yêu cầu toán 2.3 Phương pháp giải toán 2.4 Thực nghiệm Tổng điểm 6.75 Ghi Chưa thực xử lý liệu 30 TÀI LIỆU THAM KHẢO https://www.geeksforgeeks.org/heaps-algorithm-for-generating-permutations/ https://acrogenesis.com/ortools/documentation/user_manual/manual/first_steps/cryptarithmetic.html Alejandro Lopez-Ortiz, Claude-Guy Quimper, John Tromp and Peter Van Beek A fast and simple algorithm for bounds consistency of the all different constraint, Proceedings of the 18th international joint conference on Artificial intelligence, Acapulco, Mexico, pp 245-250, 2003, Morgan Kaufmann Publishers Inc Cryptarithms – Basic Mathematics Retrieved November 21, 2020 Carson, (2020, November 5) The Scientific Method – Central Galaxy Retrieved November 21, 2020 L.Srinidhi, C., Ciga, O., L.Martel, A.: Deep neural network models for computational histopathology: A survey Medical Image Analysis 67, 329– 353 (2021) Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, L.u., Polosukhin, I.: Attention is all you need In: NIPS vol 30 (2017) He, K., Zhang, X., Ren, S., Sun, J.: Identity mappings in deep residual networks In:European Conference on Computer Vision (ECCV) (2016) Dietterich, T.G., Lathrop, R.H., Lozano-Perez, T.: Solving the multiple instance problem with axis-parallel rectangles Artificial intelligence 89, 31– 71 (1997) 0 31 10 Carbonneau, M.A., Cheplygina, V., Granger, E., Gagnon, G.: Multiple instance learning: A survey of problem characteristics and applications Pattern Recognition 77, 329–353 (2018) 0 ... tháng năm 2022 (kí ghi họ tên) 0 iv TÓM TẮT Bài báo cáo cuối hai tập lớn giao, áp dụng kiến thức học môn Nhập mơn trí tuệ nhân tạo: Bài 1: Cài đặt thuật tốn forward checking cho trị chơi cryptarithmetic. .. Giải thuật forward checking hỗ trợ thực hồn thành tốn này, bên cạnh cách tìm hiểu vận dụng thuật toán heap để tạo hoán vị thực cho việc giải toán CHƯƠNG 2: Prostate cancer grade Assessment (PANDA). .. liệu Cryptarithmetic puzzle trị chơi giải trí tốn học mục tiêu giải mã toán s ố học chữ thay cho chữ số Mục đính tìm giá trị chữ toán dạng số học Quy luật trò chơi Cryptarithmetic puzzle: