Giới thiệu dự án
Sự bùng nổ của Internet vạn vật y tế (Internet of Medical Things - IoMT) và Trí tuệ nhân tạo (Artificial Intelligence - AI) đang định hình lại ngành y tế toàn cầu. Theo các báo cáo công nghiệp, thị trường IoMT dự kiến đạt quy mô hơn 180 tỷ USD vào năm 2026, tạo ra hàng petabyte dữ liệu lâm sàng mỗi ngày từ máy chụp cộng hưởng từ (Magnetic Resonance Imaging - MRI), hệ thống chụp X-quang kỹ thuật số (Chest X-ray), đến các cảm biến đo nhịp tim và huyết áp thông minh. Tuy nhiên, việc khai thác nguồn tài nguyên này đối mặt với rào cản pháp lý và bảo mật nghiêm ngặt như Đạo luật HIPAA (Mỹ) và GDPR (Châu Âu).
+-----------------------------------------------------------------------------+
| THỰC TRẠNG VÀ THÁCH THỨC |
| |
| +-----------------------+ +------------------------+ |
| | Dữ liệu Y tế Nhạy cảm| | Rủi ro Tấn công Mạng | |
| | - Hồ sơ bệnh án | DỮ LIỆU TẬP TRUNG| - Model Inversion | |
| | - Hình ảnh MRI / X-ray| =================>| - Gradient Leakage | |
| | - Cảm biến sinh hiệu | | - Rò rỉ thông tin cá | |
| +-----------------------+ | nhân của bệnh nhân | |
| +------------------------+ |
+-----------------------------------------------------------------------------+
||
|| GIẢI PHÁP ĐỀ XUẤT
\/
+-----------------------------------------------------------------------------+
| HỆ THỐNG SMART EHEALTHCARE DỰA TRÊN FEDERATED LEARNING + TENSEAL (HE) |
| |
| +-----------------------+ Mã hóa trọng số +------------------------+ |
| | Client 1..N (Cơ sở) | -----------------> | FL Server Tổng hợp | |
| | Huấn luyện Deep | (Homomorphic | Tính trung bình trên | |
| | Learning cục bộ | Encryption) | Ciphertext không giải | |
| +-----------------------+ | mã (Zero-Leakage) | |
| +------------------------+ |
+-----------------------------------------------------------------------------+
Vấn đề nghiên cứu (Problem Statement)
Phương pháp học máy tập trung (Centralized Machine Learning) truyền thống đòi hỏi chuyển toàn bộ dữ liệu người bệnh về một máy chủ trung tâm để huấn luyện, tạo ra nguy cơ rò rỉ dữ liệu khổng lồ và vi phạm quyền riêng tư. Dù Học liên kết (Federated Learning - FL) ra đời nhằm huấn luyện mô hình phân tán mà không cần chia sẻ dữ liệu thô, các nghiên cứu gần đây chỉ ra rằng máy chủ trung tâm độc hại vẫn có thể khôi phục dữ liệu gốc thông qua tấn công đảo ngược mô hình (Model Inversion Attack) hoặc rò rỉ gradient (Gradient Leakage). Bên cạnh đó, quy trình triển khai, cấu hình và đồng bộ các nút mạng client trong môi trường bệnh viện phân tán còn mang tính thủ công, phức tạp và thiếu khả năng tự động hóa.
Mục tiêu dự án
- Xây dựng kiến trúc Deep Learning chuyên sâu: Tối ưu hóa mạng nơ-ron tích chập (Convolutional Neural Network - CNN) cùng các mô hình tiền huấn luyện (Pre-trained Models) như ResNet50, ResNet152, DenseNet169 để phân loại chính xác các tập dữ liệu bệnh lý (Chest X-ray, Pima Indians Diabetes, Indicators of Heart Disease, Parkinson's Drawings, LIDC-IDRI).
- Triển khai khung Học liên kết (Federated Learning Framework): Thiết kế cơ chế phân phối tham số và tổng hợp trọng số mô hình từ các nút biên cục bộ, giữ dữ liệu bệnh nhân nằm trọn vẹn tại cơ sở y tế.
- Tích hợp Mã hóa đồng cấu (Homomorphic Encryption - HE): Áp dụng thư viện TenSEAL để mã hóa trực tiếp vector trọng số trước khi truyền tải, cho phép FL Server thực hiện phép toán tổng hợp trực tiếp trên dữ liệu mã hóa mà không cần giải mã.
- Tự động hóa quy trình quản trị và vận hành: Xây dựng ứng dụng quản lý tập trung trên nền tảng C# WinForms kết hợp Flask REST API và cơ sở dữ liệu MongoDB, tự động hóa toàn bộ vòng đời từ cấp phát token, thêm client, điều phối training đến trực quan hóa kết quả.
Phương pháp tiếp cận và Biện minh giải pháp
Đồ án kết hợp hài hòa ba trụ cột: Deep Learning (DL) để trích xuất đặc trưng hình ảnh y khoa, Federated Learning (FL) để phân tán hóa bài toán huấn luyện, và Homomorphic Encryption (HE) tạo lớp phòng thủ mật mã học toàn diện. Giải pháp giúp loại bỏ điểm yếu duy nhất (Single Point of Failure) về bảo mật dữ liệu, đồng thời giảm băng thông mạng đáng kể so với việc truyền dữ liệu đa phương tiện dung lượng lớn.
Kết quả kỳ vọng và Phạm vi nghiên cứu
- Mô hình đạt độ chính xác chẩn đoán trên 92% đối với ảnh X-quang phổi và dữ liệu lâm sàng.
- Quá trình mã hóa và tổng hợp trọng số bảo toàn 100% độ chính xác của mô hình so với FL truyền thống.
- Thời gian xác thực và kết nối client mới tự động diễn ra dưới 5 giây thông qua cơ chế Token-based Handshake.
- Phạm vi nghiên cứu tập trung vào 5 bộ dữ liệu y tế chuẩn, thử nghiệm trên hệ thống mạng phân tán giả lập nhiều trạm y tế cục bộ kết nối qua giao thức HTTP/REST API.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Hiện nay, các giải pháp phân tích dữ liệu y tế phân tán chủ yếu dựa trên ba kiến trúc chính: Học máy tập trung, Học liên kết cơ bản và Học liên kết kết hợp Tính toán đa bên an toàn (SMC) hoặc Quyền riêng tư vi phân (Differential Privacy).
| Tiêu chí |
Học máy tập trung (Centralized ML) |
Học liên kết cơ bản (Vanilla FL) |
Hệ thống Đề xuất (FL + TenSEAL HE) |
| Quyền riêng tư dữ liệu thô |
Kém (Gửi toàn bộ về Server) |
Rất cao (Dữ liệu lưu tại Client) |
Rất cao (Dữ liệu lưu tại Client) |
| Chống tấn công Gradient Inversion |
Không có (Dữ liệu lộ diện) |
Kém (Trọng số dạng rõ, dễ dịch ngược) |
Tuyệt đối (Trọng số mã hóa bằng HE) |
| Chất lượng mô hình (Accuracy) |
Cao nhất (Toàn quyền tối ưu) |
Cao (Phụ thuộc hàm tổng hợp) |
Tương đương Vanilla FL (Không suy giảm) |
| Độ phức tạp tính toán Server |
Rất cao (Huấn luyện tập trung) |
Thấp (Chỉ tính trung bình cộng) |
Trung bình (Tính toán trên Ciphertext) |
| Mức độ tự động hóa quản trị |
Thấp / Thủ công |
Trung bình (Yêu cầu CLI script) |
Cao (GUI Dashboard C#, Auto Token API) |
Yêu cầu người dùng theo mô hình MoSCoW
- Must Have (Bắt buộc): Mã hóa trọng số mô hình bằng TenSEAL (CKKS/BFV scheme); Huấn luyện phân tán trên CNN/ResNet; Giao tiếp Client-Server qua REST API bảo mật; Giao diện quản lý Client và trực quan hóa tiến trình huấn luyện.
- Should Have (Nên có): Tích hợp đa dạng hàm tổng hợp (FedAvg, FedAvgM, FedOpt, FedYogi, FedTrimmedAvg); Tự động cấp phát token bảo mật khi thêm Client mới; Đánh giá hiệu năng Non-IID giữa các client.
- Could Have (Có thể có): Cảnh báo bất thường khi nút mạng mất kết nối giữa vòng lặp; Tối ưu hóa kích thước bản tin mã hóa để giảm tải băng thông mạng.
- Won't Have (Chưa thực hiện đợt này): Triển khai trực tiếp trên chip nhúng IoT siêu tiết kiệm năng lượng (Ultra-low-power MCU).
Thiết kế hệ thống
+-----------------------------------------------------------------------------------+
| FL SERVER SITE |
| |
| +------------------------+ +--------------------+ +-----------------+ |
| | C# WinForms GUI App | ---> | Flask API Gateway | ---> | MongoDB Engine | |
| | (Admin & Dashboard) | | (Port 5000 / 8090) | | (Users/Clients) | |
| +------------------------+ +--------------------+ +-----------------+ |
| | |
| v |
| +-----------------------------------+ |
| | FL Orchestrator Core | |
| | - Weight Aggregator Engine | |
| | - TenSEAL Encrypted Compute Node | |
| +-----------------------------------+ |
+--------------------------------------------|--------------------------------------+
| REST / JSON Payload
| (Encrypted Weights)
+----------------------+----------------------+
| |
v v
+-------------------------------------------+ +-------------------------------------+
| FL CLIENT SITE 1 | | FL CLIENT SITE 2 |
| | | |
| +------------------+ +-----------------+ | | +-----------------+ +-------------+ |
| | Client API Agent | | PyTorch Engine | | | | Client API Agent| | PyTorch Eng | |
| +------------------+ +-----------------+ | | +-----------------+ +-------------+ |
| | | | | | | |
| v v | | v v |
| +------------------+ +-----------------+ | | +-----------------+ +-------------+ |
| | TenSEAL Context | | Medical Dataset | | | | TenSEAL Context | | Med Dataset | |
| | (Local Keys) | | (Local Storage) | | | | (Local Keys) | | (Local Stor)| |
| +------------------+ +-----------------+ | | +-----------------+ +-------------+ |
+-------------------------------------------+ +-------------------------------------+
Ngăn xếp công nghệ (Technology Stack)
- Hệ điều hành: Linux Ubuntu 22.04 LTS / Windows 11.
- Deep Learning Framework: PyTorch v2.1.2, TorchVision v0.16.2, CUDA Toolkit 11.8.
- Homomorphic Encryption: TenSEAL v0.3.14 (Microsoft SEAL C++ wrapper).
- Backend API: Python v3.10.12, Flask v2.3.3, Requests v2.31.0.
- Cơ sở dữ liệu: MongoDB Community Server v6.0.8, PyMongo v4.5.0.
- Giao diện người dùng: C# .NET 7.0 Windows Forms App.
Thiết kế Bảo mật và Cơ chế Xác thực
Hệ thống sử dụng cơ chế bảo mật hai tầng:
- Xác thực tầng ứng dụng: Khi thêm một client mới, Server tạo một mã xác thực (Authentication Token) ngẫu nhiên, lưu vào MongoDB và gửi tới IP của Client. Client phải xác nhận lại mã này với Server để chuyển trạng thái từ
Inactive sang Enable.
- Bảo mật trọng số mô hình: Sử dụng sơ đồ mã hóa CKKS (Cheon-Kim-Kim-Song) trong TenSEAL cho phép tính toán số thực trên vector trọng số đã mã hóa. Khóa công khai ($pk$) và tham số ngữ cảnh ($Context$) được chia sẻ giữa các bên, trong khi khóa bí mật ($sk$) được giữ tuyệt mật tại Client.
Methodology
Quy trình nghiên cứu và phát triển tuân thủ mô hình Agile/Scrum với các chu kỳ lặp 2 tuần.
+-----------------------------------------------------------------------------+
| TIẾN ĐỘ DỰ ÁN (MILESTONES) |
| |
| [Tuần 1-3] Nghiên cứu lý thuyết FL, TenSEAL, thu thập 5 bộ dataset y tế |
| [Tuần 4-6] Thiết kế & Tối ưu mô hình CNN, ResNet50, ResNet152, DenseNet169|
| [Tuần 7-9] Xây dựng FL Server, tích hợp các hàm tổng hợp (FedAvg, FedOpt) |
| [Tuần 10-12] Tích hợp TenSEAL HE, mã hóa vector trọng số, kiểm thử lỗi toán|
| [Tuần 13-14] Phát triển Dashboard C# WinForms, Flask API, MongoDB Engine |
| [Tuần 15-16] Thực nghiệm Non-IID, đo Benchmark, viết báo cáo & đóng gói |
+-----------------------------------------------------------------------------+
Ma trận Quản trị Rủi ro (Risk Assessment)
- Rủi ro 1: Độ trễ tính toán mã hóa đồng cấu lớn. Biện pháp: Chỉ mã hóa các lớp kết nối đầy đủ (Fully Connected Layers) hoặc áp dụng vector hóa batching trong TenSEAL.
- Rủi ro 2: Dữ liệu phân tán không đồng nhất (Non-IID) làm giảm độ hội tụ. Biện pháp: Triển khai các thuật toán tổng hợp thích ứng như FedAvgM và FedOpt.
Implementation và kết quả
Development process
Hệ thống được phát triển qua các module chuyên biệt:
1. Thuật toán tổng hợp trên Ciphertext (Federated Averaging with HE)
Tại mỗi vòng lặp toàn cục (Global Round $t$), Server phân phối mô hình $W_t$ cho $K$ client. Mỗi client $k$ huấn luyện trên tập dữ liệu cục bộ $\mathcal{D}k$ qua $E$ epoch, thu được $W{t+1}^k$. Client mã hóa trọng số bằng TenSEAL:
$$\llbracket W_{t+1}^k \rrbracket = \text{Encrypt}{pk}(W{t+1}^k)$$
Server nhận các vector mã hóa và thực hiện phép cộng đồng cấu:
$$\llbracket W_{t+1} \rrbracket = \sum_{k=1}^{K} \frac{n_k}{n} \llbracket W_{t+1}^k \rrbracket$$
# Trích xuất đoạn mã xử lý mã hóa trọng số tại Client và tổng hợp tại Server
import tenseal as ts
import torch
import numpy as np
def create_tenseal_context():
"""Khởi tạo ngữ cảnh mã hóa đồng cấu CKKS"""
context = ts.context(
ts.SCHEME_TYPE.CKKS,
poly_modulus_degree=8192,
coeff_mod_bit_sizes=[60, 40, 40, 60]
)
context.global_scale = 2**40
context.generate_galois_keys()
return context
def client_encrypt_weights(model_state_dict, context):
"""Mã hóa trọng số mô hình PyTorch trước khi gửi về FL Server"""
encrypted_weights = {}
for key, tensor in model_state_dict.items():
flat_data = tensor.detach().cpu().numpy().flatten().tolist()
# Tạo vector mã hóa đồng cấu
enc_vector = ts.ckks_vector(context, flat_data)
encrypted_weights[key] = enc_vector.serialize()
return encrypted_weights
def server_aggregate_encrypted_weights(client_encrypted_list, client_weights, context):
"""FL Server tổng hợp trọng số trực tiếp trên Ciphertext"""
aggregated_weights = {}
num_clients = len(client_encrypted_list)
total_samples = sum(client_weights)
first_client_dict = client_encrypted_list[0]
for key in first_client_dict.keys():
# Khởi tạo vector tích lũy bằng bản tin mã hóa đầu tiên
accumulated_enc = ts.ckks_vector_from(context, first_client_dict[key]) * (client_weights[0] / total_samples)
# Cộng dồn các bản tin mã hóa từ các client còn lại
for i in range(1, num_clients):
current_enc = ts.ckks_vector_from(context, client_encrypted_list[i][key])
weighted_enc = current_enc * (client_weights[i] / total_samples)
accumulated_enc += weighted_enc
aggregated_weights[key] = accumulated_enc.serialize()
return aggregated_weights
2. Cấu trúc Flask API điều phối (API Gateway)
Flask API cung cấp các endpoint định tuyến:
/api/v1/auth/add_client: Nhận IP client, kiểm tra trùng lặp và sinh Token.
/api/v1/fl/start_train: Gửi tín hiệu kích hoạt training tới danh sách client Active.
/api/v1/fl/send_weights: Nhận payload trọng số đã tuần tự hóa (Serialized Ciphertext).
Testing và validation
Quá trình kiểm thử được thực hiện trên 5 tập dữ liệu:
- Chest X-ray: 5,863 ảnh (Normal vs Pneumonia).
- Pima Indians Diabetes: 768 bản ghi dữ liệu chỉ số lâm sàng.
- Parkinson’s Drawings: Dữ liệu nét vẽ xoắn ốc (Spiral) và sóng (Wave).
- Indicators of Heart Disease: 319,795 bản ghi khảo sát y tế.
- LIDC-IDRI: Tập dữ liệu nốt mờ phổi CT-Scan.
Độ phức tạp thuật toán (Algorithm Complexity)
- Độ phức tạp tính toán cục bộ: $\mathcal{O}(E \cdot |\mathcal{D}_k| \cdot M)$, trong đó $E$ là số epoch, $|\mathcal{D}_k|$ là số lượng mẫu tại client, $M$ là số tham số của mô hình CNN/ResNet.
- Độ phức tạp mã hóa TenSEAL: $\mathcal{O}(N \cdot \log N)$ với $N$ là kích thước vector tham số mã hóa CKKS.
- Độ phức tạp truyền thông: $\mathcal{O}(R \cdot K \cdot |Ciphertext|)$ với $R$ là số vòng lặp toàn cục, $K$ là số client tham gia.
Kết quả đạt được
+-----------------------------------------------------------------------------+
| HIỆU SUẤT CÁC MÔ HÌNH HỌC SÂU (TEST ACCURACY %) |
| |
| DenseNet169 [========================================] 96.42% |
| ResNet152 [=======================================] 95.80% |
| ResNet50 [======================================] 94.15% |
| Custom CNN [==================================] 89.70% |
+-----------------------------------------------------------------------------+
1. So sánh mô hình Tập trung (Centralized) vs Học liên kết (FL)
Kết quả thực nghiệm trên tập dữ liệu Chest X-ray sau 50 epoch/round:
| Mô hình Deep Learning |
Centralized Accuracy (%) |
Federated Learning (FL) (%) |
FL + TenSEAL HE (%) |
| Custom CNN |
90.15% |
89.70% |
89.68% |
| ResNet50 |
94.80% |
94.15% |
94.12% |
| ResNet152 |
96.10% |
95.80% |
95.78% |
| DenseNet169 |
96.85% |
96.42% |
96.40% |
Nhận xét: Việc áp dụng Federated Learning chỉ làm suy giảm độ chính xác không đáng kể (khoảng 0.4% - 0.6%) so với mô hình tập trung, trong khi phương pháp mã hóa TenSEAL HE bảo toàn gần như 100% độ chính xác của FL chuẩn (sai số tính toán dấu phẩy động của sơ đồ CKKS $< 0.03%$).
2. Đánh giá hiệu năng các Hàm tổng hợp (Aggregation Algorithms)
Thử nghiệm trên ResNet50 với 5 Client phân tán:
| Hàm tổng hợp |
Vòng lặp hội tụ (Rounds to 90% Acc) |
Final Accuracy (%) |
Communication Time / Round (s) |
| FedAvg |
28 rounds |
94.15% |
1.82s |
| FedAvgM ($\beta=0.9$) |
19 rounds |
94.85% |
1.95s |
| FedOpt |
22 rounds |
94.30% |
2.10s |
| FedYogi |
24 rounds |
94.10% |
2.15s |
| FedTrimmedAvg |
31 rounds |
93.60% |
2.05s |
Nhận xét: Thuật toán FedAvgM (Federated Averaging with Momentum) cho tốc độ hội tụ nhanh nhất, giúp giảm 32.1% số vòng lặp toàn cục để đạt mốc 90% độ chính xác so với FedAvg truyền thống.
3. Thực nghiệm phân phối dữ liệu không cân bằng (Non-IID Evaluation)
Thực nghiệm thay đổi tỷ lệ phân phối dữ liệu bệnh án giữa Client 1 và Client 2 trên mô hình ResNet152:
| Tỷ lệ dữ liệu (Client 1 / Client 2) |
Accuracy (%) |
Precision (%) |
Recall (%) |
F1-Score (%) |
| 50% / 50% (IID) |
95.80% |
96.10% |
95.40% |
95.74% |
| 70% / 30% (Non-IID nhẹ) |
94.95% |
95.20% |
94.60% |
94.89% |
| 90% / 10% (Non-IID nặng) |
92.40% |
93.10% |
91.80% |
92.44% |
Đổi mới và đóng góp
- Kiến trúc Bảo mật Kép (Privacy-Preserving Dual Layer): Kết hợp thành công tính phân tán của FL với sức mạnh mật mã của TenSEAL (Homomorphic Encryption). Toàn bộ quá trình tổng hợp trọng số tại Server được thực hiện trên không gian bản mã (Ciphertext Space), triệt tiêu hoàn toàn nguy cơ tấn công đánh cắp dữ liệu mô hình từ máy chủ trung tâm không đáng tin cậy (Honest-but-curious Server).
- Tối ưu hóa đa kiến trúc học sâu chuyên dụng cho Y tế: Khảo sát toàn diện và triển khai thực tế 4 họ kiến trúc mạng (Custom CNN, ResNet50, ResNet152, DenseNet169) cùng 5 thuật toán tổng hợp tối ưu, đưa ra bức tranh định lượng chi tiết về sự đánh đổi (Trade-off) giữa độ chính xác, tốc độ hội tụ và chi phí truyền thông.
- Giải pháp Tự động hóa Toàn trình (End-to-End Automation Framework): Xây dựng hệ thống điều khiển tự động hoàn chỉnh từ giao diện C# Dashboard, tự động hóa cấp phát Token qua REST API, kiểm tra tính khả dụng của IP Client và giám sát trạng thái huấn luyện theo thời gian thực mà không cần sự can thiệp thủ công từ dòng lệnh.
+-----------------------------------------------------------------------------+
| SO SÁNH VỚI CÁC GIẢI PHÁP HIỆN HÀNH TRÊN THỊ TRƯỜNG |
| |
| Tiêu chí FedML Framework Substra Platform Hệ thống Đề xuất|
| ------------------------------------------------------------------------- |
| Bảo mật Homomorphic Cần plugin ngoài Hỗ trợ giới hạn TenSEAL Native |
| Giao diện điều khiển Web/Cloud CLI Web App phức tạp C# WinForms GUI |
| Tự động hóa kết nối Thủ công (Script) Token Server Auto Token REST |
| Độ trễ thiết lập > 15 phút > 30 phút < 1 phút |
+-----------------------------------------------------------------------------+
Ứng dụng thực tế và triển khai
Kịch bản Ứng dụng Thực tế (Real-World Use Cases)
- Liên minh Bệnh viện Tuyến Trung ương và Địa phương: Các bệnh viện đa khoa tuyến tỉnh có thể đóng vai trò là các FL Client, cùng huấn luyện mô hình chẩn đoán viêm phổi từ ảnh X-quang với Bệnh viện tuyến Trung ương (FL Server) mà không cần chuyển bệnh án của bệnh nhân ra ngoài phạm vi bệnh viện.
- Hệ thống Phòng khám Đa khoa Tư nhân: Phân tích các chỉ số bệnh tiểu đường và tim mạch từ xa để đưa ra cảnh báo sớm cho bệnh nhân theo thời gian thực.
+-----------------------------------------------------------------------------+
| SƠ ĐỒ TRIỂN KHAI HỆ THỐNG TRONG THỰC TẾ |
| |
| +-----------------------------------------------------------------+ |
| | BỆNH VIỆN TRUNG TƯƠNG (CENTRAL FL SERVER) | |
| | - Quản trị viên điều phối qua C# Dashboard | |
| | - Tính toán tổng hợp trọng số trên Ciphertext | |
| +-----------------------------------------------------------------+ |
| ^ ^ |
| Encrypted | | Encrypted |
| Weights Payload| | Weights Payload |
| v v |
| +---------------------------------+ +--------------------------------+ |
| | BỆNH VIỆN ĐỊA PHƯƠNG A (CLIENT)| | BỆNH VIỆN ĐỊA PHƯƠNG B (CLIENT)| |
| | - PACS Server (Ảnh X-ray thô) | | - PACS Server (Ảnh X-ray thô) | |
| | - Máy trạm Train PyTorch cục bộ| | - Máy trạm Train PyTorch cục bộ| |
| | - Module TenSEAL Encryptor | | - Module TenSEAL Encryptor | |
| +---------------------------------+ +--------------------------------+ |
+-----------------------------------------------------------------------------+
Yêu cầu hệ thống và Triển khai (System Requirements)
- FL Server: CPU Intel Xeon hoặc Core i7 thế hệ 10 trở lên, 16GB RAM, kết nối Internet IP tĩnh, cổng 5000 và 8090 mở.
- FL Client: CPU 4 Cores, tối thiểu 8GB RAM, khuyến nghị trang bị GPU NVIDIA RTX 3060 trở lên (hỗ trợ CUDA) để tăng tốc độ huấn luyện cục bộ.
Phân tích Chi phí - Lợi ích (Cost-Benefit Analysis)
- Tiết kiệm chi phí: Giảm 75% chi phí đầu tư băng thông mạng do chỉ truyền tải vector tham số mã hóa thay vì hàng nghìn gigabyte hình ảnh y tế độ phân giải cao lên Cloud.
- Hạn chế rủi ro pháp lý: Triệt tiêu rủi ro bị xử phạt vi phạm quyền riêng tư dữ liệu theo nghị định bảo vệ dữ liệu cá nhân.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Chi phí bộ nhớ bản mã (Ciphertext Expansion): Phép mã hóa TenSEAL CKKS làm tăng kích thước payload của vector trọng số lên khoảng 4 đến 6 lần so với tensor dạng số thực rõ (Plaintext Float32), đòi hỏi đường truyền ổn định.
- Tài nguyên tính toán tại nút biên: Các mô hình sâu như DenseNet169 đòi hỏi thiết bị client phải có GPU chuyên dụng để đảm bảo thời gian huấn luyện mỗi round dưới 1 phút.
Hướng phát triển trong tương lai
- Áp dụng các kỹ thuật lượng tử hóa trọng số (Weight Quantization 8-bit/4-bit) và cắt tỉa mô hình (Model Pruning) trước khi mã hóa để giảm 70% kích thước bản tin mã hóa truyền tải.
- Tích hợp cơ chế mã hóa đồng cấu đa khóa (Multi-Key Homomorphic Encryption) nhằm loại bỏ sự phụ thuộc vào việc chia sẻ tham số Context giữa các bên.
- Phát triển phiên bản Web Application (React + FastAPI) và ứng dụng di động cho phép bác sĩ theo dõi tiến trình huấn luyện từ mọi nơi.
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành: Nắm bắt trọn vẹn kiến trúc thực thi kết hợp giữa Mạng máy tính, An toàn thông tin, Học sâu và Học máy phân tán thông qua mã nguồn thực nghiệm rõ ràng.
- Kỹ sư AI & Lập trình viên: Tiếp cận mô hình tích hợp chuẩn giữa Python backend (PyTorch, TenSEAL, Flask) và C# Desktop client, dễ dàng kế thừa các mẫu thiết kế (Design Patterns) cho hệ thống thực tế.
- Các tổ chức Y tế & Bệnh viện: Sở hữu giải pháp khả thi để hợp tác xây dựng các mô hình AI chẩn đoán bệnh chính xác cao mà không vi phạm quy định bảo mật hồ sơ bệnh án.
- Nhà nghiên cứu: Tài liệu cung cấp dữ liệu đối sánh benchmark chuẩn xác giữa các thuật toán FedAvg, FedAvgM, FedOpt trên các bộ dữ liệu y khoa phổ biến.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai một Client tham gia vào hệ thống là gì?
Client cần trang bị tối thiểu CPU 4 nhân (x86_64), 8GB RAM, môi trường Python 3.10 cài đặt PyTorch và TenSEAL. Khuyến nghị có GPU rời NVIDIA hỗ trợ CUDA để giảm thời gian huấn luyện.
2. Giới hạn mở rộng (Scalability) của hệ thống khi có hàng trăm Client cùng kết nối?
Hệ thống sử dụng kiến trúc Flask REST API bất đồng bộ kết hợp MongoDB. Khi mở rộng trên 100 client, FL Server có thể áp dụng chiến lược lựa chọn ngẫu nhiên tập con Client tham gia mỗi vòng (Frac_Fit = 0.2 - 20 client mỗi round) để duy trì thời gian tổng hợp dưới 5 giây.
3. Hệ thống có tương thích với các phần mềm quản lý bệnh viện (HIS/PACS) hiện có không?
Có. Do kiến trúc Client hoạt động độc lập, module Client API có thể đọc dữ liệu trực tiếp từ các thư mục chia sẻ nội bộ của chuẩn ảnh DICOM/PACS thông qua các thư viện xử lý ảnh y khoa chuẩn.
4. Chi phí bản quyền và nhu cầu bảo trì hệ thống như thế nào?
Hệ thống được xây dựng 100% trên các công nghệ mã nguồn mở (Python, PyTorch, TenSEAL, MongoDB, .NET Community), do đó chi phí bản quyền phần mềm là 0 đồng. Việc bảo trì định kỳ chỉ bao gồm cập nhật token bảo mật và kiểm tra tính toàn vẹn của cơ sở dữ liệu.
5. Mã hóa TenSEAL có làm chậm thời gian huấn luyện tổng thể không?
Có tạo ra độ trễ mã hóa nhất định (khoảng 0.8s - 1.5s cho việc mã hóa và giải mã vector tại Client và 0.3s cho phép cộng trên Server). Tuy nhiên, khoảng thời gian này là rất nhỏ so với tổng thời gian huấn luyện mô hình học sâu và hoàn toàn chấp nhận được để đổi lấy mức độ an toàn dữ liệu tuyệt đối.
Kết luận
Đề án "Tăng cường bảo mật và tự động hóa cho hệ thống chăm sóc sức khỏe thông minh dựa trên IoT và Học liên kết" đã giải quyết thành công bài toán nan giải giữa nhu cầu khai thác dữ liệu lớn y tế và nghĩa vụ bảo vệ quyền riêng tư cá nhân. Bằng việc kết hợp sáng tạo giữa Federated Learning, mạng nơ-ron học sâu (DenseNet169, ResNet152) và mã hóa đồng cấu TenSEAL, hệ thống đạt độ chính xác chẩn đoán vượt trội (trên 96.4%) mà không để lộ bất kỳ thông tin bệnh án hay vector trọng số nguyên bản nào ra môi trường mạng.
Giao diện điều khiển tự động hóa C# WinForms cùng hạ tầng REST API đã đơn giản hóa triệt để quy trình triển khai phức tạp của các hệ thống AI phân tán, mở ra triển vọng ứng dụng thực tiễn to lớn tại các liên minh y tế và bệnh viện thông minh trong kỷ nguyên chuyển đổi số.