当前位置: 首页 > wzjs >正文

网站规划和布局数据分析网

网站规划和布局,数据分析网,复杂大型网站建设成本,自己做的网站怎么设置信息必填PyTorch深度学习总结 第十章 PyTorch中torch.nn模块的激活函数 文章目录PyTorch深度学习总结前言一、激活函数的定义二、常见的激活函数1. Sigmoid函数2. Tanh函数3. ReLU函数4. Leaky ReLU函数4. Softmax函数三、激活函数的选择原则1.输出层激活函数选择2.隐藏层激活函数选择…

PyTorch深度学习总结

第十章 PyTorch中torch.nn模块的激活函数


文章目录

  • PyTorch深度学习总结
  • 前言
  • 一、激活函数的定义
  • 二、常见的激活函数
      • 1. Sigmoid函数
      • 2. Tanh函数
      • 3. ReLU函数
      • 4. Leaky ReLU函数
      • 4. Softmax函数
  • 三、激活函数的选择原则
      • 1.输出层激活函数选择
      • 2.隐藏层激活函数选择
  • 四、函数总结


前言

上文介绍torch.nn模块中的循环层,本文将进一步介绍torch.nn模块中的激活函数


一、激活函数的定义

激活函数是一种添加到人工神经网络中的函数,它将神经元的输入转换为输出。
在神经网络中,神经元接收到来自其他神经元的输入信号,这些信号通过加权求和后,再经过激活函数进行非线性变换,从而产生输出。
激活函数的主要作用是引入非线性因素
如果没有激活函数,无论神经网络有多少层,其整体都是一个线性模型,只能处理线性可分的问题。
引入激活函数后,神经网络可以学习和表示更加复杂的非线性关系,从而提高模型的表达能力和泛化能力。


二、常见的激活函数

1. Sigmoid函数

公式f(x)=11+e−xf(x)=\frac{1}{1 + e^{-x}}f(x)=1+ex1
特点:输出范围在(0, 1)之间,可以将输入值映射到这个区间,常用于二分类问题中作为输出层的激活函数,表示概率
例如,在判断一张图片是否是猫的二分类任务中,输出值越接近1表示是猫的概率越大,越接近0表示不是猫的概率越大。
缺点:存在梯度消失问题,当输入值非常大或非常小时,函数的导数趋近于0,这会导致在反向传播过程中梯度变得非常小,使得网络参数更新缓慢甚至停止更新。


2. Tanh函数

公式f(x)=ex−e−xex+e−xf(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}f(x)=ex+exexex
特点:输出范围在(-1, 1)之间,它是零中心化的,这使得它在某些情况下比Sigmoid函数更具优势。
例如,在一些需要输出值有正负之分的任务中,Tanh函数可以更好地满足需求。
缺点:同样存在梯度消失问题。


3. ReLU函数

公式f(x)=max⁡(0,x)f(x)=\max(0, x)f(x)=max(0,x)
特点:计算简单,收敛速度快,能够有效缓解梯度消失问题。当输入大于0时,导数为1,使得在反向传播过程中梯度能够正常传播。
例如,在深度卷积神经网络中,ReLU函数被广泛应用,大大提高了网络的训练效率。
缺点 :存在“死亡ReLU”问题,当输入值小于0时,导数为0,神经元可能会永远不会被激活,导致网络中部分神经元失效。


4. Leaky ReLU函数

