该博客的内容是莫烦大神的授课内容。在此只做学习记录作用。

原文连接: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的更多相关文章

  1. caffe中的sgd,与激活函数(activation function)

    caffe中activation function的形式,直接决定了其训练速度以及SGD的求解. 在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文 ...

  2. 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...

  3. The Activation Function in Deep Learning 浅谈深度学习中的激活函数

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

  4. 激活函数:Swish: a Self-Gated Activation Function

    今天看到google brain 关于激活函数在2017年提出了一个新的Swish 激活函数. 叫swish,地址:https://arxiv.org/abs/1710.05941v1 pytorch ...

  5. 《Noisy Activation Function》噪声激活函数(一)

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51736830 Noisy Activa ...

  6. MXNet 定义新激活函数(Custom new activation function)

    https://blog.csdn.net/weixin_34260991/article/details/87106463 这里使用比较简单的定义方式,只是在原有的激活函数调用中加入. 准备工作下载 ...

  7. ML 激励函数 Activation Function (整理)

    本文为内容整理,原文请看url链接,感谢几位博主知识来源 一.什么是激励函数 激励函数一般用于神经网络的层与层之间,上一层的输出通过激励函数的转换之后输入到下一层中.神经网络模型是非线性的,如果没有使 ...

  8. TensorFlow Activation Function 1

    部分转自:https://blog.csdn.net/caicaiatnbu/article/details/72745156 激活函数(Activation Function)运行时激活神经网络中某 ...

  9. 转载-聊一聊深度学习的activation function

    目录 1. 背景 2. 深度学习中常见的激活函数 2.1 Sigmoid函数 2.2 tanh函数 2.3 ReLU函数 2.4 Leaky ReLu函数 2.5 ELU(Exponential Li ...

随机推荐

  1. shell 100

    1.编写hello world脚本 #!/bin/bash# 编写hello world脚本 echo "Hello World!"2.通过位置变量创建 Linux 系统账户及密码 ...

  2. Python解密网易云音乐缓存文件获取MP3

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:GeneralMonkey Python解密网易云音乐缓存文件获取MP3 ...

  3. 云服务器配置 docker java mysql mongodb redis nginx 环境

    磁盘挂载 fdisk -l #查看磁盘列表 mkfs.ext4 /dev/vdb #格式化磁盘 mount /dev/vdb /data #挂载磁盘在/data echo '/dev/vdb /dat ...

  4. 终极CURD-4-java8新特性

    目录 1 概述 2 lambda表达式 2.1 lambda重要知识点总结 2.2 java内置函数接口 2.3 方法引用 2.4 构造器引用 2.5 数组引用 2.6 lambda表达式的陷阱 3 ...

  5. Winform中实现批量文件复制(附代码下载)

    场景 效果 将要批量复制的文件拖拽到窗体中,然后点击下边选择目标文件夹,然后点击复制按钮. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公 ...

  6. C# List集合 GroupBy分组

    var grpBalance = listBalance.GroupBy(m => new { m.MerChantId, m.Name}).Distinct().Select(t => ...

  7. GeoSpark入门-可视化

        GeoSpark是一种用于大规模空间数据处理的集群计算. GeoSpark通过一组out-of-the-box空间弹性分布式数据集( SRDDs ) 扩展 Apache Spark,它可以跨机 ...

  8. 初级模拟电路:4-3 BJT晶体管的交流建模

    回到目录 1. 四种BJT模型概述 对BJT晶体管建模的基本思路就是,用电路原理中的五大基本元件(电阻.电容.电感.电源.受控源)构建一个电路,使其在一定工作条件下能等效非线性半导体器件的实际工作.一 ...

  9. Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR

    Newifi D1或 D2在Openwrt中,启用硬件NAT,启用BBR 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-09-27. 启用 mt7621的硬件nat (Newifi ...

  10. Java之数据库表字段有关键字报错java.sql.SQLSyntaxErrorException

    前两天在开发中遇到一个坑,本来我在快乐的做着增删改查,然后悲剧发生了,在查询数据库的过程中,报了java.sql.SQLSyntaxErrorException: 经过排查,是因为数据库表字段中存在关 ...