Normalizing Flows
Khám phá normalizing flows, cách các mạng thần kinh khả nghịch (invertible neural networks) cho phép tính toán likelihood chính xác, và các ứng dụng của chúng trong generative AI, phát hiện bất thường (anomaly detection), hình ảnh y tế, và mô hình hóa độ bất định.
Normalizing flows là các mô hình generative AI học phép ánh xạ khả nghịch giữa một phân phối xác suất đơn giản, thường là nhiễu Gaussian, và một phân phối dữ liệu phức tạp. Khác với nhiều mô hình sinh, chúng vừa có thể tạo mẫu vừa tính toán chính xác độ khả dĩ của dữ liệu một cách hiệu quả. Điều này giúp chúng hữu ích trong việc ước lượng mật độ, mô hình hóa độ bất định, và học các latent spaces có cấu trúc, như được giải thích trong tài liệu tổng quan về normalizing flows nền tảng. (arxiv.org)
Cách hoạt động của Normalizing Flows#
Một flow áp dụng một chuỗi các phép biến đổi neural-network có thể đảo ngược:
- Lấy mẫu một điểm từ một phân phối cơ sở đơn giản.
- Biến đổi nó thông qua một số lớp khả nghịch.
- Theo dõi cách mỗi lớp mở rộng hoặc thu hẹp mật độ xác suất bằng cách sử dụng Jacobian determinant của nó.
- Đảo ngược các phép biến đổi khi tính toán xác suất của dữ liệu quan sát được.
Hướng dẫn Pyro normalizing flow cung cấp các ví dụ thực tế về việc lấy mẫu và đánh giá mật độ. Mặc dù tên gọi nghe có vẻ giống, normalizing flows không giống với normalization đặc trưng hoặc batch normalization. Ở đây, “normalizing” có nghĩa là biến đổi một phân phối phức tạp thành một phân phối chuẩn.
Các thiết kế truyền thống yêu cầu các lớp khả nghịch được cấu trúc cẩn thận. Nghiên cứu Free-form Flows gần đây nới lỏng hạn chế này, trong khi phân tích tính phổ quát của các luồng dựa trên ghép nối năm 2024 giải thích lý do tại sao các lớp ghép nối afin vẫn duy trì hiệu quả. (proceedings.mlr.press)
Các ứng dụng trong thực tế#
- Phát hiện bất thường công nghiệp: Một flow có thể mô hình hóa các embedding từ các sản phẩm không có lỗi và gắn cờ các mẫu không khả thi trong quá trình kiểm tra trực quan. Tuy nhiên, độ khả dĩ đơn thuần không phải lúc nào cũng là điểm số ngoài phân phối đáng tin cậy, như đã được chỉ ra bởi nghiên cứu của NeurIPS về lỗi độ khả dĩ của flow. Hãy xác thực kết quả bằng các số liệu cụ thể theo tác vụ và dữ liệu bất thường đại diện. (proceedings.neurips.cc)
- Hình ảnh y tế: Mô hình flow siêu âm xuyên sọ năm 2024 sử dụng normalizing flows để tái tạo nhanh hơn và ước lượng độ bất định. Các kỹ thuật tương tự có thể hỗ trợ phân tích hình ảnh y tế nơi các dự đoán cần khoảng tin cậy. (proceedings.mlr.press)
- Dữ liệu tổng hợp và hiệu chuẩn: Các flow có thể tạo ra dữ liệu tổng hợp có cấu trúc hoặc mô hình hóa lỗi dự đoán. Công trình năm 2024 về normalizing flows cho hồi quy tuân thủ thể hiện các khoảng độ bất định thích ứng tốt hơn. Dữ liệu thị giác được tạo ra có thể được chú thích, huấn luyện và triển khai thông qua Ultralytics Platform. (proceedings.mlr.press)
Normalizing Flows so với các phương pháp liên quan#
Flow matching thường huấn luyện một trường vận tốc liên tục với mục tiêu hồi quy, như được chi tiết trong Hướng dẫn Flow Matching của Meta. Ngược lại, các normalizing flows truyền thống nhấn mạnh các phép biến đổi khả nghịch và tối ưu hóa độ khả dĩ trực tiếp. Rectified flow tìm kiếm các đường vận chuyển thẳng hơn, trong khi diffusion models tạo dữ liệu thông qua quá trình khử nhiễu lặp đi lặp lại. Normalizing flows cũng khác với Generative Flow Networks, vốn học các chính sách để xây dựng các đối tượng rời rạc, và khác với GANs, vốn thông thường không cung cấp độ khả dĩ chính xác. (ai.meta.com)
Những phát triển gần đây và các phương pháp tối ưu#
Các kiến trúc dựa trên Transformer đã làm dấy lên sự quan tâm trở lại đối với các flow. Nghiên cứu TarFlow năm 2025 đã báo cáo việc tạo ảnh cạnh tranh với các phương pháp khuếch tán, trong khi Jet hiện đại hóa các flow ghép nối bằng Vision Transformers. Vào năm 2026, quá trình huấn luyện flow dựa trên hồi quy đã kết nối normalizing flows với các mục tiêu theo phong cách flow-matching, và SESaMo đã tích hợp các tính đối xứng vật lý chính xác. (proceedings.mlr.press)
Đối với các ứng dụng thị giác, một cách tiếp cận thực tế là mô hình hóa các embedding cấp cao thay vì pixel thô:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
embeddings = model.embed("https://ultralytics.com/images/bus.jpg")
print(embeddings[0].shape)Các embedding Ultralytics YOLO26 này có thể trở thành đầu vào cho một flow được huấn luyện riêng biệt để ước lượng mật độ hoặc chấm điểm bất thường. Hãy sử dụng tiền xử lý dữ liệu cẩn thận và đánh giá độ khả dĩ song song với hiệu suất hạ nguồn thay vì coi nó như một thước đo chất lượng hoàn chỉnh.






