Bối cảnh và vấn đề nghiên cứu

Đại dịch COVID-19 bộc lộ sự thiếu hụt nghiêm trọng về nguồn nhân lực trong hệ thống y tế toàn cầu, đặt ra yêu cầu cấp thiết về việc phát triển các công cụ tự động hóa nhằm giảm tải áp lực công việc cho đội ngũ y bác sĩ. Bên cạnh COVID-19, các bệnh lý về phổi là một trong những nguyên nhân hàng đầu gây tử vong ở nhiều quốc gia. Việc chẩn đoán sớm và điều trị kịp thời đóng vai trò quyết định trong việc giảm thiểu mức độ nguy hiểm và nâng cao tỷ lệ sống sót của người bệnh. Trong thực hành lâm sàng, ảnh chụp X-quang lồng ngực là phương pháp chẩn đoán hình ảnh phổ biến và thông dụng nhất. Tuy nhiên, quy trình đọc và phân tích ảnh X-quang đòi hỏi bác sĩ chuyên khoa phải có trình độ chuyên môn cao cùng nhiều năm kinh nghiệm, đồng thời vẫn tiềm ẩn nguy cơ sai sót do yếu tố chủ quan hoặc quá tải công việc. Nhằm khắc phục hạn chế này, các hệ thống Hỗ trợ phát hiện bằng máy tính (Computer Aided Detection - CAD) được nghiên cứu và ứng dụng nhằm cung cấp ý kiến tham khảo thứ hai (second opinion), hỗ trợ bác sĩ phát hiện các tổn thương tinh vi trên phim chụp với độ tin cậy cao.

