Hàm Softsign là gì?
Softsign là một hàm kích hoạt (activation function) dùng trong mạng nơ-ron, được định nghĩa bởi công thức \(\varphi(x) = x / (1 + |x|)\). Giống như hàm tang hyperbolic (tanh), Softsign trơn, có dạng chữ S và bị giới hạn trong khoảng mở \((-1, 1)\). Điểm khác biệt mấu chốt nằm ở cách tiệm cận của nó: Softsign tiến tới \(\pm 1\) theo kiểu đa thức (tỉ lệ \(1/|x|\)), còn tanh thì tiến tới theo kiểu lũy thừa. Sự bão hòa chậm hơn này có thể giúp giảm hiện tượng triệt tiêu gradient (vanishing gradient) trong một số kiến trúc mạng.
Cách sử dụng công cụ này
Bạn nhập ba thông số: Giá trị x ban đầu (giá trị x ở dòng đầu tiên), Bước nhảy (lượng cộng thêm vào mỗi dòng) và Số lần lặp (số dòng cần tạo ra). Công cụ sẽ tạo một bảng gồm \(x\), giá trị Softsign \(\varphi(x)\) và đạo hàm bậc nhất \(\varphi'(x)\) cho từng điểm. Bạn có thể dùng bảng này để vẽ đường cong hoặc tra cứu các giá trị cụ thể.
Giải thích công thức
Với mỗi dòng, đặt \(a = 1 + |x|\). Khi đó $$\varphi(x) = \frac{x}{a}, \qquad \varphi'(x) = \frac{1}{a^2}.$$ Vì \(|x|\) không bao giờ âm nên mẫu số \(a\) luôn lớn hơn hoặc bằng 1, do đó không bao giờ xảy ra phép chia cho 0 và hàm số trơn ở mọi nơi. Hàm Softsign là hàm lẻ (\(\varphi(-x) = -\varphi(x)\)), còn đạo hàm của nó là hàm chẵn (\(\varphi'(-x) = \varphi'(x)\)). Tại gốc tọa độ, \(\varphi(0) = 0\) và \(\varphi'(0) = 1\).
Ví dụ minh họa
Với \(x = -5\): \(a = 1 + 5 = 6\), nên $$\varphi(-5) = \frac{-5}{6} = -0.8333333, \qquad \varphi'(-5) = \frac{1}{36} = 0.0277778.$$ Với \(x = 1\): \(a = 2\), nên \(\varphi(1) = 0.5\) và \(\varphi'(1) = 0.25\). Với \(x = 0\): \(a = 1\), nên \(\varphi(0) = 0\) và \(\varphi'(0) = 1\). Với các giá trị mặc định (bắt đầu \(-5\), bước \(0.1\), 101 dòng), bảng sẽ quét \(x\) từ \(-5\) đến \(+5\).
Câu hỏi thường gặp
Vì sao đạo hàm không bao giờ âm? Vì \(\varphi'(x) = \dfrac{1}{(1+|x|)^2}\) là nghịch đảo của một bình phương nên luôn dương ngặt, nghĩa là hàm Softsign luôn đồng biến (tăng đơn điệu).
Softsign khác tanh ở chỗ nào? Cả hai đều bão hòa về một khoảng giá trị giới hạn, nhưng Softsign bão hòa từ từ hơn (suy giảm kiểu hữu tỉ) so với suy giảm kiểu lũy thừa của tanh, nhờ đó giữ cho gradient không bị triệt tiêu trên một dải đầu vào rộng hơn.
Bước nhảy có thể âm không? Có. Bước nhảy âm sẽ khiến bảng giảm dần; bước nhảy bằng 0 sẽ lặp lại cùng một giá trị \(x\) ở mọi dòng.