""" Tanh优点: 1、在分类任务中,双曲正切函数(Tanh)逐渐取代 Sigmoid 函数作为标准的激活函数,其具有很多神经网络所钟爱的特征。它是完全可微分的,反对称,对称中心在原点。 2、输出是S型曲线,具备打破网络层与网络层之间的线性关系,可以把网络层输出非线形地映射到 (−1,1) 区间里。负输入将被强映射为负,而零输入被映射为接近零;tanh 的输出间隔为1且值域是以0为中心的[-1,1](可以解决Sigmoid激活函数输出不以0为中心的问题。) 3、在一般的二元分类问题中,tanh 函数用于隐藏层,而 sigmoid 函数用于输出层,但这并不是固定的,需要根据特定问题进行调整。 Tanh不足: 1、当输入较大或较小时,输出几乎是平滑的并且梯度较小,这不利于权重更新。 2、Tanh函数也需要进行指数运算,所以其也会存在计算复杂度高且计算量大的问题。 3、当神经网络的层数增多的时候,由于在进行反向传播的时候,链式求导,多项相乘,函数进入饱和区(导数接近于零的地方)就会逐层传递,这种现象被称为梯度消失。 ———————————————— 版权声明:本文为CSDN博主「小wu学cv」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/caip12999203000/article/details/127067360 """ import torch import torch.nn as nn # Tanh函数 print('*' * 25 + "Tanh函数" + "*" * 25) m = nn.Tanh() input = torch.randn(2) print("原:", input) print("结果:", m(input)) print('*' * 50)