Khóa luận tốt nghiệp của tác giả Lê Trường Long tập trung giải quyết bài toán phân loại ảnh chụp X-quang phổi phục vụ công tác chẩn đoán bệnh lý thông qua các kỹ thuật học máy và học sâu. Các nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Nghiên cứu tổng quan về bài toán phân loại ảnh y tế, đánh giá ưu nhược điểm của các hướng tiếp cận học máy truyền thống và học sâu để lựa chọn mô hình tối ưu.
  2. Hệ thống hóa cơ sở lý thuyết về mạng nơ-ron nhân tạo (ANN), mạng nơ-ron tích chập (CNNs), các kỹ thuật tiền xử lý, tăng cường dữ liệu, chính quy hóa và thuật toán tối ưu hóa.
  3. Thu thập bộ dữ liệu ảnh X-quang phổi, thực hiện chuẩn hóa và áp dụng các kỹ thuật tăng cường dữ liệu phục vụ huấn luyện.
  4. Xây dựng, thiết kế kiến trúc và huấn luyện hai mô hình mạng tích chập (CNNs1 và CNNs2) phục vụ bài toán phân loại 3 lớp bệnh lý.
  5. Đánh giá hiệu năng mô hình thông qua phương pháp kiểm chứng chéo 10-fold (Stratified K-Fold) và các chỉ số đo lường học máy.
  6. Xây dựng chương trình ứng dụng (giao diện web) tích hợp mô hình thu được để thực hiện chẩn đoán trực quan trên ảnh X-quang.
  • Đối tượng nghiên cứu: Ảnh chụp X-quang lồng ngực thuộc 3 nhóm đối tượng: người bình thường (Normal), người mắc viêm phổi (Pneumonia) và người mắc COVID-19 (COVID).
  • Phạm vi nghiên cứu:
    • Phạm vi dữ liệu: Bộ dữ liệu hình ảnh mở được thu thập từ nền tảng Kaggle với tổng số 5.545 ảnh X-quang.
    • Phạm vi không gian và thời gian: Đề tài được thực hiện tại Khoa Công nghệ Thông tin 1, Học viện Công nghệ Bưu chính Viễn thông, hoàn thành vào tháng 12 năm 2021.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng lý thuyết thị giác máy tính và học máy có giám sát (Supervised Learning), khảo sát các phương pháp phân loại chính và đi sâu vào mạng nơ-ron tích chập:

  • Phân loại Naive Bayes (NBC): Dựa trên định lý Bayes về xác suất có điều kiện: $$P(\text{class} \mid \text{feature set}) = \frac{P(\text{feature set} \mid \text{class}) P(\text{class})}{P(\text{feature set})}$$ Thuật toán giả định tính độc lập có điều kiện giữa các thuộc tính mô tả. Mặc dù tốc độ tính toán nhanh và yêu cầu tập dữ liệu huấn luyện nhỏ, giả định độc lập hiếm khi thỏa mãn trong ảnh thực tế, dẫn đến độ chính xác hạn chế.
  • Thuật toán K láng giềng gần nhất (k-NN): Phương pháp học dựa trên ví dụ (instance-based learning / lazy learning), không xây dựng hàm mục tiêu tường minh mà phân loại mẫu mới dựa trên đa số nhãn của $k$ mẫu lân cận có khoảng cách Ơclit (Euclidean distance) nhỏ nhất: $$d(x_i, x_j) = \sqrt{\sum_{r=1}^{n} \left(a_r(x_i) - a_r(x_j)\right)^2}$$ Thuật toán có cấu trúc trực quan nhưng nhạy cảm với nhiễu ngoại lai và chi phí tính toán tăng mạnh theo quy mô dữ liệu.
  • Cây quyết định (Decision Tree - DT): Kỹ thuật học quy nạp phi tham số cấu trúc phân cấp (gốc, nút nhánh, lá). Nghiên cứu đề cập thuật toán ID3 của Ross Quinlan sử dụng độ hỗn loạn Entropy và Độ tăng thông tin (Information Gain - IG) để chọn thuộc tính phân chia tại mỗi nút: $$H(S) = -\sum_{i=1}^{C} P_i \log_2 P_i$$ $$IG(S, A) = H(S) - \sum_{v \in \text{Values}(A)} \frac{|S_v|}{|S|} H(S_v)$$ Hạn chế của cây quyết định là dễ rơi vào trạng thái quá khớp (overfitting) và thiếu ổn định khi cấu trúc dữ liệu thay đổi nhỏ.
  • Mạng nơ-ron tích chập (CNNs): Mô hình học sâu xử lý dữ liệu dạng mảng đa chiều thông qua cơ chế tự động trích xuất đặc trưng phân cấp, khắc phục hạn chế của việc trích xuất thủ công:
    • Lớp tích chập (Convolutional layer): Sử dụng các bộ lọc (kernel) trượt qua ảnh đầu vào để tạo bản đồ đặc trưng (feature map). Kích thước đầu ra được xác định theo công thức: $$h' = \left\lfloor \frac{h - f + 2p}{s} \right\rfloor + 1, \quad w' = \left\lfloor \frac{w - f + 2p}{s} \right\rfloor + 1$$ (trong đó $h, w$ là kích thước ảnh đầu vào; $f$ là kích thước bộ lọc; $p$ là phần đệm padding; $s$ là bước trượt stride).
    • Lớp kích hoạt ReLU: Áp dụng hàm phi tuyến $f(u) = \max(0, u)$ nhằm chuyển toàn bộ giá trị âm về 0, giảm tải tính toán và tăng tốc độ hội tụ.
    • Lớp gộp (Pooling layer): Thực hiện lấy mẫu con (chủ yếu là Max Pooling) để giảm chiều không gian và giảm thiểu 75% thông tin dư thừa, hỗ trợ tính bất biến với biến dạng hình học: $$h' = \left\lfloor \frac{h - f}{s} \right\rfloor + 1, \quad w' = \left\lfloor \frac{w - f}{s} \right\rfloor + 1$$
    • Lớp kết nối đầy đủ (Fully Connected layer): Duỗi thẳng (flatten) dữ liệu từ các lớp trước và kết nối toàn bộ nơ-ron để thực hiện phân loại ở đầu ra bằng hàm Softmax.
  • Các kỹ thuật tối ưu và chính quy hóa (Regularization):
    • Dropout: Ngắt kết nối ngẫu nhiên một tỷ lệ nơ-ron trong từng chu kỳ huấn luyện nhằm phân bổ đều trọng số và giảm phụ thuộc chéo.
    • Chuẩn hóa theo lô (Batch Normalization): Chuẩn hóa đầu ra ở từng lớp theo phân phối Gaussian, giảm thiểu hiện tượng dịch chuyển hiệp phương sai nội bộ (internal covariate shift), ngăn chặn triệt tiêu đạo hàm (vanishing gradient) và hỗ trợ mô hình hội tụ nhanh.
    • Thuật toán tối ưu: Gradient Descent và Adam (Adaptive Moment Estimation) sử dụng các ước lượng moment bậc một và bậc hai của gradient để cập nhật trọng số hiệu quả.
  • Kiến trúc tham chiếu VGG (Visual Geometry Group): Khảo sát các cấu hình chuẩn VGG-16 và VGG-19 với bộ lọc tích chập nhỏ $3 \times 3$, bước trượt 1 pixel và các lớp Max-pooling $2 \times 2$.

