Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Flow Matching

Flow matching huấn luyện mạng dự đoán vận tốc đưa nhiễu về dữ liệu; đây là mục tiêu huấn luyện đằng sau Stable Diffusion 3, FLUX.1 và Movie Gen.

Flow matching là phương pháp huấn luyện model tạo sinh biến nhiễu ngẫu nhiên thành dữ liệu bằng cách đi theo trường vận tốc đã học. Một mạng nơ-ron học hướng và tốc độ di chuyển của một điểm tại mọi vị trí và thời điểm từ 0 đến 1; tạo mẫu nghĩa là bắt đầu từ nhiễu Gaussian rồi tích phân vận tốc đó bằng bộ giải phương trình vi phân thông thường (ODE) cho đến thời điểm 1. Yaron Lipman và các cộng sự tại Meta AI cùng Viện Khoa học Weizmann giới thiệu phương pháp này trong Flow Matching cho mô hình tạo sinh tại ICLR 2023; hai bài báo đồng thời khác cũng đi đến gần như cùng mục tiêu dưới tên gọi rectified flow và stochastic interpolants. Flow matching huấn luyện flow chuẩn hóa liên tục mà không mô phỏng ODE trong quá trình huấn luyện, bao hàm model diffusion như một trường hợp đặc biệt, và là mục tiêu huấn luyện đằng sau Stable Diffusion 3, FLUX.1, Movie Gen của Meta cùng nhiều model giọng nói và robot gần đây.

Cách flow matching hoạt động#

Quá trình huấn luyện không bao giờ tạo ra dữ liệu. Mỗi bước lấy một mẫu dữ liệu x1, một mẫu nhiễu x0 từ phân phối Gaussian chuẩn và một thời điểm t từ 0 đến 1, rồi đặt một điểm trên đường thẳng nối chúng: xt = (1 - t) * x0 + t * x1. Điểm trên đường thẳng đó di chuyển với vận tốc không đổi x1 - x0, vì vậy mạng v(xt, t) được huấn luyện bằng sai số bình phương trung bình thông thường để dự đoán x1 - x0. Mỗi cặp nhiễu-dữ liệu chỉ xác định một đường đi, nhưng nhiều đường đi có thể qua cùng một điểm và vận tốc của toàn bộ flow từ nhiễu đến dữ liệu tại điểm đó là giá trị trung bình của các đường đi này. Bài báo chứng minh rằng hồi quy trên các mục tiêu đơn giản theo từng cặp cho cùng gradient như hồi quy trên giá trị trung bình khó tính toán đó; vì vậy, huấn luyện chỉ là hàm mất mát hồi quy thông thường, không cần mô phỏng ODE.

Quá trình tạo tích phân dx/dt = v(x, t) từ t = 0 đến t = 1, thường bằng các bước của bộ giải Euler hoặc bộ giải bậc cao hơn. Đoạn mã PyTorch này huấn luyện một mạng vận tốc nhỏ trên hai cụm điểm 2D rồi lấy mẫu với 1, 2 và 8 bước Euler:

import torch
from torch import nn

torch.manual_seed(0)
# Velocity network v(x, t) for 2D points; the data are two clusters at (2, 2) and (-2, -2)
net = nn.Sequential(nn.Linear(3, 128), nn.SiLU(), nn.Linear(128, 128), nn.SiLU(), nn.Linear(128, 2))
optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)
centers = torch.tensor([[2.0, 2.0], [-2.0, -2.0]])

for step in range(2000):
    x1 = centers[torch.randint(0, 2, (256,))] + 0.2 * torch.randn(256, 2)  # data samples
    x0 = torch.randn(256, 2)  # noise samples
    t = torch.rand(256, 1)
    xt = (1 - t) * x0 + t * x1  # point on the straight path from noise to data
    loss = ((net(torch.cat([xt, t], dim=1)) - (x1 - x0)) ** 2).mean()  # regress the path's velocity
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

# Generate: start from noise and follow the learned velocity field with Euler steps
for steps in (1, 2, 8):
    x = torch.randn(1000, 2)
    with torch.no_grad():
        for i in range(steps):
            x = x + net(torch.cat([x, torch.full((1000, 1), i / steps)], dim=1)) / steps
    near = (torch.cdist(x, centers).min(dim=1).values < 0.6).float().mean()
    print(f"{steps}-step sampling: {near:.0%} of samples land near a cluster")

