Softmax activation function

Bách khoa toàn thư mở Wikipedia

Giới thiệu[sửa | sửa mã nguồn]

Softmax là hàm kích hoạt ở lớp ra trong một mạng atificial neural network (mạng nơ-ron nhân tạo) được sử dụng với bài toán phân loại nhị phân với nhiều classes (multi-class classification problems) ở lớp ra.

Công thức của Softmax function[sửa | sửa mã nguồn]

Chúng ta cần một mô hình xác suất sao cho với mỗi input , thể hiện xác suất để input đó rơi vào class . Vậy điều kiện cần là các phải dương và tổng của chúng bằng 1. Để có thể thỏa mãn điều kiện này, chúng ta cần nhìn vào mọi giá trị và dựa trên quan hệ giữa các này để tính toán giá trị của . Ngoài các điều kiện lớn hơn 0 và có tổng bằng 1, chúng ta sẽ thêm một điều kiện cũng rất tự nhiên nữa, đó là: giá trị càng lớn thì xác suất dữ liệu rơi vào class i càng cao. Điều kiện cuối này chỉ ra rằng chúng ta cần một hàm đồng biến ở đây.

Chú ý rằng có thể nhận giá trị cả âm và dương. Một hàm số mượt đơn giản có thể chắc chắn biến zithành một giá trị dương, và hơn nữa, đồng biến, là hàm exp(zi)=ezi. Điều kiện mượt để thuận lợi hơn trong việc tính đạo hàm sau này. Điều kiện cuối cùng, tổng các ai bằng 1 có thể được đảm bảo nếu:

Hàm số này, tính tất cả các ai dựa vào tất cả các zi, thỏa mãn tất cả các điều kiện đã xét: dương, tổng bằng 1, giữ được thứ tự của zi. Hàm số này được gọi là softmax function. Chú ý rằng với cách định nghĩa này, không có xác suất ai nào tuyệt đối bằng 0 hoặc tuyệt đối bằng 1, mặc dù chúng có thể rất gần 0 hoặc 1 khi zi rất nhỏ hoặc rất lớn khi so sánh với các zj,j≠i.

Lúc này, ta có thể giả sử rằng:

Trong đó được hiểu là xác suất để một điểm dữ liệu rơi vào class thứ nếu biết tham số mô hình (ma trận trọng số) là .

Tham khảo[sửa | sửa mã nguồn]