Thiết kế và triển khai

Môi trường và công cụ phát triển

Hệ thống thực nghiệm và huấn luyện mô hình được thiết lập trên cấu hình phần cứng và nền tảng phần mềm cụ thể:

Thành phần Thông số kỹ thuật / Phiên bản
Hệ điều hành Windows 10 Pro
Bộ vi xử lý (CPU) Intel Core i5-9400 (2.9GHz, 6 nhân 6 luồng)
Card đồ họa (GPU) NVIDIA GeForce GTX 1660
Bộ nhớ RAM 16 GB
Ngôn ngữ & Nền tảng Python (ghi nhận phiên bản 3.3 trong báo cáo), Anaconda Distribution
Môi trường lập trình Jupyter Notebook
Thư viện học sâu TensorFlow, Keras
Thư viện phân tích & đánh giá Scikit-learn (sklearn), NumPy, Matplotlib

Dữ liệu và quy trình tiền xử lý

Tập dữ liệu ảnh X-quang thu thập từ nguồn mở Kaggle gồm 5.545 ảnh thuộc 3 nhóm nhãn:

  • Thư mục COVID: 2.000 ảnh.
  • Thư mục Normal (người bình thường): 2.200 ảnh.
  • Thư mục Pneumonia (người mắc viêm phổi): 1.345 ảnh.

Dữ liệu được tổ chức thành các tập train và test phục vụ kiểm định:

  • Tập Train (4.991 ảnh): COVID: 1.800 ảnh; Pneumonia: 1.211 ảnh; Normal: 1.980 ảnh.
  • Tập Test (554 ảnh): COVID: 200 ảnh; Pneumonia: 134 ảnh; Normal: 220 ảnh.

Quy trình tăng cường dữ liệu (Data Augmentation) được cấu hình thông qua lớp ImageDataGenerator của Keras với các thông số:

  • rescale: Chia giá trị điểm ảnh [0, 255] về đoạn [0, 1].
  • zoom_range: Thu phóng ngẫu nhiên 20% biên độ.
  • width_shift_range: Dịch chuyển ngang ngẫu nhiên 10% chiều rộng ảnh.
  • height_shift_range: Dịch chuyển dọc ngẫu nhiên 10% chiều cao ảnh.

Kiến trúc các mô hình thử nghiệm

