Dùng PINN giải bài toán ngược Navier-Stokes: tái tạo dòng máu trong mạch hẹp từ 40 điểm đo

Phần mềm03 tháng 10, 2026·4 phút đọc

Một thử nghiệm xây dựng từ đầu bằng PyTorch sử dụng mạng nơ-ron vật lý nhúng (PINN) để tái tạo trường vận tốc dòng máu, độ nhớt và ứng suất trượt thành mạch trong một động mạch bị hẹp, chỉ từ 40 phép đo vận tốc bị nhiễu.

Bài toán ngược Navier-Stokes từ lâu là một trong những thách thức khó nhằn nhất của cơ học chất lỏng tính toán. Thông thường, để mô phỏng dòng chảy trong một động mạch hẹp, ta phải biết rõ hình học mạch, độ nhớt máu và điều kiện biên — những thứ hiếm khi có đầy đủ trong thực tế lâm sàng. Mạng nơ-ron vật lý nhúng (Physics-Informed Neural Network — PINN) đảo ngược bài toán: chỉ với vài chục điểm đo vận tốc bị nhiễu, mô hình có thể suy ra cả trường dòng chảy lẫn các tham số vật lý còn ẩn.

PINN là gì và vì sao phù hợp với bài toán ngược?

PINN là một mạng nơ-ron được huấn luyện không chỉ khớp với dữ liệu quan sát, mà còn phải thỏa mãn các phương trình vi phân mô tả vật lý của hệ thống. Hàm mất mát của mô hình thường gồm hai phần:

  • Sai số dữ liệu: chênh lệch giữa dự đoán và các phép đo thực tế.
  • Sai số vật lý: phần dư của phương trình Navier-Stokes khi thay nghiệm dự đoán vào, được tính tự động nhờ đạo hàm tự động (autograd) của PyTorch.

Nhờ vậy, PINN không cần lưới tính toán chia nhỏ miền như phương pháp phần tử hữu hạn, mà vẫn đảm bảo nghiệm tuân theo định luật bảo toàn khối lượng và động lượng.

Thiết lập thí nghiệm

Trong thử nghiệm này, nhóm tác giả xây dựng toàn bộ pipeline bằng PyTorch thuần, không dùng thư viện PINN có sẵn. Bài toán mô phỏng một động mạch bị hẹp — dạng hình học thường gặp trong xơ vữa động mạch, nơi dòng máu bị tăng tốc qua chỗ hẹp và tạo ra ứng suất trượt thành mạch cao bất thường.

Đầu vào chỉ gồm 40 phép đo vận tốc bị nhiễu tại các vị trí rải rác trong miền. Đây là con số rất nhỏ so với hàng nghìn điểm dữ liệu mà các phương pháp học sâu thông thường cần.

Các đại lượng cần tái tạo gồm:

  • Trường vận tốc và trường áp suất trên toàn miền.
  • Độ nhớt của máu — một tham số vật lý bị ẩn, không đo trực tiếp được.
  • Ứng suất trượt thành mạch (wall shear stress) — chỉ số quan trọng để đánh giá nguy cơ tổn thương nội mạc.

Vì sao đây là bài toán khó?

Bài toán ngược Navier-Stokes thuộc nhóm bài toán đặt không chỉnh (ill-posed): nhiều bộ tham số khác nhau có thể cho ra cùng một tập dữ liệu đo. Khi dữ liệu ít và nhiễu, nghiệm có thể phân kỳ hoặc cho ra giá trị độ nhớt phi vật lý.

PINN giải quyết vấn đề này bằng cách ràng buộc nghiệm vào không gian các hàm thỏa mãn phương trình vật lý. Nói cách khác, mô hình bị "phạt" nếu dự đoán vi phạm định luật bảo toàn, nhờ đó thu hẹp không gian nghiệm và tăng tính ổn định.

Điểm mấu chốt: PINN không chỉ học từ dữ liệu, mà học từ cả định luật vật lý — đúng thứ mà dữ liệu y tế khan hiếm cần nhất.

Ý nghĩa với bối cảnh Việt Nam

Các bệnh viện tại Việt Nam ngày càng triển khai nhiều thiết bị siêu âm Doppler và chụp mạch máu, nhưng dữ liệu đo vận tốc dòng máu thường thưa và nhiễu. Kỹ thuật PINN mở ra hướng đi tiết kiệm chi phí: thay vì mô phỏng CFD đắt đỏ cho từng bệnh nhân, có thể dùng mô hình đã huấn luyện để ước lượng nhanh các chỉ số huyết động quan trọng.

Với các nhóm nghiên cứu trong nước đang làm về AI y sinh, đây cũng là ví dụ điển hình cho thấy học sâu không thay thế mô hình vật lý, mà kết hợp với nó để giải những bài toán mà từng phương pháp riêng lẻ không làm được.

Tóm tắt kỹ thuật

Kết quả cho thấy PINN có thể tái tạo trường dòng chảy và ước lượng độ nhớt chỉ từ vài chục điểm đo, đồng thời giữ được độ chính xác hợp lý cho ứng suất trượt thành mạch — yếu tố then chốt trong đánh giá rủi ro mạch máu. Việc xây dựng từ đầu bằng PyTorch cũng giúp người học hiểu rõ từng thành phần của mô hình, thay vì dùng hộp đen có sẵn.

Đây là ví dụ đẹp cho xu hướng "physics + machine learning": kết hợp sức mạnh xấp xỉ của mạng nơ-ron với tính chặt chẽ của phương trình vật lý, mở đường cho nhiều ứng dụng y sinh và kỹ thuật trong tương lai.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