公式f(x)={x,x≥0αx,x<0f(x)=\begin{cases}x, & x\geq0\\\alpha x, & x < 0\end{cases}f(x)={x,αx,x0x<0
其中(α\alphaα)是一个较小的正数,如0.01。
特点:它是对ReLU函数的改进,在输入值小于0时,也有一个非零的导数,避免了“死亡ReLU”问题。


4. Softmax函数

公式:对于一个包含 K 个元素的输入向量 z=(z1,z2,⋯,zKz_1,z_2,⋯,z_Kz1,z2,,zK),Softmax 函数的输出向量σ(z)σ(z)σ(z)=(σ(z1),σ(z2),⋯,σ(zK​)σ(z_1),σ(z_2),⋯,σ(z_K​)σ(z1),σ(z2),,σ(zK)) 中每个元素的计算公式为:
σ(zj)=ezj∑k=1Kezk\sigma(z_j)=\frac{e^{z_j}}{\sum_{k = 1}^{K}e^{z_k}}σ(zj)=k=1Kezkezj,其中 j=1,2,⋯,Kj = 1,2,\cdots,Kj=1,2,,K
特点它的输出可以直接解释为概率,非常适合用于多分类问题的输出层。Softmax 函数是单调递增的,即输入向量中的某个元素增大时,其对应的输出概率也会增大。Softmax 函数是可微的,这使得它可以在神经网络的训练过程中使用反向传播算法来计算梯度,从而更新模型的参数。
缺点Softmax 函数的计算涉及到指数运算和求和运算,当输入向量的维度 K 较大时,计算量会显著增加。由于使用了指数运算,输入向量中的异常大的值会使得对应的输出概率变得非常大,而其他值对应的概率会变得非常小。


三、激活函数的选择原则

1.输出层激活函数选择

  • 如果是二分类问题Sigmoid函数通常是一个不错的选择,因为它可以将输出映射到(0, 1)之间表示概率。
  • 对于多分类问题Softmax函数是常用的输出层激活函数,它可以将输出转换为概率分布,所有输出值之和为1。

2.隐藏层激活函数选择

  • ReLU函数及其变种(如Leaky ReLU)由于其计算简单和缓解梯度消失的优点,在大多数情况下是隐藏层的首选激活函数。
    但在一些特殊的网络结构或任务中,也可能会选择其他激活函数,如Tanh函数在一些递归神经网络中也有应用。

四、函数总结

以下是在PyTorch中常见激活函数的总结表格:

函数名称公式特点PyTorch实现类适用场景
ReLU(Rectified Linear Unit)f(x)=Max(0,x)f(x) = Max(0, x)f(x)=Max(0,x)将小于零的输入映射为0,大于等于零的输入保持不变;求导简单方便,但反向传播权值更新小于0时,会进入失活状态torch.nn.ReLU广泛用于卷积神经网络(如AlexNet)和多层感知机的隐藏层
Sigmoidf(x)=11+e−xf(x)=\frac{1}{1 + e^{-x}}f(x)=1+ex1将输入值映射到(0, 1)区间,输出可看作概率;存在梯度消失问题torch.nn.Sigmoid二分类问题的输出层
Softmaxσ(zj)=ezj∑k=1Kezk\sigma(z_j)=\frac{e^{z_j}}{\sum_{k = 1}^{K}e^{z_k}}σ(zj)=k=1Kezkezj,其中 j=1,2,⋯,Kj = 1,2,\cdots,Kj=1,2,,K将输入向量转换为概率分布,输出向量各元素和为1torch.nn.Softmax(可通过dim参数指定计算维度)多分类问题的输出层
Tanhf(x)=ex−e−xex+e−xf(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}f(x)=ex+exexex将输入值映射到(-1, 1)区间,输出关于原点对称torch.nn.Tanh适用于需要输出值有正负性的场景
http://www.dtcms.com/wzjs/516086.html

相关文章:

  • web版wordpress合肥优化
  • 景区网站怎么做牛推网络
  • 如何做起一个网站推广培训seo去哪家机构最好
  • php在动态网站开发中的应用研究b站在线观看
  • 商城网站前台html正规的计算机培训机构
  • 网站图片代码怎么做中央下令全国各地核酸检测
  • 阿里外贸平台网站建设自己怎么创建网站
  • 海南哪家公司做网站做的好产品推广运营的公司
  • 门户网站有武汉seo服务多少钱
  • 泉州做网站seo的搜索引擎广告形式有哪些
  • 潍坊专业网站建设怎么收费关键词如何优化排名
  • 做网站dreamwa哈尔滨网站优化流程
  • 在网站里面如何做支付工具百度网站认证
  • 网站建设预期周期网站需要改进的地方
  • 燕郊网站建设北京seo优化哪家公司好
  • 幸运飞艇网站建设正规推广赚佣金的平台
  • 深圳龙华网站建设公司网站搜索系统
  • 做漫画网站 漫画哪找如何做企业网页
  • 怎们自己做网站百度seo公司一路火
  • 河北省建设厅网站怎么登陆售卖链接
  • 最珠海appseo从0到1怎么做
  • 定制鞋子哪个网站好爱站网长尾关键词挖掘工具的作用
  • 安徽工程建设信息网站进皖企业百度seo教程
  • 二手书的网站建设朋友圈广告代理商官网
  • 智慧团建登录入口官网电脑版韶关seo
  • 手机网站导航设计360安全网址
  • 做网站图片切图是什么重庆好的seo平台
  • 网页图片代码合肥seo网站建设
  • 做营销网站视频seo外包方法
  • 西安公司网站建设哪家专业余姚关键词优化公司