Đề tài tiến hành thiết kế và huấn luyện hai kiến trúc mạng nơ-ron tích chập tùy biến:

  1. Mô hình CNNs1:

    • Đầu vào: Ảnh kích thước $(224, 224, 3)$.
    • Khối tích chập 1: 2 lớp Conv2D (32 bộ lọc) $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(111, 111, 32)$).
    • Khối tích chập 2: 2 lớp Conv2D (64 bộ lọc) $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(54, 54, 64)$).
    • Khối tích chập 3: 2 lớp Conv2D (128 bộ lọc) $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(26, 26, 128)$).
    • Khối kết nối đầy đủ: Lớp Flatten (86.528 đặc trưng) $\rightarrow$ Dense 128 $\rightarrow$ Dropout $\rightarrow$ Dense 64 $\rightarrow$ Dropout $\rightarrow$ Dense 32 $\rightarrow$ Dropout $\rightarrow$ Dense 3 (phân loại 3 lớp).
  2. Mô hình CNNs2:

    • Được mở rộng độ sâu và tích hợp thêm các lớp chuẩn hóa theo lô:
    • Khối tích chập 1: 2 lớp Conv2D (32 bộ lọc) $\rightarrow$ BatchNormalization $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(111, 111, 32)$).
    • Khối tích chập 2: 2 lớp Conv2D (32 bộ lọc) $\rightarrow$ BatchNormalization $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(54, 54, 32)$).
    • Khối tích chập 3: 2 lớp Conv2D (64 bộ lọc) $\rightarrow$ BatchNormalization $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(26, 26, 64)$).
    • Khối tích chập 4: 2 lớp Conv2D (64 bộ lọc) $\rightarrow$ BatchNormalization $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(12, 12, 64)$).
    • Khối tích chập 5: 2 lớp Conv2D (128 bộ lọc) $\rightarrow$ MaxPooling2D $\rightarrow$ Dropout (shape: $(5, 5, 128)$).
    • Khối kết nối đầy đủ: Flatten (3.200 đặc trưng) $\rightarrow$ Dense 128 $\rightarrow$ Dropout $\rightarrow$ Dense 64 $\rightarrow$ Dropout $\rightarrow$ Dense 32 $\rightarrow$ Dropout $\rightarrow$ Dense 3.

Xây dựng ứng dụng web tương tác

Khóa luận triển khai một ứng dụng web (webapp) cho phép tương tác trực tiếp với mô hình:

  • Kịch bản sử dụng: Người dùng truy cập giao diện chính, thực hiện tải tệp ảnh X-quang phổi từ máy tính lên hệ thống.
  • Xử lý dự đoán: Hệ thống tiếp nhận ảnh, đưa qua mô hình học sâu đã lưu để thực hiện tính toán xác suất.
  • Hiển thị kết quả: Giao diện xuất kết quả chẩn đoán phân loại tương ứng với ảnh kèm thông tin định danh bệnh lý.

Nội dung chính theo từng chương

Chương 1: Bài toán phân loại hình ảnh x-quang phổi

Chương 1 thiết lập bối cảnh nghiên cứu, định nghĩa bài toán phân loại ảnh X-quang lồng ngực hỗ trợ y tế và phân tích tổng quan các hướng tiếp cận học máy. Tác giả tiến hành so sánh đối chuẩn 4 phương pháp phân loại phổ biến:

Phương pháp Ưu điểm Nhược điểm
Naive Bayes (NBC) Đơn giản, tính toán nhanh, yêu cầu tập huấn luyện nhỏ Giả định độc lập thuộc tính hiếm khi đúng trong thực tế, dẫn đến kết quả phân loại kém
K láng giềng gần nhất (k-NN) Độ chính xác tương đối cao, thích ứng nhanh với thay đổi dữ liệu đầu vào Rất nhạy cảm với yếu tố ngoại lai, không xử lý được giá trị thiếu, tốn bộ nhớ lưu trữ và tính toán chậm khi dữ liệu lớn
Cây quyết định (DT) Không đòi hỏi tiền xử lý phức tạp, không cần chuẩn hóa dữ liệu, mô hình trực quan dễ giải thích Dễ bị quá khớp (overfit), nhạy cảm với biến động dữ liệu, chi phí đào tạo lớn
Mạng tích chập (CNNs) Độ chính xác cao, tự động học và trích xuất đặc trưng phức tạp không cần giám sát thủ công Kiến trúc phức tạp, tốn thời gian huấn luyện và đòi hỏi cấu hình phần cứng xử lý mạnh

