Softmax
Khám phá hàm Softmax trong Trí tuệ Nhân tạo. Tìm hiểu cách nó chuyển đổi logit thành xác suất để phân loại đa lớp. Ultralytics YOLO26 và mạng nơ-ron.
Softmax là một hàm toán học đóng vai trò then chốt trong lĩnh vực trí tuệ nhân tạo, đặc biệt là bước cuối cùng trong nhiều thuật toán phân loại. Nó biến đổi một vectơ các số thô, thường được gọi là logit, thành một vectơ xác suất. Sự biến đổi này đảm bảo rằng tất cả các giá trị đầu ra đều dương và tổng của chúng bằng chính xác một, tạo ra một phân phối xác suất hợp lệ. Do đặc tính này, Softmax là hàm kích hoạt tiêu chuẩn được sử dụng trong lớp đầu ra của mạng nơ-ron được thiết kế cho phân loại đa lớp, trong đó hệ thống phải chọn một danh mục duy nhất từ hơn hai lựa chọn loại trừ lẫn nhau.
Cơ chế của Softmax
Trong 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 và cộng ma trận 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à logit . Các giá trị này có thể nằm trong khoảng từ âm vô cực đến dương vô cực, khiến chúng khó có thể được diễn giải trực tiếp như 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:
-
Phép lũy thừa: Bước này tính lũy thừa của mỗi số đầu vào. Nó đảm bảo 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 giá trị tối đa, đồng thời làm nổi bật các giá trị có điểm số cao nhất.
-
Chuẩn hóa: Quá trình này cộng các giá trị lũy thừa lại với nhau và chia mỗi số mũ riêng lẻ cho tổng đó. Quá trình chuẩn hóa này điều chỉnh tỷ lệ các số để chúng thể hiện 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 như điểm số độ tin cậy phần trăm.
Các Ứng dụng Thực tế
Khả năng đưa ra xác suất rõ ràng khiến Softmax trở nên không thể thiếu trong nhiều ngành công nghiệp và các nhiệm vụ học máy (ML) khác nhau.
-
Phân loại ảnh: Trong thị giác máy tính, các mô hình sử dụng hàm Softmax để phân loại ảnh. Ví dụ, khi mô hình phân loại Ultralytics YOLO26 phân tích một bức ảnh, nó có thể đưa ra điểm số cho các lớp như "Chó săn vàng", "Chó chăn cừu Đức" và "Chó Poodle". Hàm 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), cho thấy độ tin cậy cao rằng hình ảnh đó chứa chó săn vàng. Điều này rất quan trọng đối với các ứng dụng từ việc tự động sắp xếp ảnh đến chẩn đoán y tế trong AI trong chăm sóc sức khỏe .
-
Xử lý ngôn ngữ tự nhiên (NLP): Softmax là cô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 cho mỗi từ trong từ vựng của nó. Softmax chuyể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 nhất, giúp cho việc dịch máy trở nên mượt mà và trí tuệ nhân tạo đàm thoại được thuận lợi.
-
Học tăng cường: Trong học tăng cường, các tác nhân thường sử dụng hàm Softmax để lựa 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 xác suất để khám phá các chiến lược khác nhau, cân bằng giữa 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.
Python Ví dụ mã
Ví dụ sau đây minh họa cách tải mô hình phân loại YOLO26 đã được huấn luyện trước và truy cập điểm xác suất được tạo ra thông qua hàm 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:
-
Hàm Sigmoid : Hàm Sigmoid cũng điều chỉnh giá trị trong khoảng từ 0 đến 1, nhưng nó xử lý mỗi đầu ra một cách độc lập. Điều này làm cho Sigmoid lý tưởng cho phân loại nhị phân (có/không) hoặc phân loại đa nhãn, trong đó 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ô"). Hàm Softmax buộc tổng 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 chủ yếu được sử dụng trong các lớp ẩn của mạng nơ-ron để tạo ra 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 là xuất ra 0 cho đầu vào âm và chính đầu vào đó cho đầu vào dương) và không tạo ra phân bố 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ỉ số duy nhất có xác suất cao nhất. Softmax cung cấp độ tin cậy "mềm", trong khi Argmax cung cấp quyết định cuối cùng "cứng rắn".
Tích hợp nâng cao
Trong các quy trình học máy hiện đại, hàm Softmax thường được tính toán ngầm định trong các hàm mất mát. Ví dụ, hàm mất mát Cross-Entropy kết hợp Softmax và log-likelihood âm thành một bước toán học duy nhất để cải thiện tính ổn định số học trong quá trình huấn luyện. Các nền tảng như Ultralytics Platform tự động xử lý những phức tạp này, cho phép người dùng huấn luyện các mô hình mạnh mẽ mà không cần tự mình thực hiện các phép toán này.