Công cụ này làm gì
Công cụ tính giá trị của hàm tang hyperbolic tanh(x) và, quan trọng hơn, đạo hàm bậc nhất tanh'(x) tại bất kỳ giá trị thực x nào. Nó cũng cho ra đạo hàm bậc hai tanh''(x). Tang hyperbolic là một hàm trơn, có dạng chữ S (hàm sigmoid) với giá trị đầu ra luôn nằm trong khoảng −1 đến 1. Chính nhờ đặc điểm này mà tanh xuất hiện rất nhiều trong vai trò hàm kích hoạt của mạng nơ-ron, cũng như trong các mô hình vật lý và kỹ thuật.
Cách sử dụng
Nhập một số thực bất kỳ cho \(x\) rồi bấm tính. Công cụ sẽ tính \(\tanh(x)\) một lần, sau đó suy ra cả đạo hàm bậc nhất lẫn bậc hai từ chính giá trị đó. Không cần đổi đơn vị: \(x\) là một số thực không thứ nguyên, và mọi kết quả đầu ra cũng đều không thứ nguyên.
Giải thích công thức
Hàm tang hyperbolic được định nghĩa là $$\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}.$$ Đạo hàm bậc nhất có dạng đóng rất gọn gàng: $$f'(x) = 1 - \tanh^{2}(x),$$ tương đương với \(\operatorname{sech}^2(x) = \frac{1}{\cosh^2(x)}\). Vì \(\tanh(x)\) luôn nằm trong khoảng \((-1, 1)\) nên đạo hàm bậc nhất luôn thuộc khoảng \((0, 1]\), đạt cực đại tại \(x = 0\) với độ dốc đúng bằng 1. Đạo hàm bậc hai là $$f''(x) = -2\tanh(x)\left(1 - \tanh^{2}(x)\right),$$ một hàm lẻ và bằng 0 tại \(x = 0\).
Ví dụ minh họa (x = 0,5)
$$\tanh(0{,}5) = \frac{1{,}6487212707 - 0{,}6065306597}{1{,}6487212707 + 0{,}6065306597} = 0{,}4621171573.$$ Khi đó $$f'(0{,}5) = 1 - 0{,}4621171573^2 = 0{,}7864477541,$$ và $$f''(0{,}5) = -2 \times 0{,}4621171573 \times 0{,}7864477541 = -0{,}7269278407.$$
Câu hỏi thường gặp
Vì sao gradient triệt tiêu khi x lớn? Khi \(x\) tăng, tanh tiến dần về \(\pm 1\), nên \(1 - \tanh^2\) tiến về 0. Hiện tượng "gradient triệt tiêu" này có thể làm chậm quá trình huấn luyện trong các mạng nơ-ron sâu.
Đạo hàm có bao giờ âm không? Không. \(f'(x) = \operatorname{sech}^2(x)\) luôn dương với mọi \(x\) thực, nên tanh luôn là hàm đồng biến.
Có nguy cơ chia cho 0 không? Không. \(\cosh(x)\) luôn lớn hơn hoặc bằng 1 với mọi \(x\) thực, nên \(\operatorname{sech}^2(x)\) luôn được xác định rõ ràng.