Skip to main content

Softmax

  • Cho vector đầu vào x=[x1,x2,...,xn]x = [x_1, x_2, ..., x_n]. Softmax cho phần tử thứ i có công thức sau: Softmax(xi)=exij=1nexjSoftmax(x_i) = \frac{e^{x_i}}{\sum_{j=1}^{n} e^{x_j}}

  • Softmax cũng là 1 hàm để chuẩn hóa vector. Nó khác L1 Normalization ở điểm là L1 đưa các phần tử theo tỉ lệ tuyến tính về khoảng [0, 1], còn Softmax khuếch đại sự chênh lệch nhỏ thành lớn về xác suất. Ví dụ:

    • Cho 1 vector [2, 4].

    • L1 Normalization ra kết quả [0.33, 0.67], vẫn là tỉ lệ gấp đôi.

    • Softmax ra kết quả [0.12, 0.88], khiến 4 có tỉ lệ lớn hơn hẳn 2, giúp mô hình hội tụ nhanh hơn vào đáp án đúng.

    • Có 1 điểm nữa là xử lí số âm. Với hàm mũ exe^x, softmax biến số âm thành xác suất rất nhỏ, không như L1 sẽ ra kết quả là số âm luôn (sai bản chất xác suất).