Trong toán học, hàm softmax, còn gọi là hàm trung bình mũ, là một phiên bản mở rộng của hàm logistic cho không gian K-dimension với các giá trị thực, cung cấp kết quả nằm trong khoảng (0, 1], bao gồm cả giá trị 1. Công thức của hàm này được diễn tả như sau:
- Đối với mỗi j từ 1 đến K.
Trong lý thuyết xác suất, giá trị của hàm softmax có thể được xem như một phân phối xác suất trên K khả năng khác nhau. Thực tế, nó là một dạng chuẩn hóa của phân phối xác suất và có thể được coi là gradien logarit. Ví dụ: Elucidate
Hàm softmax được ứng dụng trong nhiều kỹ thuật phân loại đa lớp như hồi quy logistic đa biến, biệt thức tuyến tính phân tích nhiều lớp, phương pháp phân loại Bayes, và mạng neuron. Đặc biệt, trong hồi quy logistic đa biến và biệt thức tuyến tính phân tích, hàm hồi quy được phân tách thành K hàm tuyến tính riêng biệt, và xác suất dự đoán cho lớp j được tính bằng véc tơ mẫu x và véc tơ trọng số w. Ví dụ: Elucidate
Đây có thể được xem là một phần của K và hàm softmax (trong đó biểu diễn kết quả của và ). Phép toán này tương đương với việc áp dụng toán tử xác định bởi để chuyển đổi tơ , đưa từ không gian nhiều chiều thành không gian K-chiều với các véc tơ đầu vào.
Ví dụ
Nếu chúng ta có đầu vào [1, 2, 3, 4, 1, 2, 3], hàm softmax sẽ cho kết quả là [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]. Giá trị cao nhất trong đầu ra là '4', nằm trong véc tơ đầu vào. Đây là một ví dụ điển hình về cách hàm softmax được sử dụng: làm nổi bật giá trị lớn nhất và làm mờ các giá trị nhỏ hơn đáng kể so với giá trị lớn nhất.
Dưới đây là ví dụ về phép toán này thông qua đoạn mã Python đơn giản:
Mạng nơ-ron nhân tạo
Hàm softmax thường được áp dụng ở lớp cuối cùng của các thuật toán phân loại trong mạng nơ-ron. Chúng được dùng trong các bài toán log-loss (hoặc cross-entropy), cung cấp một biến thể phi tuyến của hồi quy logistic nhiều lớp.
Để tính toán giá trị đạo hàm cần thiết, sử dụng các hàm ánh xạ một véc tơ và chỉ số 'i' của phần tử trong véc tơ, chúng ta phải tính toán dựa trên chỉ số này:
Trong trường hợp này, sử dụng delta Kronecker giúp đơn giản hóa biểu thức (xem đạo hàm của hàm sigmoid, thể hiện qua chính hàm số đó).
Xem đa thức logit trong mô hình xác suất, sử dụng hàm softmax làm hàm kích hoạt.
Học tăng cường
Trong học tăng cường, hàm softmax có thể được dùng để chuyển đổi các giá trị thành xác suất. Các hàm thường gặp bao gồm:
Trong đó, giá trị của hành động tương ứng với hiệu quả mong muốn của hành động a và (một khái niệm trong thống kê cơ học). Với nhiệt độ cao (), tất cả các hành động có vẻ như có cùng một xác suất, và khi nhiệt độ giảm xuống, ảnh hưởng của hiệu quả mong muốn đến xác suất trở nên rõ rệt hơn. Với nhiệt độ thấp (), xác suất của hành động có hiệu quả mong muốn cao nhất sẽ gần đạt 1.
Chuẩn hóa hàm softmax
Chuẩn hóa softmax, hay còn gọi là hàm sigmoid, giúp giảm ảnh hưởng của các giá trị ngoại lai và cực đoan trong dữ liệu mà không cần phải loại bỏ chúng. Phương pháp này giữ lại những dữ liệu hữu ích trong khi vẫn duy trì ý nghĩa của dữ liệu trong khoảng sai lệch chuẩn của giá trị trung bình. Dữ liệu được biến đổi phi tuyến qua một trong những hàm sigmoid dưới đây:
Hàm logistic sigma:
Hàm hyperbolic tangh:
Hàm sigmoid giúp giới hạn giá trị đã được chuẩn hóa trong khoảng từ 0 đến 1. Trong vùng gần giá trị trung bình, hàm sigmoid hoạt động gần như tuyến tính, còn ở hai cực, nó là một hàm phi tuyến liên tục, đảm bảo rằng tất cả các giá trị đều nằm trong phạm vi đã được giới hạn. Điều này đảm bảo rằng độ chính xác của các giá trị hầu hết nằm trong phạm vi lệch chuẩn của giá trị trung bình.
Hàm hyperbolic, tanh, giới hạn giá trị chuẩn hóa trong khoảng từ -1 đến 1. Hàm này gần như là tuyến tính tại vùng lân cận của giá trị trung bình nhưng có độ dốc bằng một nửa so với hàm sigmoid. Tương tự như hàm sigmoid, tanh là một hàm phi tuyến liên tục, đơn điệu tại hai cực và đảm bảo tính khả vi tại mọi điểm, đồng thời việc chuẩn hóa không ảnh hưởng đến đạo hàm của nó. Điều này giúp các thuật toán tối ưu và tích phân tiếp tục dựa vào đạo hàm để ước lượng sự thay đổi của giá trị đầu ra khi đầu vào thay đổi trong khu vực gần điểm tuyến tính.
Liên hệ với phân phối Boltzmann
Hàm softmax cũng đại diện cho xác suất của các nguyên tử trong trạng thái lượng tử có năng lượng khi nguyên tử thuộc về quần thể đạt trạng thái cân bằng nhiệt động ở nhiệt độ . Đây là phân phối Boltzmann. Mối liên hệ mong muốn của mỗi trạng thái là và đây là sự chuẩn hóa để tổng các mức năng lượng tiến tới 1. Trong tương tự này, đầu vào của hàm softmax là phản năng lượng của mỗi trạng thái lượng tử chia bởi .
- Hàm Softplus
- Đa thức hồi quy logistic
- Phân phối Dirichlet – một phương pháp khác để lấy mẫu phân phối phân loại
- Mịn hóa tối ưu