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

原文连接: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. angular实现draggable拖拽

    前言:最近项目要实现一个拖拽功能,我在网上开始了各类搜寻,虽然后面因为数据原因舍弃了拖拽的这一需求,但是为了不辜负最近的研究,还是来记录一下. 场景需求:面试预约选时间节点,候选人之间是可以相互交换的 ...

  2. [译]C# 7系列,Part 1: Value Tuples 值元组

    Mark Zhou写了很不错的一系列介绍C# 7的文章,虽然是2年多年前发布的,不过对于不熟悉C# 7特性的同学来说,仍然有很高的阅读价值. 原文:https://blogs.msdn.microso ...

  3. 如何正确使用 Spring Cloud?【中】

    3. Spring 集成了哪些常用组件? 从 2004 年发布 1.0 版本开始,Spring 目前已经演进至 5.x 版本了,为不同时期的应用开发提供了强有力的支撑.现在我们正面对微服务.DevOp ...

  4. JS---DOM---为元素绑定事件和解绑事件的兼容代码

    1. 绑定事件的兼容 function addEventListener(element,type,fn) { if(element.addEventListener){ element.addEve ...

  5. 利用Azure虚拟机安装Dynamics 365 Customer Engagement之十二:新增SQL Server可用性副本

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. 浅析椭圆曲线加密算法(ECC)

    本文首发于先知社区,原文链接:https://xz.aliyun.com/t/6295 数学基础 黎曼几何中的"平行线" 欧几里得<几何原本>中提出五条公设: 过相异两 ...

  7. 如何使用TG Pro for Mac的自定义控制功能完全覆盖系统

    在某些情况下,可能需要完全覆盖系统风扇控制并使用自定义算法.通过将Auto Boost规则的强大功能与覆盖系统功能相结合,可以使用TG Pro.请记住,当风扇模式设置为Auto Boost时,这将完全 ...

  8. 集合系列 Map(十二):HashMap

    HashMap 是 Map 基于哈希散列算法的实现,其在 JDK1.7 中采用了数组+链表的数据结构.在 JDK1.8 中为了提高查询效率,采用了数组+链表+红黑树的数据结构.本文所有讲解均基于 JD ...

  9. Java 包(package)的概念及实例

    包的作用 1.把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2.如同文件夹一样,包也采用了树形目录的存储方式.同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调 ...

  10. 使用redisson时关于订阅数的问题

    在使用redisson消息订阅时,我针对门店商品库存减扣进行订阅的操作(在这里一个商品一个监听队列),当正式投入生产时,发现一直再报Subscribe timeout: (" + timeo ...