sigmoid函数:

越大的负数越接近0,越大的正数越接近1
缺点:
(1)造成梯度消失:该函数在靠近1和0的两端,梯度几乎变成0,
梯度下降法:梯度乘上学习率来更新参数,如果梯度接近0,那么没有任何信息来更新参数,会造成模型不收敛
另外,使用sigmoid函数,在初始化权重时,权重太大,经过激活函数会导致大多数神经元变得饱和,没有办法更新参数
(2)sigmoid输出不是以0为均值,这就会导致经过sigmoid激活函数之后的输出,作为后面一层网络的输入的时候是非0均值的,这个时候
如果进入下一层神经元的时候全是正的,这就会导致梯度全是正的,那么在更新梯度的时候永远都是正梯度。
(详解)p52 Tanh激活函数: 将输入的数据转换到-1到1之间,输出变成了0均值,解决了sigmoid的第二个问题。
但是,仍然存在梯度消失的问题 Relu函数
优点:
(1)相比sigmoid函数和Tanh激活函数,Relu激活函数能够极大的加速随机梯度下降的收敛速度,线性,不存在梯度消失问题。
(2)计算简单,只需要一个阈值过滤就可以得到结果,不需要进行一大堆复杂的运算。
缺点:
训练时脆弱,比如一个很大的梯度经过Relu激活函数,更新参数后,会使这个神经元不会对任何数据有激活现象。如果发生这个情况之后,经过relu的梯度永远都是0,参数无法更新,因为Relu激活函数本质上是一个不可逆的过程,因为它会直接去掉输入小于0的部分。在实际操作中可以通过设置比较小的学习率来避免这个问题。 Leaky Relu
是relu的变式,主要修复relu激活函数的脆弱问题,不将x<0的部分变成0,而给它一个很小的负的斜率。 Maxout:有relu的优点,又避免了relu的缺点,但加倍了模型的参数。
max(w1*x+b1,w2*x+b2)
relu 是maxout中w1 =0,b1 =0的特殊形式。

pytorch-04-激活函数的更多相关文章

  1. [pytorch] 自定义激活函数中的注意事项

    如何在pytorch中使用自定义的激活函数? 如果自定义的激活函数是可导的,那么可以直接写一个python function来定义并调用,因为pytorch的autograd会自动对其求导. 如果自定 ...

  2. Pytorch实现卷积神经网络CNN

    Pytorch是torch的Python版本,对TensorFlow造成很大的冲击,TensorFlow无疑是最流行的,但是Pytorch号称在诸多性能上要优于TensorFlow,比如在RNN的训练 ...

  3. ubuntu 18.04安装pytorch、cuda、cudnn等

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com ubuntu 16.04用了1年多了,18.04版已经发布也半年了,与时俱进,重装Linux系统,这里 ...

  4. Ubuntu18.04: GPU Driver 390.116 + CUDA9.0 + cuDNN7 + tensorflow 和pytorch环境搭建

    1.close nouveau 终端输入:sudo gedit /etc/modprobe.d/blacklist.conf 末尾加两行 blacklist nouveau options nouve ...

  5. tensorflow/pytorch/mxnet的pip安装,非源代码编译,基于cuda10/cudnn7.4.1/ubuntu18.04.md

    os安装 目前对tensorflow和cuda支持最好的是ubuntu的18.04 ,16.04这种lts,推荐使用18.04版本.非lts的版本一般不推荐. Windows倒是也能用来装深度GPU环 ...

  6. ubuntun16.04+cuda9.0+cudnn7+anaconda3+pytorch+anaconda3下py2安装pytorch

    一.电脑配置 说明: 电脑配置: LEGION笔记本CPU Inter Core i7 8代GPU NVIDIA GeForce GTX1060Windows10 所需的环境: Anaconda3(6 ...

  7. Anaconda ubuntu16.04 Cuda 8.0安装pytorch

    Pytorch 安装 Pytorch安装真的太让人省心了,在anaconda的环境下进行安装,只需要一个命令 具体命令请查看官网pytorch 找到适合你的版本进行安装 本机环境: anaconda3 ...

  8. 深度学习环境搭建(Ubuntu16.04+GTX1080Ti+CUDA8.0+Cudnn6.0+TensorFlow+Caffe2(Pytorch))

    OS System:Ubuntu16.04 GPU Device:GTX1080Ti Softwares:CUDA8.0.Cudnn6.0.TensorFlow(1.4.0).Caffe2(1.0.0 ...

  9. Ubuntu 18.04 nvidia driver 390.48 安装 TensorFlow 1.12.0 和 PyTorch 1.0.0 详细教程

    最近要在个人台式机上搭建TensorFlow和PyTorch运行环境,期间遇到了一些问题.这里就把解决的过程记录下来,同时也可以作为安装上述环境的过程记录. 如果没有遇到类似的问题,想直接从零安装上述 ...

  10. Ubuntu server16.04安装配置驱动418.87、cuda10.1、cudnn7.6.4.38、anaconda、pytorch超详细解决

    目录 安装GCC 安装NVIDIA驱动 1. 卸载原有驱动(没装跳过) 2. 禁用nouveau 3. 安装NVIDIA显卡驱动 安装CUDA10.1 安装cudnn 安装anaconda 安装ten ...

随机推荐

  1. 查询SAP系统支持的ABAP版本

    7.52可以使用select 内表,但是怎么看版本呢? 如果有在开发中用到ABAP 7.4&7.5个版本的新语法时,需要考虑到系统支持的ABAP版本,那么要怎么查看呢? 其实这个和SAP的内核 ...

  2. DataTable 转List

    忘了出处   ,这个是转别人的 public class DataToList<T> where T : new() { /// <summary> /// 利用反射和泛型 / ...

  3. C# if else-if 语句

    一.作用 用来处理多条件的区间性的判断. 二.语法 if(判断条件) { 要执行的代码; } else if(判断条件) { 要执行的代码; } else if(判断条件) { 要执行的代码; } e ...

  4. Python - 字符串 - 第七天

    Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hel ...

  5. Scrum 冲刺第三篇

    是我们是这次稳了队,队员分别是温治乾.莫少政.黄思扬.余泽端.江海灵 一.会议 1.1  27号站立式会议照片: 1.2  昨天已完成的事情 团队成员 今天计划完成的任务 黄思扬 活动平台首页(前端) ...

  6. Python Scrapy在windows上的安装方法

    如果想要学习爬虫,肯定会了解Scrapy,但安装Scrapy的方法相对于安装其他第三方库麻烦一点. 下面总结一下在我的电脑上安装Scrapy的方法,我的电脑是Windows10,32位操作系统.有如下 ...

  7. [Caliburn.Micro专题][1]快速入门

    目录 1. 什么是Caliburn.Micro? 2. 我是否需要学习CM框架? 3. 如何下手? 3.1 需要理解以下几个概念: 3.2 工程概览 3.3 示例代码 开场白:本系列为个人学习记录,才 ...

  8. Hive的数据倾斜

    目录 什么是数据倾斜 Hadoop框架的特性 主要表现 容易数据倾斜的情况 产生数据清洗的原因 业务场景 空值产生的数据倾斜 不同数据类型关联产生数据倾斜 大小表关联查询产生数据倾斜 一.什么是数据倾 ...

  9. Redis缓存和MySQL数据一致性方案(转)

    需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库. 这个业务场景,主要 ...

  10. DBCP连接池使用

    转载请注明原文地址https://www.cnblogs.com/ygj0930/p/11280475.html 一:引入jar包或添加依赖 1:jar包 2:maven依赖 <dependen ...