Các số liệu, tài liệu ban đầu − Ngôn ngữ lập trình: Python − Phần mềm huấn luyện: Google Colab − Tập dữ liệu: tập dữ liệu gồm hình ảnh soi da của 3 loại tổn thương da gồm Ung thư hắc
TỔNG QUAN
Đặt vấn đề
Da là cơ quan lớn nhất của cơ thể, có vai trò bảo vệ các hệ thống khác khỏi tác nhân gây hại từ môi trường Tuy nhiên, da dễ bị tổn thương do bệnh lý, tác động môi trường và yếu tố di truyền.
Ung thư da là các khối u phát triển từ da, do sự sản xuất tế bào bất thường và có khả năng xâm nhập vào các khu vực khác của cơ thể Có ba loại ung thư da chính: ung thư biểu mô tế bào đáy, ung thư biểu mô tế bào vảy và ung thư hắc tố Bên cạnh đó, còn tồn tại những tổn thương da không phải ung thư nhưng có thể gây ra triệu chứng khó chịu và làm tăng nguy cơ hình thành ung thư da nếu không được điều trị kịp thời.
Ung thư hắc tố da ác tính là loại tổn thương nghiêm trọng nhất, với triệu chứng bao gồm nốt ruồi phát triển về quy mô, hình dạng, màu sắc, và đường viền không đều, có thể ngứa hoặc chảy máu Theo Cơ quan Nghiên cứu Ung thư Quốc tế, vào năm 2018, đã có khoảng 300.000 trường hợp mới ung thư hắc tố da được báo cáo toàn cầu, khiến đây trở thành bệnh ác tính phổ biến nhất ở cả nam và nữ Việc phát hiện và phân loại tổn thương da sớm là rất quan trọng trong điều trị và phòng ngừa, nhưng chẩn đoán thường phụ thuộc vào năng lực của bác sĩ da liễu, do các dấu hiệu ban đầu của ung thư da thường không rõ ràng Điều này đòi hỏi kiến thức chuyên môn sâu rộng và kinh nghiệm lâm sàng, trong khi việc khám và chẩn đoán bệnh lý da liễu thường tốn nhiều thời gian và công sức.
Trong thời đại công nghệ hiện đại, hệ thống máy tính hỗ trợ đã tạo ra những khả năng mới trong việc phát hiện và phân loại tổn thương da Việc áp dụng mô hình máy học giúp bác sĩ chẩn đoán các loại tổn thương da thông qua hình ảnh y tế một cách hiệu quả hơn.
Chương 1 trình bày tổng quan và phân loại tổn thương da Việc phát triển một mô hình máy học để phát hiện và phân loại tổn thương da chính xác là một thách thức lớn Quá trình này bao gồm thu thập và xử lý dữ liệu hình ảnh da, xây dựng và huấn luyện mô hình, cũng như đánh giá và tinh chỉnh để đảm bảo hiệu suất tối ưu.
Mục tiêu
Khảo sát và ứng dụng mô hình máy học nhằm hỗ trợ phân loại các loại tổn thương da Sử dụng các mô hình phân loại ảnh màu từ hình ảnh soi da để đưa ra kết quả chính xác Tối ưu hóa mô hình và tập dữ liệu giúp nâng cao độ chính xác và rút ngắn thời gian phân loại.
Nội dung nghiên cứu
Trong quá trình thực hiện đề tài “Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương da”, nhóm nghiên cứu đã tập trung vào việc áp dụng các kỹ thuật máy học để cải thiện khả năng nhận diện và phân loại các loại tổn thương da một cách chính xác Các nội dung nghiên cứu bao gồm việc thu thập dữ liệu hình ảnh, phát triển mô hình học máy phù hợp, và đánh giá hiệu quả của mô hình trong việc hỗ trợ chẩn đoán y tế.
Khảo sát và lựa chọn ba loại tổn thương da chính, bao gồm ung thư hắc tố da ác tính, ung thư biểu mô tế bào đáy và tổn thương mạch máu, nhằm tìm kiếm dữ liệu liên quan.
− NỘI DUNG 2: Sau khi tìm ra dữ liệu, tiến hành tạo tập dữ liệu và tiền xử lý
− NỘI DUNG 3: Khảo sát và xây dựng mô hình huấn luyện phân loại các tổn thương da, bao gồm các mô hình Inception-V1, ResNet50, ConvNeXt_Tiny và Vision Transformer
Huấn luyện, điều chỉnh và đánh giá các mô hình đã xây dựng là bước quan trọng trong quá trình nghiên cứu Việc so sánh các mô hình này với những nghiên cứu khác giúp xác định tính hiệu quả và độ chính xác của chúng Những phân tích này không chỉ cung cấp cái nhìn sâu sắc về sự phát triển của mô hình mà còn giúp cải thiện các phương pháp nghiên cứu trong tương lai.
− NỘI DUNG 5: Viết báo cáo đề tài
− NỘI DUNG 6: Bảo vệ luận văn.
Giới hạn
Mô hình phân loại tổn thương da hiện tại bao gồm ba loại chính: ung thư hắc tố da ác tính, ung thư biểu mô tế bào đáy và tổn thương mạch máu.
Dữ liệu chủ yếu được thu thập từ người da trắng, dẫn đến việc số lượng ảnh từ người da vàng rất thấp, trong khi không có bất kỳ dữ liệu nào từ người da đen.
Bố cục
Đề tài “Ứng dụng mô hình máy học hỗ trợ phát hiện và phân loại tổn thương da” bao gồm có 5 chương, bao gồm:
Trình bày tổng quan về đề tài nghiên cứu, mục tiêu của đề tài, giới hạn của đề tài và bố cục của đồ án
− Chương 2: Cơ sở lý thuyết
Bài viết này cung cấp cái nhìn tổng quan về các loại tổn thương da khác nhau và giới thiệu các phương pháp sử dụng mô hình máy học để xây dựng và huấn luyện mô hình phân loại tổn thương da Việc áp dụng công nghệ này không chỉ giúp nhận diện chính xác các loại tổn thương mà còn nâng cao hiệu quả trong việc chẩn đoán và điều trị Các công cụ máy học hiện đại đóng vai trò quan trọng trong việc phân tích dữ liệu hình ảnh, từ đó cải thiện khả năng phân loại và hỗ trợ các chuyên gia y tế trong công việc của họ.
− Chương 3: Thiết kế và tính toán
Khảo sát và xây dựng mô hình phân loại tổn thương da bằng cách huấn luyện các mạng neuron CNN như Inception-V1, ResNet50, ConvNeXt_Tiny và Vision Transformer trên bộ dữ liệu Bài viết cũng trình bày chi tiết cách điều chỉnh các thông số của mô hình để tối ưu hóa hiệu suất phân loại.
− Chương 4: Kết quả, nhận xét và đánh giá
Sau khi trình bày kết quả thu được, chúng tôi tiến hành so sánh với các nghiên cứu khác để làm rõ sự khác biệt và tương đồng Qua đó, chúng tôi đưa ra những nhận xét và đánh giá chi tiết về tính chính xác và độ tin cậy của kết quả nghiên cứu này.
− Chương 5: Kết luận và hướng phát triển
Tổng kết nghiên cứu và kết luận về mô hình giúp xác định những hạn chế cần khắc phục so với mục tiêu đề ra Dựa trên đó, nhóm thực hiện đề tài đưa ra các đề xuất và hướng phát triển cho đề tài trong các ứng dụng tương lai.
CƠ SỞ LÝ THUYẾT
Các loại tổn thương da được khảo sát
Các loại tổn thương được khảo sát lấy từ bộ dữ liệu ảnh HAM10000 của tập đoàn ViDIR, Khoa Da liễu, Đại học Y Vienna, Áo [3]
2.1.1 Ung thư hắc tố da ác tính
Ung thư hắc tố da ác tính (Melanoma) là một loại khối u ung thư phát triển từ tế bào hắc tố, có nhiều dạng khác nhau Nếu được phát hiện sớm, bệnh có thể được điều trị hiệu quả bằng phẫu thuật cơ bản Các biểu hiện của ung thư hắc tố bao gồm nốt ruồi phát triển về kích thước, hình dạng, màu sắc, có đường viền không đều, nhiều màu sắc, và có thể ngứa hoặc chảy máu Nếu không được phát hiện kịp thời, bệnh có thể gây nguy hiểm đến tính mạng.
Hình 2.1 Hình ảnh tổn thương do ung thư hắc tố da ác tính
2.1.2 Ung thư biểu mô tế bào đáy
Ung thư biểu mô tế bào đáy (Basal cell carcinoma) là loại ung thư da phổ biến nhất, chiếm khoảng 75% các trường hợp ung thư da không phải hắc tố Loại ung thư này phát triển từ các tế bào đáy nằm ở lớp sâu nhất của biểu bì và hiếm khi di căn, nhưng có thể phát triển mạnh nếu không được điều trị Ung thư biểu mô tế bào đáy xuất hiện dưới nhiều hình thức khác nhau như phẳng, nốt sần, sắc tố và nang, và có đặc điểm hình thái tương tự với một số tổn thương da khác, bao gồm cả ung thư hắc tố và tổn thương mạch máu.
Hình 2.2 Hình ảnh tổn thương do ung thư tế bào đáy
Tổn thương mạch máu (Vascular lesions) là các bệnh về da liên quan đến mạch máu và bạch huyết, bao gồm cả khối u lành tính, ác tính, dị tật và bệnh viêm nhiễm Các loại tổn thương này bao gồm u mạch anh đào, u mạch máu, u hạt sinh mủ và xuất huyết Một số tổn thương mạch máu có sắc tố tối, tương tự như ung thư hắc tố da ác tính, gây khó khăn trong việc phân biệt giữa hai loại tổn thương này.
Hình 2.3 Hình ảnh tổn thương mạch máu
Sử dụng mô hình máy học để hỗ trợ phân loại ảnh
Đề tài có nghiên cứu và khảo sát sử dụng mô hình Mạng neuron nhân tạo bao gồm mô hình Mạng neuron tích chập và mô hình Transformer
2.2.1 Định nghĩa Mô hình mạng neuron nhân tạo
Mạng neuron nhân tạo (ANN) là một mô hình máy học được thiết kế tương tự như cách các tế bào thần kinh trong não người giao tiếp và truyền tín hiệu với nhau.
Kiến trúc mạng của ANN bao gồm ba lớp chính: lớp đầu vào, một hoặc nhiều lớp ẩn, và lớp đầu ra Trong mô hình phân loại ảnh, lớp đầu vào nhận các giá trị từ điểm ảnh, sau đó chuyển tiếp đến các lớp ẩn Tại mỗi nút trong lớp ẩn, trọng số ngõ ra được tính toán thông qua một hàm truyền không tuyến tính Các trọng số này được truyền từ lớp trước đến lớp sau, hoặc có thể quay trở lại lớp trước trong mô hình ANN hồi tiếp Cuối cùng, lớp đầu ra có số nút tương ứng với số phân loại, cho ra kết quả phân loại cuối cùng Trong quá trình học, trọng số của mô hình sẽ được điều chỉnh để cải thiện độ chính xác của kết quả.
Trong mô hình này, đầu ra của nút được ký hiệu là 𝑦, trong khi hàm truyền được biểu diễn bằng 𝑓 Số lượng trọng số từ lớp khác đưa vào nút được ký hiệu là n, và 𝑤 𝑖 là trọng số tương ứng với đầu vào 𝑥 𝑖 Cuối cùng, T đại diện cho giá trị ngưỡng trong quá trình tính toán.
2.2.2 Mô hình Mạng neuron tích chập
Mạng neuron tích chập (CNN) là một loại mạng neuron nhân tạo nổi bật từ năm 2012 với sự ra mắt của mô hình AlexNet Kể từ đó, CNN đã trở thành phương pháp chủ đạo trong nhiều nhiệm vụ thị giác máy tính.
Lớp đầu vào (Các) lớp ẩn Lớp đầu ra
Chương 2 Cơ sở lý thuyết được xác định từ khi CNN đạt được thành công ấn tượng trong cuộc thi nhận dạng đối tượng lớn mang tên “Cuộc thi nhận dạng hình ảnh ImageNet quy mô lớn” (ILSVRC) vào năm 2012.
Trong lĩnh vực y tế, CNN đã đạt được nhiều thành tựu nổi bật trong thị giác máy tính Mô hình CNN sử dụng các bộ lọc tích chập để tìm hiểu và trích xuất các tính năng cần thiết, giúp hiểu hình ảnh y tế một cách hiệu quả Kiến trúc mạng của CNN được minh họa qua Hình 2.5.
Lớp đầu vào của mô hình là ảnh cần phân loại, được xử lý qua các lớp ẩn như lớp tích chập, lớp lấy mẫu và lớp chuẩn hóa batch Sau khi qua các lớp này, dữ liệu sẽ được làm phẳng thành một mảng 1 chiều thông qua lớp kết nối đầy đủ Độ dài của lớp kết nối đầy đủ cuối cùng tương ứng với số phân loại của mô hình, cũng là lớp đầu ra của nó.
Các lớp neuron tích chập đóng vai trò quan trọng trong mạng nơ-ron tích chập (CNN) Khi phân loại ảnh, lớp chập nhận đầu vào là một hoặc nhiều ma trận 2D (hoặc kênh) và sản sinh ra nhiều ma trận 2D đầu ra Kích thước và số lượng ma trận đầu vào và đầu ra có thể khác nhau, và quá trình tính toán để tạo ra một ma trận đầu ra duy nhất được mô tả bằng công thức (2.2) [7].
Trong lớp tích chập, ma trận đầu ra 𝐴 𝑗 được tính từ ma trận đầu vào 𝐼 𝑖 (được thể hiện bằng hình vuông màu xanh trong Hình 2.5) thông qua ma trận kernel 𝐾 𝑖,𝑗 tương ứng, cùng với giá trị bias 𝐵 𝑗 được cộng vào Các lớp xử lý khác cũng tiếp nhận đầu vào từ lớp tích chập này.
Lớp kết nối đầy đủ Đầu ra
Trong quá trình học, CNN sử dụng các trọng số để tạo thành các kernel nhỏ hơn, giúp đơn giản hóa mô hình học tập So với mạng neuron kết nối đầy đủ truyền thống, CNN nhanh hơn và mạnh mẽ hơn nhờ vào số lượng tham số huấn luyện thấp hơn Ngoài ra, phép nhân chập trong CNN giúp trích xuất đặc trưng của ảnh một cách hiệu quả hơn.
Trong nghiên cứu phân loại tổn thương da, mỗi loại tổn thương đều có những đặc điểm đa dạng và phức tạp Các nghiên cứu trước đây đã chỉ ra rằng các mô hình học sâu mang lại kết quả vượt trội so với các mạng đơn giản như LeNet hay AlexNet Do đó, nghiên cứu này tập trung vào việc huấn luyện dữ liệu thông qua các mô hình CNN với độ sâu cao, nhằm nâng cao hiệu quả phân loại.
Hình 2.6 Tổng quan mô hình ViT
Mô hình Transformer, được giới thiệu bởi Vaswani và các cộng sự, ban đầu được áp dụng cho xử lý ngôn ngữ tự nhiên (NLP) Sự thành công của Transformer trong lĩnh vực này đã dẫn đến việc Dosoviskiy và các cộng sự phát triển mô hình Vision Transformer (ViT) nhằm phục vụ cho tác vụ phân loại ảnh.
Bộ giải mã Transformer (bao gồm multi-head attention)
Phép chiếu tuyến tính của các patch đã làm phẳng
Mã hóa patch + vị trí
Trong bài viết này, chúng tôi tiến hành khảo sát và nghiên cứu mô hình ViT, một mô hình có cơ chế hoạt động khác biệt so với CNN.
Sự khác biệt chính giữa ViT và CNN là ViT không sử dụng các lớp tích chập Thay vào đó, ViT học các đặc trưng thông qua các lớp attention trong bộ giải mã Transformer, với đầu vào là các phần nhỏ của dữ liệu ảnh (patch) Mô hình này phân tích và đánh giá điểm attention của từng phần dữ liệu đầu vào để đưa ra kết quả đầu ra.
Overfitting là hiện tượng mà mô hình không thể tổng quát từ dữ liệu đã biết sang dữ liệu chưa biết, dẫn đến việc nó hoạt động tốt trên tập huấn luyện nhưng kém hiệu quả trên tập kiểm tra Nguyên nhân là do mô hình đã ghi nhớ tất cả dữ liệu, bao gồm cả nhiễu không thể tránh khỏi trong tập huấn luyện, thay vì học các mối quan hệ và đặc trưng ẩn sau dữ liệu Điều này khiến mô hình gặp khó khăn trong việc xử lý thông tin khác biệt trong tập kiểm tra.
Các công cụ thực hiện xây dựng mô hình máy học
Python là ngôn ngữ lập trình bậc cao được phát hành vào năm 1991 và được ứng dụng rộng rãi trong nhiều lĩnh vực như thiết kế ứng dụng, thiết kế web, trí tuệ nhân tạo và xử lý dữ liệu lớn Ngôn ngữ này hỗ trợ nhiều mô hình lập trình, bao gồm lập trình cấu trúc, hướng đối tượng và functional Với thiết kế dễ đọc và cú pháp đơn giản, Python giúp lập trình viên dễ dàng viết mã, mặc dù tốc độ biên dịch có thể chậm hơn so với một số ngôn ngữ khác.
Các mô hình máy học hiện nay chủ yếu được phát triển bằng ngôn ngữ lập trình Python, nhờ vào nhiều thư viện và module phong phú Python có cộng đồng người dùng lớn, tạo điều kiện thuận lợi cho việc trao đổi và phát triển dự án Phiên bản Python 3, đặc biệt là Python 3.10, mang lại nhiều ưu điểm như cú pháp rõ ràng, hiệu suất cải thiện và phép chia luôn cho kết quả kiểu số thực.
TensorFlow là một nền tảng toàn diện, hỗ trợ cả người mới và chuyên gia trong việc xây dựng và triển khai các mô hình máy học Tensor, một phần cơ bản của TensorFlow, là sự tổng quát hóa của vector và ma trận, có thể mở rộng đến nhiều chiều TensorFlow biểu thị các tensor dưới dạng mảng n chiều của các kiểu dữ liệu cơ bản, và chúng là đối tượng chính được sử dụng và thao tác trong suốt chương trình Mỗi tensor đại diện cho một phép tính, dẫn đến việc tạo ra giá trị cuối cùng.
TensorFlow hoạt động bằng cách xây dựng biểu đồ các đối tượng tensor, mô tả mối liên hệ giữa các tensor Việc thực thi các phần khác nhau của biểu đồ này cho phép tạo ra kết quả.
Hình 2.13 Minh họa tensor 3 chiều (kích thước [3, 2, 5])
TensorFlow cung cấp nhiều cấp độ trừu tượng, cho phép người dùng lựa chọn mức độ phù hợp với nhu cầu của mình Người dùng có thể xây dựng và đào tạo các mô hình một cách dễ dàng thông qua API cấp cao.
Keras giúp việc bắt đầu với TensorFlow và machine learning trở nên dễ dàng Trong đề tài này, phiên bản TensorFlow được sử dụng là phiên bản 2.16.x
Google Colab là môi trường phát triển Python được tạo bởi Google, dựa trên nền tảng mã nguồn mở Jupyter notebook chạy trong trình duyệt sử dụng Google
Colab là một công cụ mạnh mẽ trong lĩnh vực điện toán đám mây, cho phép người dùng viết, chạy và lưu trữ các dự án huấn luyện mô hình máy học một cách hiệu quả Với nhiều tính năng nổi bật, Colab hỗ trợ tối ưu hóa quy trình phát triển và triển khai các ứng dụng học máy.
Google Colab là một công cụ mạnh mẽ không cần cài đặt trên máy tính cá nhân, hoạt động trực tiếp trên máy chủ của Google, giúp tăng tốc độ thực thi chương trình so với các thiết bị có cấu hình thấp Nó cung cấp sức mạnh tính toán miễn phí và cho phép chia sẻ tài liệu dễ dàng Các file chương trình được lưu dưới dạng file Jupyter và tự động lưu trữ trên Google Drive Hơn nữa, Colab đã được cài đặt sẵn nhiều thư viện và module phong phú như TensorFlow và OpenCV, hỗ trợ cho các dự án lập trình và học máy.
TÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Tập dữ liệu
Tập dữ liệu được lọc từ bộ dữ liệu ảnh HAM10000 của ViDIR, Khoa Da liễu, Đại học Y Vienna, bao gồm 10015 hình ảnh định dạng JPEG với kích thước 650x400 Sau quá trình lọc, chúng tôi thu được một tập dữ liệu mới với 3 phân loại khác nhau, phục vụ cho các bước đầu vào, tiền xử lý, huấn luyện và đầu ra.
Chương 3 trình bày quá trình tính toán và xây dựng mô hình cho ba loại tổn thương da đã khảo sát Tập dữ liệu được thu thập từ nhiều chủng loại da, đã được xử lý và phát hành dưới dạng tập huấn luyện, có sẵn công khai qua kho lưu trữ ISIC (The International Skin Image Collaboration) Các tổn thương da đã được xác nhận bằng bệnh lý bởi các chuyên gia trong quá trình theo dõi Sau khi lọc, tập dữ liệu mới được hình thành với ba phân loại tương ứng: ung thư biểu mô tế bào đáy (bcc), ung thư hắc tố ác tính (mel) và tổn thương mạch máu (vasc), được trình bày trong Bảng 3.1.
Bảng 3.1 Thống kê dữ liệu phân loại trong tập dữ liệu
Mô tả hình ảnh Tổn thương da trên cơ thể người
Phân loại tổn thương bcc mel vasc
Hình 3.2 Biểu đồ thống kê số lượng từng loại tổn thương của tập dữ liệu
Tiền xử lý dữ liệu
Để tối ưu hóa hiệu suất chương trình và giảm khối lượng tính toán, kích thước ảnh trong tập dữ liệu sẽ được điều chỉnh từ 600×450 xuống 256×256 Việc này không chỉ giúp tiết kiệm thời gian trong quá trình học mà còn đảm bảo hiệu quả trong việc xử lý dữ liệu đầu vào.
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH chuẩn hóa dữ liệu Chuẩn hóa dữ liệu là việc scale dữ liệu về khoảng giá trị từ 0 đến
1 bằng cách chia cho 255 Việc chuẩn hóa sẽ giúp cải thiện các thuật toán trong quá trình học máy
Tập dữ liệu bao gồm 1769 ảnh được chia làm 3 tập con gồm:
Trong quá trình huấn luyện mô hình, tập huấn luyện và tập kiểm định chiếm tỷ lệ lần lượt là 70% (1237 ảnh) và 15% (267 ảnh) trong tổng số dữ liệu Tập kiểm tra, với 265 ảnh, được sử dụng để đánh giá hiệu suất của mô hình và cũng chiếm tỷ lệ 15% Số lượng ảnh trong mỗi phân loại của từng tập con được phân bổ tương ứng với các tỷ lệ trên.
Hình 3.3 Biểu đồ thống kê số lượng từng loại tổn thương trên mỗi tập dữ liệu con
Việc tăng cường dữ liệu hình ảnh trước khi huấn luyện là rất quan trọng để nâng cao hiệu quả hoạt động của mô hình Đối với các bộ dữ liệu không cân bằng, tăng cường hình ảnh giúp phân bổ dữ liệu đồng đều cho tất cả các phân loại, từ đó cải thiện kết quả huấn luyện Các phương pháp tăng cường phổ biến bao gồm xoay ảnh, lật ảnh, phóng to và điều chỉnh độ sáng.
Xoay ảnh là kỹ thuật điều chỉnh vị trí của một bức ảnh theo một góc nhất định xung quanh một điểm cố định Phép xoay này được biểu diễn thông qua một ma trận dịch chuyển M, với góc xoay 𝜃 được xác định theo công thức trong phương trình (3.1).
Số lượn g dữ liệu bcc mel vasc
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Lật ảnh là kỹ thuật thay đổi hình ảnh bằng cách xoay theo chiều ngang hoặc chiều dọc Để thực hiện lật ảnh, ta sử dụng hai phương trình (3.2) và (3.3), tương ứng với việc lật theo chiều ngang và chiều dọc cho ảnh được biểu diễn dưới dạng ma trận với M cột và N hàng.
Điều chỉnh độ sáng là một phương pháp quan trọng trong tăng cường hình ảnh, cho phép thay đổi độ sáng của ảnh để tạo ra nhiều phiên bản với độ sáng khác nhau Công thức điều chỉnh độ sáng cho ảnh I sử dụng ma trận điều chỉnh B, trong đó mọi phần tử đều bằng b, được thể hiện qua phương trình (3.4).
Trong đó: 𝐼 ′ (i, j) = max (0, min (1, 𝐼(𝑖, 𝑗) + 𝑏)) để đảm bảo các giá trị pixel trong khoảng [0, 1]
Trong nghiên cứu này, số lượng ảnh cho hai phân loại tổn thương hiếm gặp trong tập huấn luyện đã được tăng cường lên 500 hình ảnh mỗi loại Cụ thể, hai loại tổn thương được tăng cường là ung thư biểu mô tế bào đáy và tổn thương mạch máu Hình 3.4 minh họa quá trình tăng cường số lượng ảnh cho các phân loại ít gặp trong tập dữ liệu.
Hình 3.4 Minh họa ảnh được tăng cường trong tập huấn luyện
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
3.3.4 Phân đoạn hình ảnh Ở nhiệm vụ phân đoạn tổn thương da, đề tài đã sử dụng mô hình phân đoạn Bi-Directional ConvLSTM U-Net (BCDU-Net) dựa trên nền tảng U-Net do Reza Azad và các cộng sự đề xuất [14] Tập dữ liệu cho mô hình này được lấy từ bộ dữ liệu ISIC 2018 [3] bao gồm 3694 ảnh tổn thương da và 3694 mặt nạ groundtruth phân đoạn vùng tổn thương Trong đó, tập huấn luyện bao gồm 2594, tập kiểm định gồm
Bài viết này đề cập đến việc sử dụng 100 tập kiểm tra, mỗi tập gồm 1000 dữ liệu ảnh và mặt nạ groundtruth Cụ thể, dữ liệu bao gồm hình ảnh tổn thương da và groundtruth phân đoạn vùng tổn thương Hình 3.5 minh họa dữ liệu đầu vào cho mô hình phân đoạn tổn thương da.
Hình 3.6 Kiến trúc mô hình BCDU-Net [14]
Mô hình BCDU-Net, như thể hiện trong Hình 3.6, bao gồm nhiều lớp tích chập, max pooling, lớp tích chập hồi quy (ConvLSTM) và chuẩn hóa batch Các lớp dữ liệu được liên kết đối xứng theo các cặp có kích thước tương đương Lớp tích chập cuối cùng áp dụng hàm kích hoạt sigmoid để biểu thị khả năng của từng điểm ảnh.
Chương 3: Tính toán và xây dựng mô hình trong vùng tổn thương Ảnh đầu ra là ảnh đơn kênh, có kích thước tương đương với ảnh đầu vào, với giá trị điểm ảnh dao động từ 0 đến 1.
Nghiên cứu của Reza Azad và các cộng sự cho thấy mô hình BCDU-Net được huấn luyện trên tập dữ liệu 2594 ảnh, với 70% dùng cho huấn luyện, 10% cho kiểm định và 20% cho kiểm tra, đạt kết quả tốt hơn so với các mô hình phân đoạn khác Cụ thể, BCDU-Net vượt trội hơn các mô hình như U-Net, Attention U-Net, R2U-Net và Attention R2U-Net, với độ chính xác cao hơn đến 3,3%.
Mô hình BCDU-Net đã được áp dụng để xử lý tập dữ liệu gồm 3694 ảnh, và kết quả kiểm tra được trình bày trong Bảng 3.2 dưới đây.
Bảng 3.2 Kết quả phân đoạn với tập dữ liệu 3694 ảnh Độ chính xác Precision Recall F1-Score
0.918 0.873 0.826 0.849 a) Ảnh tổn thương da b) Kết quả của mô hình c) Kết quả sau phân đoạn ngưỡng
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Sau khi huấn luyện và đưa dữ liệu hình ảnh vào mô hình, kết quả vẫn là ảnh xám, chưa đạt được dạng nhị phân Do đó, cần thực hiện phân đoạn ngưỡng để có được ảnh nhị phân tương tự như groundtruth Bằng cách chọn ngưỡng 0.5, những điểm ảnh có xác suất từ 50% trở lên sẽ được gán giá trị 1, trong khi các điểm ảnh còn lại sẽ được gán giá trị 0 Kết quả cuối cùng là ảnh nhị phân gần giống với groundtruth (Hình 3.7).
Xây dựng mô hình
Trong bài viết này, chúng tôi sẽ khảo sát mô hình Inception-V1, tiến hành xây dựng lại mô hình và huấn luyện với bộ dữ liệu đã được tiền xử lý Quá trình huấn luyện sẽ được thực hiện đồng thời với việc điều chỉnh các thông số như tốc độ học và kích thước batch nhằm đạt được kết quả tối ưu nhất.
Kiến trúc Inception-V1, được giới thiệu bởi Christian Szegedy và các cộng sự vào năm 2014 tại Hội nghị IEEE về thị giác máy tính và nhận dạng mẫu, bao gồm 9 khối Inception với nhiều bộ lọc tích chập kích thước khác nhau như 1x1, 3x3 và 5x5 Các khối MaxPool nằm giữa các khối Inception giúp giảm kích thước chiều và số lượng tham số trong quá trình huấn luyện Cuối cùng, phép gộp trung bình toàn cục (Global AveragePool) được áp dụng sau khối Inception cuối cùng để kết nối dữ liệu mà không cần sử dụng nhiều tầng kết nối đầy đủ ở cuối.
Các khối inception là thành phần chính trong mô hình, cho phép sử dụng các bộ lọc với kích thước khác nhau để trích xuất thông tin từ dữ liệu Việc này giúp thu được các vùng thông tin đa dạng, nâng cao khả năng phân loại của mô hình Thêm vào đó, việc áp dụng các tầng tích chập 1×1 lên dữ liệu đầu vào giúp giảm số lượng kênh, từ đó giảm độ phức tạp cho mô hình.
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Hình 3.8 Sơ đồ mô hình Inception-V1
Mô hình Inception-V1 bắt đầu với hình ảnh đầu vào kích thước 256×256 đã được chuẩn hóa, được đưa vào lớp tích chập 7×7 với 64 kênh đầu ra và mặt nạ trượt 2×2 Sau đó, quá trình maxpooling với cửa sổ 3×3 và mặt nạ trượt 2×2 được thực hiện để giảm kích thước ảnh và giữ lại các đặc trưng quan trọng Tiếp theo, hình ảnh được đưa vào lớp tích chập 3×3 với số lượng kênh đầu ra gấp 3 lần đầu vào, tiếp tục với maxpooling tương tự Kích thước tầng thứ hai giảm một nửa, trong khi chiều sâu tăng từ 64 kênh lên 192 kênh Cuối cùng, đầu ra kích thước 32×32×192 được đưa vào hai khối Inception, lần lượt là Inception (3a) và Inception (3b).
Tích chập 7×7 MaxPool 3×3 Tích chập 1×1
AveragePool Dense Đầu vào Đầu ra
Chương 3 trình bày quá trình tính toán và xây dựng mô hình với tổng số kênh là 64+128+32+32%6 Hai nhánh tích chập được thiết kế để giảm chiều sâu với tỉ lệ 96:192 (1:2) và 16:192 (1:12), nhằm giảm lượng kênh đầu vào cho khối tiếp theo Kết quả là kết nối với khối Inception (3b) với số kênh đầu ra là 128+192+96+64H0 Hai nhánh tích chập tiếp theo cũng giảm chiều sâu với tỉ lệ 128:256 (1:2) và 32:256 (1:8).
Hình 3.9 Khối Inception Bảng 3.3 Kiến trúc mô hình Inception-V1 Kích thước kernel/ trượt
Kích thước đầu ra conv 1×1 conv 3×3 reduce conv 3×3 conv 5×5 reduce conv 5×5 Poolproj
Filter Concatenation Ghép các kernel
Tích chập 3×3 Tích chập 5×5 Tích chập 1×1
Lớp trước Tích chập 1×1 Tích chập 1×1 Max pooling
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Sau khi trải qua hai khối Inception, quá trình maxpooling được thực hiện để giảm kích thước đầu ra xuống còn 16×16 với chiều sâu tăng lên 480 kênh Tiếp theo, sau năm khối Inception tiếp theo và một lần maxpooling nữa, kích thước đầu ra giảm xuống còn 8×8, nhưng chiều sâu đạt 1024 kênh Tại giai đoạn này, AvgPooling toàn cục được áp dụng để giảm kích thước mỗi kênh xuống còn 1×1 Cuối cùng, đầu ra được đưa qua lớp Dense với hàm kích hoạt Softmax để tạo ra xác suất dự đoán cuối cùng.
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Mô hình Inception được xây dựng từ nhiều lớp tích chập, do đó cần sử dụng thuật toán tối ưu có hiệu quả hội tụ tốt Nghiên cứu đã chọn Stochastic Gradient Descent (SGD) là thuật toán tối ưu đơn giản nhưng hiệu quả Để cải thiện tốc độ hội tụ và giảm nhiễu Gradient, kỹ thuật Momentum đã được áp dụng Kết hợp SGD với Momentum trong quá trình huấn luyện mô hình Inception giúp nâng cao hiệu suất.
Hình 3.10 Sơ đồ khối mô hình ResNet50
Mô hình ResNet50, được giới thiệu bởi Kaiming He và các cộng sự, là một trong những mô hình CNN học sâu tiên tiến nhất Từ khi ra mắt, ResNet50 đã luôn nằm trong top những mô hình phổ biến nhất trong lĩnh vực học sâu Kiến trúc tổng quát của ResNet50 được minh họa trong Hình 3.10.
Mô hình ResNet50 có 50 lớp, bao gồm 49 lớp tích chập và 1 lớp dense cuối cùng Giai đoạn đầu tiên của mô hình sử dụng một lớp tích chập 7x7, kèm theo lớp chuẩn hóa batch và max pooling để trích xuất các đặc trưng cơ bản của dữ liệu Lớp chuẩn hóa batch đảm bảo rằng đầu ra của lớp có giá trị trung bình bằng 0 và độ lệch chuẩn bằng 1 Các giai đoạn từ 2 đến 5 bao gồm nhiều khối để tăng cường khả năng học của mô hình.
77 Chuẩn hóa batch Max pooling
Khối Identity 5 Khối tích chập
Dense Đầu vào Đầu ra
Trong chương 3, chúng tôi trình bày quá trình tính toán và xây dựng mô hình với các khối identity và khối tích chập 33, giúp giữ kích thước mô hình nhỏ gọn trong khi nắm bắt các đặc trưng sâu và mối liên hệ phức tạp Các lớp average pooling được áp dụng để giảm kích thước đầu vào cho lớp kết nối đầy đủ, đồng thời vẫn bảo toàn thông tin quan trọng Cuối cùng, lớp kết nối đầy đủ sử dụng hàm kích hoạt softmax để thực hiện phân loại nhiều lớp, trong khi các lớp trước đó sử dụng hàm ReLU.
Hình 3.11 Các khối phần dư của mô hình ResNet50
Mô hình học sâu với nhiều lớp sử dụng các khối phần dư, bao gồm khối identity và khối tích chập, giúp giảm nguy cơ biến mất gradient và giữ lại thông tin từ lớp trước thông qua các skip connection Điều này cho phép mô hình học được nhiều đặc trưng hơn và phát triển độ sâu Mỗi khối phần dư bao gồm ba lớp tích chập, kèm theo chuẩn hóa batch và hàm kích hoạt sau mỗi lớp.
Chuẩn hóa batch relu relu
Tích chập Chuẩn hóa batch relu relu
F2(x) a) Khối identity b) Khối tích chập
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
ReLU được áp dụng sau lớp tích chập thứ ba, trong khi khối tích chập sử dụng skip connection qua một lớp tích chập và chuẩn hóa batch Cần lưu ý rằng ở các khối phần dư, số kernel đầu ra của các lớp tích chập vào lớp cộng (add) phải đồng nhất Đối với mô hình ResNet50, thuật toán tối ưu được khảo sát và lựa chọn là Adam Thuật toán Adam kết hợp ưu điểm của RMSprop và Stochastic Gradient Descent, với khả năng tự điều chỉnh tốc độ học tốt, ít nhạy cảm với việc chọn giá trị tốc độ học ban đầu Adam rất phù hợp với các mô hình học sâu như ResNet50, giúp cân bằng giữa hiệu suất và tốc độ huấn luyện.
Hình 3.12 Sơ đồ kiến trúc mô hình ConvNeXt
Hình 3.13 Khối ConvNeXt qua các giai đoạn
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
ConvNeXt là một mô hình tích chập thuần túy được công bố lần đầu vào năm
Mô hình ConvNeXt_Tiny, được xây dựng dựa trên kiến trúc Resnet, là phiên bản nhỏ nhất và đơn giản nhất trong tổng số 5 loại mô hình ConvNeXt: Tiny, Small, Base, Large và Xlarge Trong phần này, chúng tôi sẽ tiến hành xây dựng lại mô hình này, tập trung vào các đặc điểm và thông số của nó.
Khối đầu tiên trong mô hình ConvNeXt là Stem, thực hiện biến đổi đầu vào bằng lớp tích chập 4×4 với độ trượt 4, giúp điều chỉnh kích thước dữ liệu cho các khối ConvNeXt tiếp theo Sau Stem, dữ liệu được đưa vào 3 khối ConvNeXt đầu tiên với 96 kênh đầu ra, nơi mô hình học các đặc trưng cơ bản Mỗi giai đoạn tiếp theo sử dụng phép pooling hoặc tích chập với độ trượt lớn để giảm kích thước đầu ra và tăng số lượng kênh, giảm độ phức tạp và tăng tốc độ tính toán Giai đoạn 2 bao gồm 3 khối ConvNeXt với 192 kênh đầu ra, cho phép mô hình trích xuất các đặc trưng phức tạp hơn Giai đoạn 3, với 9 khối ConvNeXt và 384 kênh, tiếp tục nâng cao khả năng học tập của mô hình Cuối cùng, ở giai đoạn cuối, mô hình trích xuất các đặc trưng cao nhất với 768 kênh đầu ra, chuẩn bị cho kết quả cuối cùng.
Trong mỗi khối ConvNeXt sẽ gồm các thành phần chính như sau:
Tích chập chiều sâu (Depthwise Convolution) là một phương pháp tích chập đặc biệt, trong đó mỗi kênh đầu vào được áp dụng tích chập với bộ lọc riêng biệt Phương pháp này giúp giảm số lượng tham số và khối lượng tính toán, từ đó nâng cao hiệu quả của mô hình.
− Chuẩn hóa lớp (Layer Normalization – LN): đây là phương pháp chuẩn hóa áp
Đánh giá mô hình huấn luyện
Sau khi xây dựng và huấn luyện mô hình, cần áp dụng các phương pháp để đánh giá hiệu năng của nó trên tập dữ liệu mới Việc này được thực hiện trên tập kiểm tra đã được chia trước đó, giúp giảm thiểu khả năng overfitting và tìm ra các chỉ số hiệu quả hơn cho mô hình.
Việc đánh giá mô hình phân loại thường được thực hiện thông qua các phương pháp phổ biến, trong đó có Ma trận nhầm lẫn (Confusion Matrix) Phương pháp này cho phép biểu diễn các trường hợp dự đoán ở các lớp dưới dạng ma trận, từ đó giúp đánh giá độ chính xác của mô hình Hình 3.15 minh họa bốn trường hợp chính sẽ xảy ra trong bài toán phân loại.
− True Positive (TP): đối tượng ở lớp Positive, mô hình phân loại đối tượng vào lớp Positive, dự đoán đúng
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
− True Negative (TN): đối tượng ở lớp Negative, mô hình phân loại đối tượng vào lớp Negative, dự đoán đúng
Hình 3.15 Mô hình ma trận nhầm lẫn
− False Positive (FP): đối tượng ở lớp Negative, mô hình phân loại đối tượng vào lớp Positive, dự đoán sai – Type I Error
− False Negative (FN): đối tượng ở lớp Positive, mô hình phân loại đối tượng vào lớp Negative, dự đoán sai – Type II Error
Bên cạnh đó, để đánh giá một mô hình phân loại còn có bốn thang đo đó là Hàm mất mát, Độ chính xác, Precision và Recall
Hàm mất mát là công cụ toán học quan trọng trong học máy, giúp đánh giá sự khác biệt giữa giá trị dự đoán của mô hình và giá trị thực tế Khi giá trị mất mát giảm, điều này cho thấy mô hình đang được huấn luyện một cách hiệu quả.
− Độ chính xác được định nghĩa là tỷ lệ phần trăm dự đoán đúng so với toàn bộ dự đoán Độ chính xác được tính bằng công thức sau:
C HƯƠNG 3 T ÍNH TOÁN VÀ XÂY DỰNG MÔ HÌNH
Precision là tỷ lệ phần trăm dự đoán chính xác trong số các dự đoán được phân loại là Positive Công thức tính precision (3.7) cho thấy rằng giá trị precision cao đồng nghĩa với việc có nhiều điểm được phân loại chính xác hơn.
Recall, hay còn gọi là độ nhạy, được định nghĩa là tỷ lệ giữa số dự đoán chính xác và số kết quả thực tế, theo công thức (3.8) Giá trị recall cao cho thấy tỷ lệ dự đoán đúng so với thực tế lớn, đồng nghĩa với việc dự đoán gần sát với kết quả thực tế hơn.
Precision và Recall là hai chỉ số quan trọng trong các bài toán phân loại không đồng đều Tuy nhiên, giá trị của chúng thường không đồng nhất, dẫn đến việc một mô hình có thể có precision cao nhưng recall thấp, hoặc ngược lại Điều này gây khó khăn trong việc đánh giá chất lượng mô hình Để giải quyết vấn đề này, F1-score được sử dụng như một thang đo kết hợp giữa precision và recall, giúp đánh giá chính xác hơn cả hai chỉ số này Công thức tính F1-score được thể hiện dưới đây.
Ma trận nhầm lẫn có kích thước 3x3, tương ứng với 3 phân loại tổn thương trong bộ dữ liệu Độ chính xác của mô hình được thể hiện trên đường chéo của ma trận, cho thấy số lượng dự đoán đúng (ma trận chưa được chuẩn hóa) và tỷ lệ dự đoán đúng (ma trận đã được chuẩn hóa) cho mỗi phân loại.
KẾT QUẢ – NHẬN XÉT – ĐÁNH GIÁ
Kết quả huấn luyện các mô hình dựa trên các phương pháp tiền xử lý dữ liệu
Bài viết này trình bày việc huấn luyện các tập dữ liệu thông qua các phương pháp tiền xử lý khác nhau, đồng thời cố định các giá trị siêu tham số Các trường hợp bao gồm việc chuẩn hóa dữ liệu, tăng cường dữ liệu và kết hợp mặt nạ phân đoạn tổn thương, được thể hiện rõ qua Hình 4.1 dưới đây.
Hình 4.1 Sơ đồ huấn luyện mô hình bằng các phương pháp tiền xử lý khác nhau
4.1.1 Kết quả huấn luyện trên mô hình Inception-V1
Huấn luyện trên tập dữ liệu gốc
Mô hình Inception-V1 có tổng cộng 5.976.627 tham số cần học Khi chỉ áp dụng chuẩn hóa cho tập dữ liệu mà không thực hiện tăng cường dữ liệu hay phân đoạn hình ảnh, hiệu quả huấn luyện của mô hình không đạt yêu cầu Để tối ưu hóa kết quả, cần kết hợp giữa tăng cường và chuẩn hóa dữ liệu đầu vào.
Ghép kênh bao gồm ba sơ đồ huấn luyện quan trọng: đầu tiên, sơ đồ huấn luyện trên tập dữ liệu gốc, giúp xây dựng mô hình từ dữ liệu ban đầu; tiếp theo, sơ đồ huấn luyện trên tập dữ liệu tăng cường, nhằm cải thiện độ chính xác và khả năng tổng quát của mô hình; cuối cùng, sơ đồ huấn luyện trên tập dữ liệu có mặt nạ phân đoạn tổn thương, cho phép mô hình nhận diện và phân tích các vùng tổn thương một cách hiệu quả.
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Hình 4.2 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình
Inception-V1 (tập dữ liệu gốc)
Các thông số đánh giá cho tập kiểm tra được thể hiện như Bảng 4.1
Bảng 4.1 Các thông số đánh giá mô hình Inception-V1 (tập dữ liệu gốc) Hàm mất mát Độ chính xác Precision Recall F1 score
Hình 4.3 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình Inception-
Dựa vào ma trận nhầm lẫn (Hình 4.3), mô hình phân loại đã phân loại tất cả dữ liệu vào lớp phân loại mel, lớp này có tỉ lệ dữ liệu cao nhất, vượt trội hơn so với các lớp phân loại khác.
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Huấn luyện trên tập dữ liệu tăng cường
Mô hình Inception-V1 có 5.976.627 tham số khi được huấn luyện trên tập dữ liệu đã được tăng cường, tương tự như khi sử dụng tập gốc Mặc dù dữ liệu đã được tăng cường trước huấn luyện, nhưng kết quả không cho thấy sự cải thiện Điều này cho thấy mô hình huấn luyện không hiệu quả.
Hình 4.4 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình
Các thông số đánh giá cho tập kiểm tra mô hình Inception-V1 với dữ liệu tăng cường được trình bày trong Bảng 4.2, bao gồm các chỉ số quan trọng như hàm mất mát, độ chính xác, precision, recall và F1 score.
Hình 4.5 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình Inception-
V1 (tập dữ liệu tăng cường)
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Dựa trên Hình 4.3 và Hình 4.5, ma trận nhầm lẫn khi huấn luyện với dữ liệu tăng cường cho thấy kết quả tương tự như với dữ liệu gốc Điều này chỉ ra rằng mô hình không đạt hiệu quả cao mặc dù đã có sự cải thiện trong tập dữ liệu.
Huấn luyện trên tập dữ liệu có mặt nạ phân đoạn tổn thương
Mô hình Inception-V1 được huấn luyện trên tập dữ liệu có mặt nạ phân đoạn tổn thương với tổng cộng 5.979.763 tham số, khác biệt so với việc huấn luyện trên bộ dữ liệu gốc Sự khác biệt này xuất phát từ việc đầu vào có thêm một kênh chứa mặt nạ phân đoạn tổn thương, dẫn đến số lượng tham số tăng lên Tuy nhiên, kết quả huấn luyện không cải thiện, cho thấy mô hình huấn luyện không đạt hiệu quả như mong đợi.
Hình 4.6 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình
Inception-V1 (tập dữ liệu có mặt nạ phân đoạn tổn thương)
Các thông số đánh giá cho tập kiểm tra được thể hiện như Bảng 4.3
Bảng 4.3 Các thông số đánh giá mô hình Inception-V1 (tập dữ liệu có mặt nạ phân đoạn tổn thương) Hàm mất mát Độ chính xác Precision Recall F1 score
Mô hình huấn luyện trên tập dữ liệu có mặt nạ phân đoạn tổn thương không đạt hiệu quả cao như khi sử dụng dữ liệu gốc, với kết quả phân loại không tập trung vào lớp mel Phân loại được rải ra 2 lớp khác nhưng không đáng kể và thiếu chính xác, cho thấy mô hình hoạt động không hiệu quả.
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Hình 4.7 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình Inception-
V1 (tập dữ liệu có mặt nạ phân đoạn tổn thương)
Kết luận: Qua ba lần huấn luyện, chúng ta nhận thấy rằng dù có cải thiện tập dữ liệu như thế nào, kết quả huấn luyện vẫn không có sự tiến bộ Điều này cho thấy mô hình không phù hợp với bộ dữ liệu hiện tại.
4.1.2 Kết quả huấn luyện trên mô hình ResNet50
Huấn luyện trên tập dữ liệu gốc
Mô hình ResNet50 có tổng cộng 59.093.255 tham số cần học Số epoch ban đầu được cài đặt là 50, tuy nhiên, quá trình huấn luyện đã được ngừng lại ở epoch thứ 19 nhờ vào callback early stopping Trong giai đoạn huấn luyện, độ chính xác tăng nhanh trong 4 epoch đầu tiên, sau đó có sự thay đổi chậm hơn, trong khi giá trị của tập kiểm định dao động với biên độ cao hơn Đồng thời, giá trị hàm mất mát cũng giảm nhanh chóng trong quá trình này.
7 epoch đầu tiên và hội tụ dần về sau
Hình 4.8 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Các thông số đánh giá cho tập kiểm tra được thể hiện như Bảng 4.4
Bảng 4.4 Các thông số đánh giá mô hình ResNet50 (tập dữ liệu gốc)
Hàm mất mát Độ chính xác Precision Recall F1 score
Theo ma trận nhầm lẫn, phân loại tổn thương hắc tố ác tính (mel) đạt hiệu suất cao với chỉ 7,8% nhầm lẫn sang ung thư biểu mô tế bào đáy (bcc) Ngược lại, phân loại ung thư biểu mô tế bào đáy có hiệu suất khá với 73% dự báo chính xác, nhưng vẫn có sai sót do nhầm lẫn sang ung thư hắc tố da ác tính Đối với tổn thương mạch máu (vasc), mô hình không đưa ra bất kỳ dự đoán nào.
Hình 4.9 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ResNet50
Huấn luyện trên tập dữ liệu tăng cường
Hình 4.10 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình
Trong chương 4, kết quả cho thấy ResNet50 có thời gian học dài hơn khi sử dụng dữ liệu chưa được tăng cường, với quá trình dừng sớm ở epoch thứ 29 Hình 4.10 minh họa rằng độ chính xác và hàm mất mát trên tập huấn luyện có sự cải thiện rõ rệt và hội tụ nhanh chóng Mặc dù các giá trị trên tập kiểm định không ổn định và có sự biến động lớn, nhưng nhìn chung, tập kiểm thử vẫn cho thấy mô hình có sự hội tụ.
Các thông số đánh giá cho tập kiểm tra được thể hiện như Bảng 4.5
Bảng 4.5 Các thông số đánh giá mô hình ResNet50 (tập dữ liệu tăng cường) Hàm mất mát Độ chính xác Precision Recall F1 score
Hình 4.11 Ma trận nhầm lẫn và ma trận nhầm lẫn chuẩn hóa của mô hình ResNet50
(tập dữ liệu tăng cường)
Các ma trận nhầm lẫn cho thấy mô hình đã cải thiện độ chính xác trong phân loại bệnh, đặc biệt là ung thư biểu mô tế bào đáy (bcc) và tổn thương mạch máu (vasc) Đặc biệt, độ chính xác trong dự đoán tổn thương mạch máu đã tăng từ 0% lên 90% nhờ vào việc tăng cường dữ liệu, giảm thiểu sự mất cân bằng dữ liệu Tuy nhiên, độ chính xác trong phân loại ung thư hắc tố da ác tính (mel) lại giảm do sự nhầm lẫn với ung thư biểu mô tế bào đáy, trong khi không có sự nhầm lẫn giữa ung thư hắc tố da ác tính và tổn thương mạch máu.
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Huấn luyện trên tập có mặt nạ phân đoạn tổn thương
Mô hình đạt hiệu quả cao hơn khi dữ liệu được cân bằng, do đó đã được huấn luyện trên tập dữ liệu đã qua tăng cường và sử dụng mặt nạ phân đoạn vùng tổn thương Các giá trị độ chính xác và hàm mất mát trong tập huấn luyện thay đổi ổn định, trong khi đó, tập kiểm định cho thấy sự biến động mạnh qua các epoch Tuy nhiên, nhìn chung, mô hình vẫn có sự hội tụ trên cả tập huấn luyện và kiểm định (Hình 4.12).
Hình 4.12 Đồ thị độ chính xác và hàm mất mát của quá trình huấn luyện mô hình
ResNet50 (bổ sung mặt nạ phân đoạn vùng tổn thương)
Các thông số đánh giá cho tập kiểm tra được thể hiện như Bảng 4.6
Bảng 4.6 Các thông số đánh giá mô hình ResNet50 (tập dữ liệu có mặt nạ phân đoạn tổn thương) Hàm mất mát Độ chính xác Precision Recall F1 score
Kết quả huấn luyện dựa trên việc điều chỉnh các siêu tham số
Trong phần này, chúng ta sẽ điều chỉnh hai siêu tham số quan trọng là tốc độ học ban đầu và kích thước batch, vì chúng ảnh hưởng lớn đến hiệu suất và tốc độ huấn luyện của mô hình Tốc độ học sẽ được tối ưu hóa trong suốt quá trình học, do đó việc xác định tốc độ học ban đầu phù hợp là rất cần thiết Đồng thời, kích thước batch cũng cần được lựa chọn cẩn thận, đảm bảo phù hợp với kích thước tập dữ liệu, không nên quá lớn để tránh ảnh hưởng đến hiệu quả huấn luyện.
Chương 4 Kết quả – Nhận xét – Đánh giá không nên quá nhỏ Đề tài sẽ huấn luyện các mô hình với kết quả tốt nhất được chọn ở mục trước bằng cách áp dụng các phương pháp tiền xử lý dữ liệu phù hợp Đối với mô hình Inception-V1, do không phù hợp với tập dữ liệu, đề tài sẽ không tiến hành điều chỉnh trong phần này.
4.2.1 Phương thức điều chỉnh các siêu tham số Đầu tiên, thực hiện thay đổi giá trị kích thước batch và giữ nguyên giá trị các siêu tham số còn lại Tập dữ liệu đề tài sử dụng có kích thước nhỏ do đó kích thước batch phù hợp sẽ ở các mức nhỏ Tiến hành thay đổi kích thước batch và huấn luyện, bắt đầu bằng 8 sau đó tăng dần lên cho đến khi mô hình đạt ở kết quả tốt nhất Nếu huấn luyện đến kích thước batch tốt nhất thì khi tăng kích thước batch, kết quả sau khi huấn luyện mô hình sẽ trở nên tệ hơn Sử dụng các thông số đánh giá mô hình trên tập kiểm tra như giá trị hàm mất mát, độ chính xác, Precision, Recall và F1-score để đánh giá và lựa chọn ra giá trị kích thước batch tốt và phù hợp nhất với mô hình đang huấn luyện
Sau khi xác định được kích thước batch tối ưu, hãy giữ lại giá trị này và thử nghiệm với các tốc độ học 0,001, 0,0001 và 0,00001 Tiến hành huấn luyện và sử dụng các chỉ số đánh giá đã đề cập để lựa chọn tốc độ học phù hợp nhất cho mô hình được huấn luyện trong đề tài.
4.2.2 Kết quả huấn luyện trên mô hình Resnet50
Sau khi huấn luyện mô hình với 4 kích thước batch khác nhau, ta được kết quả huấn luyện như Bảng 4.13
Bảng 4.13 Thông số đánh giá mô hình ResNet50 thông qua tinh chỉnh kích thước batch
Hàm mất mát 0,39 0,34 0,32 0.4 Độ chính xác (%) 83,4 87,55 88,68 86,42
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Kết quả huấn luyện cho thấy kích thước batch 32 mang lại hiệu suất tốt nhất cho mô hình Với giá trị batch này, chúng tôi đã tiến hành huấn luyện mô hình với ba tốc độ học ban đầu khác nhau, và kết quả được trình bày trong Bảng 4.14.
Bảng 4.14 Thông số đánh giá mô hình ResNet50 thông qua tinh chỉnh tốc độ học ban đầu Tốc độ học
Hàm mất mát 0,32 0,25 0,41 Độ chính xác (%) 88,68 91,32 86,04
Từ kết quả huấn luyện ta thấy được với tốc độ học ban đầu bằng 0,0001 thì mô hình cho ra kết quả tốt nhất
Kết luận: Mô hình ResNet50 sẽ đạt hiệu quả huấn luyện tốt nhất khi huấn luyện với kích thước batch bằng 32 và tốc độ học ban đầu bằng 0,0001
4.2.3 Kết quả huấn luyện trên mô hình ConvNeXt_Tiny
Sau khi huấn luyện mô hình với 3 kích thước batch khác nhau, ta được kết quả huấn luyện như Bảng 4.15
Từ kết quả huấn luyện ta thấy được mọi thông số đánh giá đối với giá trị batch
Chương 4 trình bày kết quả, nhận xét và đánh giá với kích thước batch là 16, trong đó mô hình được huấn luyện với ba giá trị tốc độ học khác nhau Kết quả huấn luyện được tóm tắt trong Bảng 4.16.
Bảng 4.15 Thông số đánh giá mô hình ConvNeXt_Tiny thông qua tinh chỉnh kích thước batch
Hàm mất mát 0,99 0,4 0,44 Độ chính xác (%) 63,02 83,77 82,64
Bảng 4.16 Thông số đánh giá mô hình ConvNext_Tiny thông qua tinh chỉnh tốc độ học ban đầu
Hàm mất mát 0,4 0,32 0,82 Độ chính xác (%) 83,77 89,06 63,02
Từ kết quả huấn luyện ta thấy được với tốc độ học bằng 0,0001 thì mô hình cho ra kết quả tốt nhất
Kết luận: Mô hình ConvNeXt_Tiny sẽ đạt hiệu quả huấn luyện tốt nhất khi huấn luyện với kích thước batch bằng 16 và tốc độ học bằng 0,0001
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
4.2.4 Kết quả huấn luyện trên mô hình ViT
Sau khi huấn luyện mô hình với 4 kích thước batch khác nhau, ta được kết quả huấn luyện như Bảng 4.17
Bảng 4.17 Thông số đánh giá mô hình ViT thông qua tinh chỉnh kích thước batch
Kích thước batch Thông số
Hàm mất mát 0,56 0,51 0,46 0,51 Độ chính xác
Kết quả huấn luyện cho thấy kích thước batch 32 mang lại hiệu suất tốt nhất cho mô hình Với giá trị batch này, mô hình đã được huấn luyện với ba tốc độ học ban đầu khác nhau, và kết quả được trình bày trong Bảng 4.18.
Bảng 4.18 Thông số đánh giá mô hình ViT thông qua tinh chỉnh tốc độ học ban đầu
Hàm mất mát 0,46 0,44 0,53 Độ chính xác (%) 87,55 86,04 78,11
Từ kết quả huấn luyện ta thấy được với tốc độ học bằng 0,001 thì mô hình cho
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Kết luận: Mô hình ViT sẽ đạt hiệu quả huấn luyện tốt nhất khi huấn luyện với kích thước batch bằng 32 và tốc độ học ban đầu bằng 0,001.
So sánh các mô hình đã thực hiện huấn luyện
Qua việc huấn luyện ba mô hình Resnet50, ConvNeXt_Tiny và ViT với phương pháp tiền xử lý dữ liệu và các giá trị siêu tham số tối ưu, chúng tôi đã đạt được kết quả huấn luyện được trình bày trong Bảng 4.19 và ma trận nhầm lẫn chuẩn hóa như trong Hình 4.26.
Bảng 4.19 Bảng so sánh kết quả phân loại của các mô hình đã thực hiện
Thông số Resnet50 ConvNeXt_Tiny ViT
Số tham số cần học 59 092 739 27 822 435 14 556 355
Hàm mất mát 0,25 0,32 0,46 Độ chính xác (%) 91,32 89,06 87,55
Mô hình ResNet50 có số tham số cần học cao nhất trong khi ViT có số tham số thấp nhất Thời gian huấn luyện dài nhất thuộc về ConvNeXt_Tiny, trong khi ViT có thời gian huấn luyện ngắn nhất, và ResNet50 là mô hình có thời gian huấn luyện ngắn thứ hai Về các chỉ số đánh giá, ResNet50 đạt kết quả tốt nhất với giá trị hàm mất mát là 0,25, độ chính xác 91,32% và F1-score 91,28%.
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Mô hình Resnet50 đã đạt được kết quả tốt nhất trong việc phân loại với tỷ lệ dự đoán cao và cân bằng qua ma trận nhầm lẫn Hình 4.26 trình bày các ma trận nhầm lẫn đã được chuẩn hóa của ba mô hình được so sánh.
Hình 4.26 Ma trận nhầm lẫn (chuẩn hóa) của 3 mô hình ResNet50,
Kết luận, mô hình Resnet50 đạt kết quả huấn luyện tốt nhất, cho thấy đây là lựa chọn phù hợp nhất cho tập dữ liệu trong đề tài so với hai mô hình còn lại.
Kết quả phân loại của mô hình ResNet50
Hình 4.27 đến Hình 4.29 trình bày kết quả phân loại ba loại tổn thương da khác nhau, bao gồm bcc, mel và vasc, sử dụng mô hình ResNet50 mà nhóm đã huấn luyện Ảnh được tải lên từ máy tính, trải qua quá trình tiền xử lý trước khi được đưa vào mô hình ResNet50, cùng với các mô hình ConvNeXt_tiny và ViT.
Chương 4 trình bày kết quả, nhận xét và đánh giá quá trình huấn luyện mô hình phân loại Thời gian tải ảnh phụ thuộc vào kích thước ảnh, trong khi thời gian phân loại cho mỗi ảnh dao động từ 26 đến 28 mili giây Kết quả phân tích cho thấy tỷ lệ phần trăm dự đoán cho từng loại tổn thương, được sắp xếp theo khả năng từ cao nhất đến thấp nhất.
Hình 4.27 Một kết quả phân loại bằng mô hình ResNet50 (bcc)
Hình 4.28 Một kết quả phân loại bằng mô hình ResNet50 (mel)
C HƯƠNG 4 K ẾT QUẢ – N HẬN XÉT – Đ ÁNH GIÁ
Hình 4.29 Một kết quả phân loại bằng mô hình ResNet50 (vasc)
So sánh kết quả phân loại của đề tài với các nghiên cứu khác
Bảng 4.20 So sánh kết quả mô hình phân loại của đề tài với các nghiên cứu khác
Shetty và các cộng sự [17]
CNN sử dụng kỹ thuật k-Fold Cross
Hao và các cộng sự [18]
Al-masni và các cộng sự