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

福建公司网站开发绚丽网站

福建公司网站开发,绚丽网站,多渠道分销系统,松江做网站多少钱论生物神经元与神经网络中的神经元联系——为什么使用激活函数#xff1f; 我们将生物体中的神经元与神经网络中的神经元共同分析。从下图可以看出神经网络中的神经元与生物体中的神经元有很多相似之处#xff0c;由于只有刺激达到一定的程度人体才可以感受到刺激#xff0c…论生物神经元与神经网络中的神经元联系——为什么使用激活函数 我们将生物体中的神经元与神经网络中的神经元共同分析。从下图可以看出神经网络中的神经元与生物体中的神经元有很多相似之处由于只有刺激达到一定的程度人体才可以感受到刺激并且人体对刺激做出的响应是有限的所以在输出之前应该经过激活函数。这个激活函数可以将原来发散的数据变成收敛的数据。 什么是梯度 函数在某一点的梯度是这样一个向量它的方向与取得最大方向导数的方向一致而它的模为方向导数的最大值。 接下来我们将研究激活函数的梯度问题我们将从代码实践中获得明确的结果更清楚激活函数的作用。 激活函数及其梯度 我们如果使用如下函数会发现在0点函数是不可导的我们找到一个近似此函数的分布的可导函数。 1、Sigmoid/Logistic sigmoid函数的取值范围为[0, 1]因此可以使用sigmoid函数可以对数据进行压缩。 注意由于sigmoid函数随着x的增大会逐渐趋近于1此时sigmod的导数就是趋近于0就是梯度为0在对参数进行更新的过程中我们会使用到梯度新参数旧参数-学习率*梯度这就会导致参数长时间得不到更新造成梯度离散的情况。 对sigmoid函数求导可以得到。由于激活函数在神经网络中是已知的因此sigmoid函数的导数也是已知的这非常有利于我们的计算。 代码演示 我们从代码情况中可以明显看到经过sigmoid 函数之后所有的值都在0-1范围内sigmoid函数的确对数据起到了一个压缩效果。 这里的torch.sigmoid()也可以使用F.sigmoid()其中F来自于torch.nn.functional as F。 2、Tanh 对Tanh函数进行求导得到 代码演示 应用RNN  3、ReLU ReLU激活函数是我们使用最多的因为它再一定程度上解决了梯度离散的问题并且它的导数非常的简单在小于0时为0在大于0时为1。相对于Sigmoid激活函数在一定情况下解决了梯度离散的情况在现实中它表现出来的深度学习效果也是非常好的。 对ReLU函数进行求导 代码演示 最后的结果小于零的数值都取值为0大于零的不改变。但是这个函数怎么对数据进行压缩锕我们可以通过多个ReLU函数进行叠加具体可以参考机器学习笔记持续更新-CSDN博客ReLU函数在最后。 4、Leaky ReLU ReLU函数再x 0时导数为0会出现梯度离散的情况Leaky ReLU函数很好的解决了这一问题。 并且使用非常简单直接调用LeakyReLU()函数即可并且可以通过属性指定x 0时的倾斜角度代码示例 5、SELU 为了解决ReLU函数在x 0时是不可导的引入了SELU函数这个函数是由ReLU函数和一个指数函数组合而成。 6、softplus softplus函数在0点左右的切线正好交与原点。 Loss及其梯度 损失函数主要分为均方差损失Mean Squared Error、交叉熵损失Cross Entropy Loss。 1、MSEMean Squared Error 我们使用一个线性感知机问题讨论MSE。我们来看两种损失函数计算的方式 将模型预测值模型推广到任意模型将参数统称为对损失函数进行求导。  注意在对w求梯度之前一定要记得对参数进行更新  1利用autograd.grad()求梯度 不对w进行更新会报错element 0 of tensors does not require grad and does not have a grad_fn 蓝色标记的话就是答案意思就是将每次的损失添加到总损失中可以通过添加 requires_gradTrue解决问题。以上代码也可以这样写直接在w初始化时加入requires_gradTrue。 2利用backward()求梯度 2、Cross Entropy Loss 交叉熵损失可以用于二分类问题、多分类问题、逻辑回归。通常使用softmax函数作为激活函数。 softmax函数 softmax 图像及代码-CSDN博客 这个激活函数经常用来处理分类问题。如上图我们对这个函数输入2、1、0.1这几个数经过softmax函数输出的结果为0.7、0.2、0.1范围都在0-1之间并且总和为1。而且这个函数还起到强化的作用在输入方212在输出方0.70.23.5比原来强的更强、弱的更弱。 对于此函数的导数 在 i j 的时候大于0在 i ! j 的时候小于0。 代码演示 atorch.rand(3) a.requires_grad_() # 对a进行更新 pF.softmax(a,dim0) print(p) print(torch.autograd.grad(p[1],[a],retain_graphTrue)) print(torch.autograd.grad(p[2],[a])) 为什么需要添加retain_graphTrue我想以下的回答将会为你解答 大意就是retain_graphTrue不会释放被保存的张量不会释放中间体而这些张量在以后计算梯度时将会被用到。导致的结果就是使用backward来计算梯度的次数不能超过一次。 我尝试了多次使用了backward来计算梯度得到RuntimeError: Trying to backward through the graph a second time (or directly access saved tensors after they have already been freed). Saved intermediate values of the graph are freed when you call .backward() or autograd.grad(). Specify retain_graphTrue if you need to backward through the graph a second time or if you need to access saved tensors after calling backward. 代码演示 第一次测试 第2次测试 第3次测试 第4次测试 经过多次测验我发现上面的回答是不是有问题因此我又找了一个 大意就是retain_graphTrue非必要不使用。 因此最后的代码应该是 如果以上内容有什么问题欢迎指正I would be grateful。
http://www.hkea.cn/news/14268897/

相关文章:

  • 大眼睛网站建设流程图制作
  • asp做的网站后台怎么进去做教育机构的设计哪些网站好
  • 德州市市政工程建设总公司网站互联网公司起名
  • 常州网站搭建温州瓯海建设局网站
  • 有特色的企业网站江宁交通建设集团网站
  • 国际版网站可以在国内做推广吗网站移动页面怎么做的
  • 动易网站怎么进入后台建筑材料网站建设
  • 全国集团网站建设建e网室内设计网现代简约
  • 一个微信可以做两个网站支付宝吗医院网站方案
  • 郑州制作网站软件如何申请百度竞价排名
  • 深圳响应式网站价格自学it做网站
  • 建设部网站在哪里报名考试wordpress 数据库挂马
  • 济南网站建设方案书网站网页设计是什么
  • 如何找网站建设客户站长之家psd素材
  • PS网站设计重庆互联网
  • 公司网站建设费分录网站建设如何投放广告
  • h5页面制作网站官网企业站
  • 淘客网站建设要求百度免费推广有哪些方式
  • 深圳哪里可以做物流网站完爆网站开发经典实例
  • 百度网站如何优化排名太原建站网站模板
  • 手机网站备案洛阳企业网站建设
  • 哪里有营销型网站制作百度推广时间段在哪里设置
  • 商务网站建设毕业设计模板下载c 做网站session用法
  • 民宿网站开发数据流图wordpress安装后应该删掉那些文件
  • 做网站普洱一六八互联网站建设
  • 做交易网站什么开发语言seo网络推广公司
  • 开发app需要什么样的团队网站建设价格很 好乐云seo
  • 做原创短视频网站如何做镜像网站
  • 注册工作室流程及费用乐云seo网站建设公司
  • 云南住房与建设厅网站做网站先学美工