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

t-distributed Stochastic Neighbor Embedding (t-SNE)

t-SNE ánh xạ dữ liệu nhiều chiều xuống 2D hoặc 3D sao cho các điểm lân cận vẫn nằm gần nhau, qua đó làm lộ ra các cụm. Tìm hiểu cách hoạt động, perplexity, hạn chế và code.

t-SNE (t-distributed stochastic neighbor embedding) là phương pháp giảm chiều phi tuyến, đưa các điểm dữ liệu nhiều chiều lên bản đồ hai hoặc ba chiều sao cho những điểm gần nhau trong không gian gốc vẫn gần nhau trên bản đồ. Laurens van der Maaten và Geoffrey Hinton giới thiệu phương pháp này trong một bài báo năm 2008 trên Journal of Machine Learning Research. Đây là công cụ tiêu chuẩn để trực quan hóa dữ liệu gồm embedding, đặc trưng hình ảnh và dữ liệu biểu hiện gene đơn bào, trong đó hàng trăm chiều che khuất các cụm mà biểu đồ phân tán 2D có thể làm lộ rõ.

Cách t-SNE hoạt động#

t-SNE chuyển khoảng cách thành xác suất trong cả hai không gian, sau đó dịch chuyển các điểm trên bản đồ cho đến khi hai tập xác suất khớp nhau:

  • Độ tương đồng trong không gian nhiều chiều: Với mỗi điểm, t-SNE đặt một phân phối Gaussian lên khoảng cách đến mọi điểm khác và chuyển các khoảng cách đó thành xác suất chọn từng điểm làm láng giềng. Độ rộng của mỗi phân phối Gaussian được điều chỉnh sao cho perplexity của phân phối, xấp xỉ số láng giềng hiệu dụng, khớp với giá trị do người dùng thiết lập; nhờ đó, vùng dày đặc có phân phối Gaussian hẹp còn vùng thưa có phân phối Gaussian rộng.
  • Độ tương đồng trong không gian ít chiều: Trên bản đồ, độ tương đồng được tính từ phân phối t của Student với một bậc tự do; phần đuôi nặng của phân phối cho phép các điểm cách nhau vừa phải nằm xa nhau. Điều này giảm vấn đề chen chúc: bản đồ 2D không đủ chỗ để thể hiện tất cả các láng giềng cách nhau vừa phải mà một điểm trong không gian nhiều chiều có thể có.
  • Tối ưu hóa: Gradient descent dịch chuyển các điểm trên bản đồ để giảm thiểu độ phân kỳ Kullback-Leibler giữa hai phân phối. Giai đoạn phóng đại sớm nhân độ tương đồng trong không gian nhiều chiều lên 12 lần trong scikit-learn, giúp các cụm tự nhiên hình thành thành nhóm chặt chẽ, tách biệt rõ ngay từ đầu.

t-SNE chính xác so sánh mọi cặp điểm nên chi phí tăng theo bình phương kích thước tập dữ liệu. Phép xấp xỉ Barnes-Hut, mặc định trong scikit-learn, giảm độ phức tạp xuống O(N log N) cho bản đồ 2D và 3D; các triển khai tăng tốc bằng FFT như openTSNE xử lý được hàng triệu điểm.

Perplexity và cách đọc biểu đồ t-SNE#

Perplexity là thiết lập quan trọng nhất. Các giá trị từ 5 đến 50 thường được sử dụng, giá trị mặc định của scikit-learn là 30 và perplexity phải nhỏ hơn số điểm. Perplexity thấp tập trung vào cấu trúc rất cục bộ và có thể chia một nhóm thành nhiều phần, còn perplexity cao hòa trộn các nhóm lân cận và thể hiện nhiều hơn bố cục tổng thể. Vì quá trình tối ưu hóa không lồi nên các seed ngẫu nhiên khác nhau có thể tạo ra bản đồ khác nhau.

Có ba đặc điểm khiến biểu đồ t-SNE dễ bị diễn giải sai. Kích thước cụm trên bản đồ ít cho biết mức độ phân tán của các cụm ban đầu, vì t-SNE làm giãn các nhóm dày đặc và thu hẹp các nhóm thưa. Khoảng cách giữa các cụm cũng không đáng tin cậy; ở perplexity thấp, ngay cả nhiễu ngẫu nhiên cũng có thể trông như tạo thành cụm. TSNE của scikit-learn cũng không có phương thức transform, vì vậy bản đồ đã khớp không thể bố trí các điểm mới nếu không tính toán lại; tọa độ t-SNE cũng hiếm khi được dùng làm đặc trưng đầu vào cho model khác.

