激活函数-Activation Function
该博客的内容是莫烦大神的授课内容。在此只做学习记录作用。
原文连接:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/2-6-A-activation-function/
非线性方程
我们为什么要使用激活函数?用简单的语句来概括,就是因为显示并没有我们想象的那么美好
,它是残酷多变的。哈哈,开个玩笑,不过激活函数也就是为了解决我们日常生活中不能用线性方程所概括的问题。 好了,我知道你的问题来了。 什么是线性方程(linear function)?

说到线性方程,我们就得提到两外一种方程,非线性方程(nonliner function)。 我们假设,女生长得越漂亮,越多男生爱。这就可以被当作一个线性问题。但是如果我们假设这个场景是发生在校园里。校园里的男生数是有限的,女生再漂亮,也不可能会有无穷多的男生喜欢她。所以这就变成了一个非线性问题。

然后我们就可以来讨论如何在神经网络中达成我们描述非线性的任务了。我们可以把整个网络简化成一个式子。 Y=Wx, W就是我们要求的参数, Y是预测值, X是输入值。 用这个式子,我们很容易就能描述刚刚的那个线性问题,因为W求出来可以是一个固定的数。不过这似乎并不能让这条直线变得扭起来,激励函数见状,拨刀相助,站出来说到:“让我来掰弯它!”。
激活函数

这里的AF指的就是激活函数。激活函数拿出自己最擅长的“掰弯利器”,套在了原函数上,用力一扭,原来的Wx结果就被扭湾了。
其实激活函数也不是什么触不可及的东西。它其实就是另外一个非线性函数。比如说relu, sigmoid, tanh.将这些激活函数套在原有的结果之上,强行把原有的线性结果给扭曲了,使得输出结果y也有了非线性的特征。举个例子,比如我使用了relu这个激活函数,如果此时Wx的结果是1,y还是1,不过Wx为-1的时候, y 不再是-1, 而会是0.
你甚至可以创造自己的激活函数来处理自己的问题,不过要确保的是这些激活函数必须是可微分的,因为在误差反向传播的时候,只有这些可微分的激活函数才能把误差传回去。
常用选择
想要恰当使用这些激活函数,还是有敲门的。比如当你的神经网络只有两三层,不是很多的时候,对于隐藏层,使用任意的激活函数基本上都是可以的,不会有特别大的影响。不过,当你使用特别多层的神经网络,万万不得随意选择激活函数。因为这会设计到梯度爆炸,梯度消失的问题。因为时间的关系,我们可能会在以后来具体谈谈这个问题。
最后我们说说,在具体的例子中,我们默认首选的激活函数有哪些。在少量层结构中。我们可以尝试很多种不同的激活函数。在卷积神经网络的卷积层,推荐的激活函数是relu.在循环神经网络中,推荐的是 tanh 或者是 relu。
激活函数-Activation Function的更多相关文章
- caffe中的sgd,与激活函数(activation function)
caffe中activation function的形式,直接决定了其训练速度以及SGD的求解. 在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文 ...
- 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning
原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...
- The Activation Function in Deep Learning 浅谈深度学习中的激活函数
原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...
- 激活函数:Swish: a Self-Gated Activation Function
今天看到google brain 关于激活函数在2017年提出了一个新的Swish 激活函数. 叫swish,地址:https://arxiv.org/abs/1710.05941v1 pytorch ...
- 《Noisy Activation Function》噪声激活函数(一)
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51736830 Noisy Activa ...
- MXNet 定义新激活函数(Custom new activation function)
https://blog.csdn.net/weixin_34260991/article/details/87106463 这里使用比较简单的定义方式,只是在原有的激活函数调用中加入. 准备工作下载 ...
- ML 激励函数 Activation Function (整理)
本文为内容整理,原文请看url链接,感谢几位博主知识来源 一.什么是激励函数 激励函数一般用于神经网络的层与层之间,上一层的输出通过激励函数的转换之后输入到下一层中.神经网络模型是非线性的,如果没有使 ...
- TensorFlow Activation Function 1
部分转自:https://blog.csdn.net/caicaiatnbu/article/details/72745156 激活函数(Activation Function)运行时激活神经网络中某 ...
- 转载-聊一聊深度学习的activation function
目录 1. 背景 2. 深度学习中常见的激活函数 2.1 Sigmoid函数 2.2 tanh函数 2.3 ReLU函数 2.4 Leaky ReLu函数 2.5 ELU(Exponential Li ...
随机推荐
- eclipse没有打断点,项目确仍然要进入断点的问题。
eclipse没有打断点,却仍然每次debug项目启动时都进入一个断点,很烦人,经在网上查阅发现是勾选了下图中红框中所示的几个选项,把这几项去掉之后就自动不进入断点页面了,经分析这几个选项的大概意思是 ...
- CSRF与auth模块
目录 一.模拟实现中间件的编程思想 (一)impotlib模块 (二)实现功能的配置使用 二.跨站请求伪造CSRF (一)由来 (二)form表单的CSRF (三)ajax中的CSRF (1)通过da ...
- 远程桌面MATLAB启动失败问题解决
博客:博客园 | CSDN | blog 远程桌面打开MATLAB会报错,解决办法,打开matlab的licenses路径,如matlab/R2017b/licenses/,路径下存有license文 ...
- 在Chrome 中使用Vimium
原文连接:https://blog.csdn.net/wuxianjiezh/article/details/91848604 Vimium:像在 Vim 中一样使用 Chrome 安装 使用方法 在 ...
- ElasticSearch 时间格式
"datetime": { "type": "date", "format": "yyyy-MM-dd HH: ...
- MongoDB(五):更新文档、删除文档
1. 更新文档 MongoDB的uptade()和save()方法用于将集合中的文档更新.update()方法更新现有文档中的值,而save()方法是传递文档数据替换现有文档.从3.2版本开始,Mon ...
- Django的Form验证(2)
Django的Form验证(2) Form的含义及作用: 用于验证用户请求数据合法性的一个组件(校验数据的合法性) Django的Form实现步骤: 创建一个验证用户请求的模板 from django ...
- js new Date 创建时间默认是8点
起因 最近在写一个页面,需要用到时间控制.然后我通过new Date()传入日期字符串创建了一个对象,并与当前时间做时间戳比较,结果12点刚过,就出问题了.举个栗子 // 假设当前时间是2019年12 ...
- JavaScript图形实例:布纹图案
1.椭圆型布纹图案 先在HTML页面中设置一个画布. <canvas id="myCanvas" width="300" height="300 ...
- Vue自定义指令使用场景
当你第一次接触vue的时候,一定会使用到其中的几个指令,比如:v-if.v-for.v-bind...这些都是vue为我们写好的,用起来相当的爽.如果有些场景不满足,需要我们自己去自定义,那要怎么办呢 ...