Tan_pytorch_segmentation/pytorch_segmentation/Activation_Function/Tanh.py

31 lines
1.7 KiB
Python
Raw Normal View History

2025-05-19 20:48:24 +08:00
"""
Tanh优点
1在分类任务中双曲正切函数Tanh逐渐取代 Sigmoid 函数作为标准的激活函数其具有很多神经网络所钟爱的特征它是完全可微分的反对称对称中心在原点
2输出是S型曲线具备打破网络层与网络层之间的线性关系可以把网络层输出非线形地映射到 (1,1) 区间里负输入将被强映射为负而零输入被映射为接近零tanh 的输出间隔为1且值域是以0为中心的[-1,1]可以解决Sigmoid激活函数输出不以0为中心的问题
3在一般的二元分类问题中tanh 函数用于隐藏层 sigmoid 函数用于输出层但这并不是固定的需要根据特定问题进行调整
Tanh不足
1当输入较大或较小时输出几乎是平滑的并且梯度较小这不利于权重更新
2Tanh函数也需要进行指数运算所以其也会存在计算复杂度高且计算量大的问题
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)