Từ yêu cầu cốt lõi về độ chính xác trong chẩn đoán y tế, tác giả đề xuất lựa chọn mạng nơ-ron tích chập (CNNs) làm phương pháp trọng tâm của đồ án.

Chương 2: Phân loại ảnh x-quang bằng mạng nơ ron tích chập CNNs

Chương 2 trình bày chi tiết cơ sở lý thuyết và toán học của mạng nơ-ron nhân tạo và CNNs. Nội dung tập trung vào:

  • Lịch sử hình thành kiến trúc từ mô hình sinh học, Neocognitron (1980) đến LeNet-5 (1989).
  • Nguyên lý vận hành của 4 lớp nơ-ron cơ bản: Lớp tích chập (tính toán tích chập hạt nhân, padding, stride), lớp phi tuyến ReLU, lớp gộp Max-pooling và lớp kết nối đầy đủ (FC).
  • Phân tích hiện tượng suy giảm đạo hàm (vanishing gradient) và bùng nổ đạo hàm (gradient exploding) trong mạng sâu.
  • Các giải pháp nâng cao chất lượng huấn luyện: kỹ thuật Dropout ngẫu nhiên, dừng sớm (Early Stopping), kỹ thuật Chuẩn hóa theo lô (Batch Normalization) để duy trì ổn định phân phối Gaussian, cùng thuật toán tối ưu hóa Gradient Descent và Adam.
  • Kiến trúc mạng chuẩn VGG của nhóm Visual Geometry Group với các biến thể VGG-16 và VGG-19 sử dụng cấu trúc bộ lọc $3 \times 3$ đồng nhất.

Chương 3: Thử nghiệm và đánh giá

Chương 3 trình bày toàn bộ quy trình thực nghiệm, từ khâu chuẩn bị công cụ (Kaggle, Anaconda, Jupyter Notebook, TensorFlow), thiết lập môi trường phần cứng, xử lý tập dữ liệu 5.545 ảnh X-quang, đến việc xây dựng chi tiết cấu hình phân tầng của hai mô hình CNNs1 và CNNs2.

Quy trình đánh giá chất lượng mô hình được thiết kế chặt chẽ:

  • Sử dụng phương pháp kiểm chứng chéo $k$-fold với $k=10$ thông qua lớp StratifiedKFold của thư viện Scikit-learn nhằm đảm bảo tỷ lệ nhãn đồng đều giữa các tập con.
  • Sử dụng ma trận nhầm lẫn với 4 tham số: True Positive (TP), True Negative (TN), False Positive (FP), False Negative (FN):
Thông số Giá trị dự đoán Giá trị thực tế
TP (True Positive) Yes Yes
TN (True Negative) No No
FP (False Positive) Yes No
FN (False Negative) No Yes
  • Thiết lập hệ thống công thức định lượng hiệu năng:
    • Độ chuẩn xác (Precision): $$\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}$$
    • Độ thu hồi (Recall): $$\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}$$
    • Điểm F1-Score: $$\text{F1-Score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} = \frac{2\text{TP}}{2\text{TP} + \text{FP} + \text{FN}}$$ Chương 3 khép lại bằng việc xây dựng và mô tả quy trình vận hành của ứng dụng web demo hỗ trợ chẩn đoán ảnh X-quang.

Kết quả và đóng góp

Kết quả chính

  • Đồ án đã hoàn thành quy trình xử lý và huấn luyện hoàn chỉnh trên tập dữ liệu 5.545 ảnh X-quang phổi phân chia thành 3 lớp đối tượng cụ thể (2.000 ảnh COVID, 2.200 ảnh Normal, 1.345 ảnh Pneumonia).
  • Thiết kế thành công hai biến thể kiến trúc mạng nơ-ron tích chập tùy chỉnh (CNNs1 với 6 lớp tích chập và CNNs2 với 10 lớp tích chập kết hợp các khối chuẩn hóa Batch Normalization).
  • Ứng dụng kỹ thuật kiểm chứng chéo 10-fold Stratified K-Fold để tính toán các chỉ số trung bình Precision, Recall và F1-Score, giúp đánh giá khách quan độ ổn định của mô hình.
  • Xây dựng thành công mô hình ứng dụng web hoàn chỉnh, cho phép người dùng tải ảnh X-quang lồng ngực và nhận kết quả phân loại tự động.

