Softmax Là Gì?

Softmax là một hàm toán học biến đổi một tập hợp số thực bất kỳ thành phân phối xác suất. Nói cách khác, nó lấy đầu ra thô của mô hình (gọi là logits) và chuyển thành các giá trị từ 0 đến 1, sao cho tổng tất cả bằng 1. Mỗi giá trị đại diện cho xác suất mô hình tin rằng đầu vào thuộc về class tương ứng.
Minh hoạ đơn giản: bạn có 3 nhãn — mèo, chó, chim. Mô hình đưa ra điểm thô là [2.0, 1.0, 0.1]. Sau khi qua softmax, kết quả khoảng [0.7, 0.2, 0.1], nghĩa là mô hình tin 70% là mèo, 20% là chó, 10% là chim.
Softmax Hoạt Động Thế Nào?
Công thức softmax cho phần tử thứ i:
softmax(xi) = exp(xi) / Σ exp(xj)
Trong đó exp là hàm mũ e^x. Từng giá trị được lấy e mũ, rồi chia cho tổng tất cả các giá trị e mũ. Kết quả là mỗi đầu ra luôn dương và tổng bằng 1.
Điều quan trọng cần biết: softmax “khuếch đại” giá trị lớn nhất. Nếu một logit cao hơn hẳn các logit khác, xác suất tương ứng sẽ gần 1.0 và các class khác gần 0. Điều này giúp mô hình “quyết đoán” khi tự tin, nhưng cũng gây vấn đề khi cần phân biệt các class gần nhau.
Tại Sao Softmax Quan Trọng Trong Machine Learning?
Softmax xuất hiện ở khắp nơi trong deep learning, đặc biệt ở tầng đầu ra của mô hình phân loại. Khi bạn dùng một model classify ảnh, văn bản, hay giọng nói, gần như chắc chắn softmax đang ở cuối pipeline.
Một số ứng dụng tiêu biểu:
- Phân loại đa lớp (multi-class classification): Chuyển đầu ra thành xác suất cho từng class.
- Attention mechanism: Quyết định mô hình “chú ý” đến phần nào của đầu vào. Đây là thành phần cốt lõi của kiến trúc Transformer.
- Language modeling: Chọn từ tiếp theo từ vocab hàng chục nghìn từ.
Nếu bạn đã đọc bài về Attention Mechanism, softmax chính là hàm dùng để tính attention weight — quyết định từ nào quan trọng nhất trong câu.
Softmax Khác Sigmoid Ở Điểm Nào?
Nhiều người nhầm hai hàm này. Phân biệt đơn giản:
- Sigmoid: Dùng cho bài toán nhị phân. Mỗi đầu ra độc lập, không cần tổng bằng 1. Ví dụ: ảnh có thể vừa có mèo vừa có chó.
- Softmax: Dùng cho bài toán đa lớp độc lập. Các đầu ra phụ thuộc nhau, tổng bằng 1. Ví dụ: ảnh chỉ có thể là mèo HOẶC chó HOẶC chim.
Nói cách khác, softmax ép mô hình chọn một class duy nhất, trong khi sigmoid cho phép chọn nhiều class cùng lúc.
Temperature Trong Softmax
Một biến thể phổ biến là “temperature softmax”. Thay vì chia logit cho 1, bạn chia cho một giá trị T (temperature):
softmax(xi) = exp(xi / T) / Σ exp(xj / T)
- T thấp (vd 0.5): Kết quả “sắc” hơn — class có điểm cao sẽ chiếm xác suất áp đảo.
- T cao (vd 2.0): Kết quả “mềm” hơn — xác suất phân bố đều hơn giữa các class.
- T = 1: Softmax tiêu chuẩn.
Đây chính là tham số Temperature mà bạn thấy trong ChatGPT hay các LLM. Nó kiểm soát mức độ “sáng tạo” vs “an toàn” của phản hồi.
Ví Dụ Thực Tế: Softmax Trong ChatGPT
Khi ChatGPT tạo văn bản, ở mỗi bước nó phải chọn từ tiếp theo. Quy trình diễn ra như sau:
- Mô hình tính điểm cho mọi từ trong vocab (thường 50.000+ từ).
- Áp dụng softmax để chuyển điểm thành xác suất.
- Lấy mẫu (sampling) từ phân phối xác suất này để chọn từ tiếp theo.
Nếu không có softmax, mô hình chỉ có một bunch số vô nghĩa không thể so sánh. Softmax biến chúng thành “mức độ tin tưởng” có thể diễn giải được.
Hạn Chế Của Softmax
Softmax không hoàn hảo. Một vấn đề lớn là nó giả định các class loại nhau lẫn nhau (mutually exclusive). Trong thực tế, nhiều bài toán không như vậy — một bài báo có thể thuộc nhiều chủ đề cùng lúc.
Thêm nữa, softmax nhạy cảm với outlier. Một giá trị logit cực lớn có thể “nuốt” hết xác suất, làm các class khác bị gần 0 dù thực tế chúng cũng hợp lý.
Cuối cùng, khi vocab rất lớn (hàng trăm nghìn), tính softmax cho toàn bộ vocab tốn nhiều tính toán. Đó là lý do các kỹ thuật như hierarchical softmax hay sampled softmax ra đời.
Kết Luận
Softmax là một trong những hàm cơ bản nhất mà ai học machine learning đều cần hiểu. Nó là cầu nối giữa điểm số thô của mô hình và quyết định cuối cùng. Không có softmax, các mô hình phân loại hiện đại không thể hoạt động.
Nếu bạn đang tìm hiểu deep learning, hãy nắm vững softmax trước khi đi sâu vào các kiến trúc phức tạp hơn. Nó xuất hiện ở mọi nơi — từ CNN phân loại ảnh đến Transformer tạo văn bản — và hiểu được nó giúp bạn hiểu cách mô hình “suy nghĩ” khi ra quyết định.