✨Hàm softmax
Trong toán học, hàm softmax, hoặc hàm trung bình mũ, 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ồi quy đầu vào thành phương trình là kết quả của K hàm tuyến tính riêng biệt, và dự đoán xác suất cho lớp thứ j cho bởi véc tơ mẫu trọng số véc tơ là: : Đây có thể được coi là thành phần của K và hàm softmax (ở đây biểu khị kết quả của và ). Phép tính này tương đương với việc áp dụng toán tử được xác định bởi để tơ vậy, chuyển đổi nguyên bản, có thể rất nhiều chiều, véc tơ đầu vào nằm trong một K-chiều không gian .
Ví dụ
Nếu chúng ta có một đầu vào [1, 2, 3, 4, 1, 2, 3], các softmax đó là [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]. Đầu ra có trọng số cao nhất là giá trị '4' nằm trong vec tơ đầu vào. Đây là ví dụ về cách thông thường mà 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ị bé hơn đáng kể so với giá trị lớn nhất.
Sau đây là ví dụ về phép tính này bằng một đoạn mã Python đơn giản:
z = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0] z_exp = [math.exp(i) for i in z] print([round(i, 2) for i in z_exp]) [2.72, 7.39, 20.09, 54.6, 2.72, 7.39, 20.09] sum_z_exp = sum(z_exp) print(round(sum_z_exp, 2)) 114.98 softmax = [round(i / sum_z_exp, 3) for i in z_exp] print(softmax) [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]
Mạng neuron nhân tạo
Các hàm softmax thường được sử dụng trong lớp cuối cùng của thuật toán phân loại sử dụng mạng neuron. Như mạng thường được sử dụng trong phạm vi log-loss (hoặc cross-entropy), đưa ra một biến thể phi tuyến của hồi quy logistic đa biến.
Bằ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ơ, giá trị đạo hàm cần sử dụng chỉ số để tính toán: : Ở đây, sử dụng Kronecker delta làm cho biểu thức được đơn giản. (xem. đạo hàm của hàm sigmoid, được thể hiện thông qua chính hàm số đó).
Xem đa thức logit cho 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 lĩnh vực của học tăng cường, một hàm softmax có thể được sử dụng để chuyển đổi giá trị thành xác suất. Các hàm thường dùng là: : nơi 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 sự ám chỉ trong thống kê cơ học). Với nhiệt độ cao (), tất cả hành động như có cùng một xác suất và với nhiệt độ càng thấp hơn thì sự ảnh hưởng của hiệu quả mong muốn đến xác suất càng cao. Với nhiệt độ thấp (), xác suất của hành động với hiệu quả mong muốn lớn nhất sẽ có xu hướng tiến tới 1.
Chuẩn hóa softmax
Sigmoidal hay còn gọi là chuẩn hóa softmax là một cách làm giảm sự ảnh hưởng của các giá trị cực và ngoại lai trong dữ liệu mà không phải loại bỏ chúng ra khỏi dải dữ liệu. Đó là những dữ liệu ngoại lai hữu ích mà ta muốn giữ chúng trong dải dữ liệu trong khi vẫn đảm bảo sự ý nghĩa của dữ liệu trong phạm vi sai lệch chuẩn của giá trị trung bình. Dữ liệu được biến đổi phi tuyến sử dụng một trong những hàm sigmoidal sau:
Hàm logistic sigma: : Hàm hyperbolic, tanh: :
Hàm sigmoid làm giới hạn phạm vi của giá trị đã được bình thường hóa trong khoảng từ 0 đến 1. Hàm sigmoid gần như là tuyến tính trong phạm vi lân cận giá trị trung bình và là hàm phi tuyến liên tục tại hai cực, đảm bảo rằng tất cả các điểm giá trị đều nằm trong phạm vi giới hạn. Điều này đảm bảo cho độ chính xác của hầu hết giá trị nằm trong phạm vi lệch chuẩn của giá trị trung bình.
Hàm hyperbol
Mối quan hệ với phân phối Boltzman
Hàm softmax cũng là xác suất của các nguyên tử được tìm thấy trong trạng thái lượng tử của năng lượng khi nguyên tử là một phần của quần thể đạt trạng thái cân bằng nhiệt động tại nhiệt độ . Đó được biết là phân phối Boltzmann. Mối tương quan mong muốn của mỗi trạng thái là và đây là sự bình thường hóa để tổng các mức năng lượng tiến tới 1. Trong sự 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 .