Đóng góp của đề tài

  1. Về mặt phương pháp: Cung cấp tài liệu tổng hợp, phân tích định lượng ưu nhược điểm giữa các hướng tiếp cận học máy truyền thống (Naive Bayes, k-NN, Decision Tree) và mạng nơ-ron sâu trong bài toán phân loại ảnh y tế.
  2. Về mặt kỹ thuật mô hình: Minh chứng hiệu quả của việc tích hợp các khối chuẩn hóa theo lô (Batch Normalization) kết hợp Dropout trong kiến trúc CNNs, giúp kiểm soát hiện tượng quá khớp và ổn định quá trình lan truyền ngược.
  3. Về mặt ứng dụng thực tiễn: Xây dựng phần mềm giao diện người dùng trực quan, minh họa khả năng ứng dụng các mô hình học máy thành công cụ hỗ trợ thực tế cho các cơ sở y tế.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận

  • Quy mô và độ cân bằng dữ liệu: Tập dữ liệu dừng lại ở mức 5.545 ảnh; số lượng mẫu giữa các lớp chưa hoàn toàn đồng đều (nhãn Pneumonia có 1.345 ảnh, thấp hơn so với nhãn Normal 2.200 ảnh và COVID 2.000 ảnh).
  • Yêu cầu tài nguyên phần cứng: Việc huấn luyện mạng tích chập sâu đòi hỏi năng lực xử lý tính toán đồ họa (GPU) cao và tiêu tốn nhiều thời gian huấn luyện.
  • Phạm vi bài toán: Mô hình hiện tập trung phân loại 3 nhóm nhãn cố định, chưa bao quát toàn diện các dạng bệnh lý phổi phức tạp khác trong thực tế lâm sàng.

Hướng nghiên cứu tiếp

  • Mở rộng thu thập thêm các tập dữ liệu ảnh X-quang quy mô lớn hơn và đa dạng nguồn bệnh phẩm.
  • Thử nghiệm và so sánh với các kiến trúc mạng nơ-ron sâu tiêu chuẩn hiện đại như VGG-16, VGG-19, ResNet nhằm nâng cao hơn nữa độ chính xác.
  • Tối ưu hóa cấu trúc mạng để giảm dung lượng mô hình và thời gian suy luận, tạo điều kiện triển khai trên các thiết bị phần cứng thông thường.
  • Hoàn thiện giao diện ứng dụng và tích hợp các tính năng giải thích vùng tổn thương phục vụ thử nghiệm lâm sàng thực tế.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các nhóm đối tượng:

  • Sinh viên ngành Công nghệ thông tin, Khoa học dữ liệu, Trí tuệ nhân tạo: Cung cấp tài liệu chi tiết về quy trình xây dựng dự án phân loại ảnh từ khâu tiền xử lý dữ liệu với Keras ImageDataGenerator, thiết kế các tầng tích chập, đến khâu đánh giá mô hình bằng kiểm chứng chéo.
  • Người nghiên cứu hệ thống Hỗ trợ chẩn đoán y tế (CAD): Tham khảo cấu trúc tham số của các lớp Conv2D, MaxPooling2D, Batch Normalization và phương pháp thiết lập đánh giá 10-fold cross-validation trên dữ liệu y tế.
  • Lập trình viên phát triển ứng dụng AI: Tham khảo kiến trúc kết nối mô hình học sâu đã huấn luyện với ứng dụng web phục vụ người dùng cuối.