t-SNE, PCA và UMAP#

Phân tích thành phần chính (PCA) là phương pháp tuyến tính, có tính xác định, bảo toàn các hướng có phương sai tổng thể lớn nhất và chiếu các điểm mới ngay lập tức. t-SNE là phương pháp phi tuyến, ngẫu nhiên và bảo toàn các vùng lân cận cục bộ. Hai phương pháp thường được kết hợp: giảm dữ liệu có số chiều rất cao xuống khoảng 50 chiều bằng PCA trước khi chạy t-SNE giúp lọc nhiễu và tăng tốc tính toán; theo mặc định, t-SNE của scikit-learn khởi tạo bản đồ từ PCA, nhờ đó giữ được nhiều hơn bố cục tổng thể. UMAP, được giới thiệu năm 2018, cũng xây dựng đồ thị láng giềng, thường chạy nhanh hơn trên các tập dữ liệu lớn, thường giữ được nhiều cấu trúc tổng thể hơn và có thể nhúng các điểm mới vào bản đồ hiện có.

Ví dụ này chiếu các chữ số viết tay 64 pixel đi kèm scikit-learn xuống 2D bằng cả hai phương pháp, sau đó đo độ tin cậy, tức mức độ mà các láng giềng gần nhất của mỗi điểm trên bản đồ cũng là láng giềng của điểm đó trong không gian 64 chiều:

from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.manifold import TSNE, trustworthiness

# 1,797 handwritten digits, each an 8x8 image flattened to 64 features
X, y = load_digits(return_X_y=True)

# Project to 2D with a linear method and with t-SNE
X_pca = PCA(n_components=2).fit_transform(X)
X_tsne = TSNE(n_components=2, perplexity=30, random_state=0).fit_transform(X)

# Trustworthiness near 1.0 means a point's 2D neighbors were also its 64D neighbors
print(f"PCA trustworthiness:   {trustworthiness(X, X_pca, n_neighbors=10):.3f}")
print(f"t-SNE trustworthiness: {trustworthiness(X, X_tsne, n_neighbors=10):.3f}")

Script in ra 0.830 cho PCA và 0.993 cho t-SNE. Việc nén 64 chiều vào hai hướng tuyến tính khiến nhiều điểm nằm cạnh các chữ số vốn ở xa chúng trong không gian 64 chiều, còn bản đồ t-SNE giữ lại gần như toàn bộ quan hệ láng giềng gần nhất trong số 10 láng giềng ban đầu.

Ứng dụng thực tế#

  • Kiểm tra các đặc trưng đã học: Chiếu đầu ra trích xuất đặc trưng của mạng cho thấy các lớp có hình ảnh tương tự có tạo thành các nhóm riêng biệt hay không. Model YOLO26 trả về một vector đặc trưng cho mỗi hình ảnh qua model.embed(), mặc định lấy từ lớp áp chót; bản đồ t-SNE của các vector này cho thấy model được huấn luyện tùy chỉnh phân tách các lớp như thế nào.
  • Tuyển chọn bộ dữ liệu: Ảnh nằm trong cụm của lớp khác thường bị gán nhãn sai, còn các cụm điểm sít nhau gồm ảnh gần như giống hệt nhau cho thấy có thể bị trùng lặp. Bảng Clustering trong Ultralytics Platform chiếu embedding ảnh của bộ dữ liệu lên biểu đồ phân tán 2D tương tự để kiểm tra những trường hợp này.
  • Embedding từ và tài liệu: Bản đồ vector từ đặt các từ có liên quan, chẳng hạn tên quốc gia hoặc số, vào các nhóm lân cận.
  • Hệ gene đơn bào: Các nhà nghiên cứu giảm biểu hiện của hàng nghìn gene trong mỗi tế bào xuống 2D để xác định loại tế bào; t-SNE từng là phương pháp tiêu chuẩn trong phân tích này trước khi nhiều nhóm chuyển sang UMAP.

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