> For the complete documentation index, see [llms.txt](https://kerasnoone.gitbook.io/garnet/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kerasnoone.gitbook.io/garnet/shen-jing-wang-luo/ji-huo-han-shu/tanh.md).

# tanh

**tanh**函数是一个与sigmoid激活函数比较类似的激活函数, 公式如下:

$$\tanh (x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}=\frac{2}{1+e^{-2 x}}-1$$

从最后一项中可以看出tanh是对sigmoid函数进行**拉伸, 平移**操作得到的.

对应的导数表达式为:

$$\tanh^{'}(x) = 1-(\tanh (x))^{2}$$

相应的函数图像和导数图像为:

![](https://1942165044-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MI7KRyeBH5dlW-CkUtn%2Fsync%2F3eb3a7e7ac83f98813dedf340bf75798744f7616.jpg?generation=1601089832705736\&alt=media)

## 优点

* 类似于sigmoid函数, 梯度平滑
* 其导数的极大值为1, 相比于sigmoid函数的0.25的极大值, 梯度消失问题有所减缓
* 解决了sigmoid非zero-centered的问题, 训练时收敛的更快一些

## 缺点

* sigmoid的大部分缺点仍然存在
  * 计算量大(幂计算, 除法)
  * 梯度消失问题仍然没有解决