Câu hỏi thường gặp

1. Khóa luận thực hiện phân loại ảnh chụp X-quang phổi thành những nhóm bệnh lý cụ thể nào?
Mô hình trong khóa luận phân loại ảnh X-quang phổi thành 3 nhóm danh mục xác định trước: phổi người bình thường (Normal), người mắc viêm phổi (Pneumonia), và người mắc COVID-19 (COVID).

2. Tập dữ liệu thực nghiệm trong khóa luận có quy mô và cấu trúc phân bổ như thế nào?
Tập dữ liệu thu thập từ nền tảng Kaggle gồm tổng cộng 5.545 ảnh X-quang, trong đó có 2.000 ảnh thuộc nhóm COVID, 2.200 ảnh thuộc nhóm Normal, và 1.345 ảnh thuộc nhóm Pneumonia. Khi chia dữ liệu thử nghiệm, tập train gồm 4.991 ảnh (1.800 COVID, 1.980 Normal, 1.211 Pneumonia) và tập test gồm 554 ảnh (200 COVID, 220 Normal, 134 Pneumonia).

3. Sự khác biệt chính về mặt kiến trúc giữa hai mô hình CNNs1 và CNNs2 là gì?
Mô hình CNNs1 sử dụng 6 lớp tích chập Conv2D, 3 lớp MaxPooling2D, xen kẽ các lớp Dropout và lớp Flatten kích thước 86.528. Mô hình CNNs2 được thiết kế sâu hơn với 10 lớp Conv2D, 4 lớp MaxPooling2D, tích hợp các lớp Batch Normalization sau các khối chập để chuẩn hóa phân phối dữ liệu đầu ra và giảm kích thước Flatten xuống 3.200 đặc trưng trước khi đi vào các lớp Dense.

4. Khóa luận sử dụng phương pháp và các chỉ số đo lường nào để kiểm định hiệu năng mô hình?
Đề tài sử dụng phương pháp kiểm chứng chéo 10-fold Stratified K-Fold thông qua thư viện Scikit-learn để chia tập dữ liệu thành 10 phần đánh giá lặp. Hiệu năng phân loại được đo lường thông qua ma trận nhầm lẫn (TP, TN, FP, FN) cùng 3 chỉ số học máy tiêu chuẩn gồm Precision (độ chuẩn xác), Recall (độ thu hồi) và F1-Score.

5. Những kỹ thuật tăng cường dữ liệu (Data Augmentation) nào đã được áp dụng trong quá trình huấn luyện?
Tác giả sử dụng lớp ImageDataGenerator của Keras để tăng cường dữ liệu huấn luyện với 4 tham số chính: chia lại thang đo điểm ảnh về khoảng [0, 1] (rescale), thu phóng ngẫu nhiên 20% (zoom_range), dịch chuyển ngẫu nhiên theo chiều ngang 10% (width_shift_range) và dịch chuyển ngẫu nhiên theo chiều dọc 10% (height_shift_range).

Kết luận

Khóa luận tốt nghiệp của sinh viên Lê Trường Long đã nghiên cứu và triển khai thành công mô hình mạng nơ-ron tích chập (CNNs) phục vụ bài toán phân loại ảnh X-quang phổi thành 3 nhóm đối tượng: bình thường, viêm phổi và COVID-19. Đề tài xây dựng hệ thống thực nghiệm bài bản từ khâu tiền xử lý, tăng cường dữ liệu trên 5.545 mẫu ảnh, thiết kế chi tiết hai kiến trúc mạng CNNs tùy chỉnh và áp dụng phương pháp kiểm chứng chéo 10-fold Stratified K-Fold để đánh giá chất lượng. Bên cạnh kết quả mô hình hóa, tác giả đã tích hợp thành công thuật toán vào ứng dụng web demo trực quan, đóng góp một giải pháp tham khảo có tính ứng dụng thực tiễn trong lĩnh vực hỗ trợ chẩn đoán y tế bằng máy tính.