Kết quả in ra 1-step sampling: 0% of samples land near a cluster, sau đó là 47% với 2 bước và 94% với 8 bước. Tại t = 0, mọi điểm nhiễu đều có cùng đích đến kỳ vọng là giá trị trung bình của dữ liệu, nên chỉ một bước duy nhất đưa mọi mẫu đến khoảng trống giữa hai cụm. Mỗi đường huấn luyện đều thẳng, nhưng các đường bắt đầu gần nhau lại kết thúc ở những cụm khác nhau, và flow học được lấy trung bình các đường đó vẫn có dạng cong. Vì vậy, bộ tạo chỉ cần vài bước bổ sung các kỹ thuật như reflow, tức huấn luyện lại trên các cặp nhiễu-mẫu do chính model tạo ra để làm thẳng flow, hoặc chưng cất thành model nhất quán.

  • Model diffusion: Huấn luyện diffusion làm nhiễu dữ liệu theo lịch nhiễu và dạy mạng dự đoán nhiễu được thêm vào, sau đó lấy mẫu bằng cách đảo ngược quy trình này. Bài báo về flow matching cho thấy mục tiêu của phương pháp này chấp nhận mọi đường đi xác suất Gaussian, bao gồm cả những đường đi được model diffusion sử dụng, và nhận thấy đây là cách huấn luyện ổn định hơn. Đường đi thẳng là một lựa chọn khác, đơn giản hơn. Cả hai họ phương pháp đều dùng chung các kiến trúc như transformer diffusion (DiT), hướng dẫn không cần classifier và bộ lấy mẫu ODE.
  • Rectified flow: Sử dụng cùng phép nội suy đường thẳng và loss vận tốc, vì vậy hai tên gọi phần lớn đồng nghĩa khi dùng đường đi tuyến tính. Bài báo về rectified flow bổ sung quy trình reflow để làm thẳng quỹ đạo hơn nữa.
  • Flow chuẩn hóa: Flow chuẩn hóa rời rạc xếp chồng các lớp khả nghịch và huấn luyện bằng likelihood chính xác. Flow chuẩn hóa liên tục, một dạng ODE nơ-ron, xác định phép biến đổi bằng ODE nhưng được huấn luyện bằng hợp lý cực đại, phương pháp giải ODE ở mọi bước huấn luyện. Flow matching huấn luyện cùng loại model ODE bằng hồi quy, không cần giải ODE.
  • Optical flow: Không liên quan dù tên gọi giống nhau. Optical flow là chuyển động biểu kiến của pixel giữa các frame video, còn flow matching di chuyển các mẫu trong không gian dữ liệu khả dĩ.

Ứng dụng của flow matching#

  • Tạo ảnh: Stability AI huấn luyện Stable Diffusion 3 bằng transformer rectified flow và lấy mẫu timestep huấn luyện từ phân phối logit-normal ưu tiên các mức nhiễu trung gian; FLUX.1 của Black Forest Labs là transformer rectified flow có 12 tỷ tham số. Hình ảnh từ các model chuyển văn bản thành hình ảnh này được dùng làm dữ liệu tổng hợp, bổ sung vật thể hiếm, thời tiết và góc nhìn vào tập dữ liệu huấn luyện model phát hiện YOLO26.
  • Tạo video: Movie Gen của Meta là transformer có 30 tỷ tham số, được huấn luyện bằng flow matching, có thể tạo video 1080p dài tối đa 16 giây với tốc độ 16 frame mỗi giây.
  • Giọng nói: Voicebox của Meta huấn luyện model flow matching phi tự hồi quy trên hơn 50.000 giờ giọng nói; trong tác vụ chuyển văn bản thành giọng nói zero-shot, model đạt tỷ lệ lỗi từ 1.9% so với 5.9% của VALL-E, đồng thời chạy nhanh hơn tới 20 lần. F5-TTS sau đó kết hợp flow matching với transformer diffusion.
  • Điều khiển robot: π0 của Physical Intelligence bổ sung một “chuyên gia hành động” flow matching 300 triệu tham số vào model thị giác-ngôn ngữ 3 tỷ tham số, tạo các nhóm gồm 50 hành động tương lai với 10 bước tích phân và điều khiển robot ở tần số lên đến 50 Hz.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning