Softmax
Khám phá hàm Softmax trong AI. Tìm hiểu cách nó chuyển đổi logits thành xác suất cho phân loại đa lớp bằng Ultralytics YOLO26 và mạng thần kinh.
Softmax là một hàm toán học đóng vai trò cốt lõi trong lĩnh vực trí tuệ nhân tạo, cụ thể là bước cuối cùng trong nhiều thuật toán phân loại. Hàm này biến đổi một véc-tơ các số thô, thường gọi là logits, thành một véc-tơ xác suất. Phép biến đổi này đảm bảo rằng các giá trị đầu ra đều dương và có tổng bằng đúng một, qua đó tạo ra một phân phối xác suất hợp lệ. Nhờ đặc tính này, Softmax là hàm kích hoạt tiêu chuẩn được sử dụng ở lớp đầu ra của các mạng nơ-ron thiết kế cho việc phân loại đa lớp, nơi hệ thống phải chọn một danh mục duy nhất từ hơn hai tùy chọn loại trừ lẫn nhau.
Cơ chế của Softmax#
Trong một quy trình học sâu (DL) điển hình, các lớp của mạng thực hiện các phép nhân ma trận và cộng phức tạp. Đầu ra của lớp cuối cùng, trước khi kích hoạt, bao gồm các điểm số thô được gọi là logits. Các giá trị này có thể dao động từ âm vô cực đến dương vô cực, khiến chúng khó được diễn giải trực tiếp dưới dạng mức độ tin cậy.
Softmax giải quyết vấn đề này bằng cách thực hiện hai thao tác chính:
-
Lũy thừa (Exponentiation): Nó tính lũy thừa của mỗi số đầu vào. Bước này đảm bảo rằng tất cả các giá trị đều không âm (vì $e^x$ luôn dương) và phạt các giá trị thấp hơn đáng kể so với mức tối đa, đồng thời làm nổi bật các điểm số lớn nhất.
-
Chuẩn hóa: Hàm này tính tổng các giá trị đã được lũy thừa cơ số e và chia mỗi số mũ riêng lẻ cho tổng này. Quy trình chuẩn hóa này điều chỉnh các con số để chúng đại diện cho các phần của một tổng thể, cho phép các nhà phát triển diễn giải chúng dưới dạng điểm số tin cậy theo phần trăm.
Các ứng dụng trong thực tế#
Khả năng đưa ra xác suất rõ ràng giúp Softmax trở nên không thể thiếu trong nhiều ngành công nghiệp và tác vụ học máy (ML).
- Phân loại hình ảnh: Trong thị giác máy tính, các mô hình sử dụng Softmax để phân loại hình ảnh. Ví dụ, khi mô hình phân loại Ultralytics YOLO26 phân tích một bức ảnh, mô hình có thể tạo ra điểm số cho các lớp như "Golden Retriever," "German Shepherd," và "Poodle." Softmax chuyển đổi các điểm số này thành xác suất (ví dụ: 0.85, 0.10, 0.05), biểu thị mức độ tự tin cao rằng hình ảnh chứa một chú chó Golden Retriever. Điều này rất quan trọng đối với các ứng dụng từ tự động tổ chức ảnh đến chẩn đoán y tế trong AI trong Y tế.
- Xử lý ngôn ngữ tự nhiên (NLP): Softmax là động cơ đằng sau việc tạo văn bản trong các Mô hình Ngôn ngữ lớn (LLM). Khi một mô hình như Transformer tạo ra một câu, nó dự đoán từ (token) tiếp theo bằng cách tính điểm số cho mọi từ trong từ vựng của nó. Softmax biến đổi các điểm số này thành xác suất, cho phép mô hình chọn từ tiếp theo có khả năng xảy ra cao nhất, hỗ trợ dịch máy trôi chảy và AI hội thoại.
- Học tăng cường: Các tác nhân trong học tăng cường thường sử dụng Softmax để chọn hành động. Thay vì luôn chọn hành động có giá trị cao nhất, tác nhân có thể sử dụng các xác suất để khám phá các chiến lược khác nhau, cân bằng giữa việc khám phá và khai thác trong các môi trường như điều khiển robot hoặc chơi game.
Ví dụ mã Python#
Ví dụ sau minh họa cách tải một mô hình phân loại YOLO26 được huấn luyện sẵn và truy cập các điểm số xác suất được tạo thông qua Softmax.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on a sample image
results = model("https://ultralytics.com/images/bus.jpg")
# The model applies Softmax internally. Access the top prediction:
# The 'probs' attribute contains the probability distribution.
top_prob = results[0].probs.top1conf.item()
top_class = results[0].names[results[0].probs.top1]
print(f"Predicted Class: {top_class}")
print(f"Confidence (Softmax Output): {top_prob:.4f}")Phân biệt Softmax với các khái niệm liên quan#
Mặc dù Softmax chiếm ưu thế trong các kịch bản đa lớp, điều quan trọng là phải phân biệt nó với các hàm toán học khác được sử dụng trong huấn luyện mô hình và thiết kế kiến trúc:
- Sigmoid: Hàm Sigmoid cũng chuẩn hóa các giá trị trong khoảng từ 0 đến 1, nhưng nó xử lý từng đầu ra một cách độc lập. Điều này làm cho Sigmoid trở nên lý tưởng cho phân loại nhị phân (có/không) hoặc phân loại đa nhãn nơi các lớp không loại trừ lẫn nhau (ví dụ: một hình ảnh có thể chứa cả "Người" và "Ba lô"). Softmax buộc tổng các xác suất phải bằng một, khiến các lớp cạnh tranh với nhau.
- ReLU (Rectified Linear Unit): ReLU được sử dụng chủ yếu trong các lớp ẩn của mạng để giới thiệu tính phi tuyến tính. Không giống như Softmax, ReLU không giới hạn đầu ra trong một phạm vi cụ thể (nó chỉ đơn giản trả về giá trị không đối với đầu vào âm và chính đầu vào đó đối với đầu vào dương) và không tạo ra phân phối xác suất.
- Argmax: Trong khi Softmax cung cấp xác suất cho tất cả các lớp, hàm Argmax thường được sử dụng kết hợp để chọn chỉ mục duy nhất có xác suất cao nhất. Softmax cung cấp mức độ tin cậy "mềm", trong khi Argmax cung cấp quyết định cuối cùng "cứng".
Tích hợp nâng cao#
Trong các pipeline ML hiện đại, Softmax thường được tính toán ẩn bên trong các hàm mất mát. Ví dụ, Cross-Entropy Loss kết hợp Softmax và hàm hợp lý âm log thành một bước toán học duy nhất để cải thiện độ ổn định số trong quá trình huấn luyện. Các nền tảng như Ultralytics Platform xử lý các độ phức tạp này một cách tự động, cho phép người dùng huấn luyện các mô hình mạnh mẽ mà không cần phải tự triển khai các phép toán này.






