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

原文连接: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. pipelineDB学习笔记-3. Continuous Transforms (连续转换)

    以下内容为本人根据pipelineDB官网内容进行翻译,如有不妥之处请指正,谢谢大家 Continuous Transforms (连续转换) 一.定义: Continuous Transforms ...

  2. leetcode-算法系列-两数之和

    本系列的题目都是出自于"leetcode" 用博客记录是为了加强自己的记忆与理解,也希望能和大家交流更好更优的解题思路. 题目: 给定一个整数数组和一个目标值,找出数组中和为目标值 ...

  3. JSP注册登录页教程

    转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6785258.html  一.准备工作 已搭建好的SSH框架工程一个,如果没有,请参考我的上一篇文章< ...

  4. SpringBoot电商项目实战 — Zookeeper的分布式锁实现

    上一篇演示了基于Redis的Redisson分布式锁实现,那今天我要再来说说基于Zookeeper的分布式现实. Zookeeper分布式锁实现 要用Zookeeper实现分布式锁,我就不得不说说zo ...

  5. 小白的springboot之路(十二)、集成log4j2日志

    0.前言 日志记录对系统来说必不可少,spring boot中常用的日志组件有log4j.logback.log4j2,其中logback是spring boot默认的,已自带:选用log4j2就可以 ...

  6. python 多线程编程之使用进程和全局解释器锁GIL

    本文主要介绍如何在python中使用线程. 全局解释器锁: python代码的执行是由python虚拟机(又名解释器主循环)进行控制的.python中,主循环中同时只能有一个控制线程在执行,就像单核C ...

  7. 数百道BAT等大厂最新Python面试真题,学到你手软!

    春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法.提升 Python 编程能力,总是大有裨益的.今天,小编发现了一份好资源:Python 实现的面试题集锦! ...

  8. 在mpvue引入flyio

    先来说微信小程序原生的请求接口方式吧,如官网文档,在页面中请求直接调用 在这里感谢接的是提供的免费接口https://blog.csdn.net/c__chao/article/details/785 ...

  9. scanf和printf格式化输入输出中非常实用的小技巧

    输入输出几乎是每个C程序必须具备的功能,因为有了它们,程序才有了交互性.C提供的输入输出函数除了具有必须的输入输出功能外,还有一些其他实用的小技巧,了解这些小技巧将会为程序带来更友好的用户体验. 一. ...

  10. ruby读写文件的方法

    读文件 #Ruby 读取文件 #方法一 file = File.open("/Users/Desktop/demo.txt","r") while line = ...