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

原文连接: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. go1.13 mod 实践和常见问题

    实践建议 0,go mod 要求所有依赖的 import path 的path 以域名开头,如果现有项目转1.13的go mod 模式,且不是以域名开头则需要修改. eg: code.be.mingb ...

  2. python爬虫获取天猫与京东的商品价格

    git地址:   https://gitee.com/zhxs_code/spider_python 目前已简单实现可以爬取指定页面的价格(天猫和狗东的都可以),但是由于天猫与狗东对价格的展示方式和策 ...

  3. 【ES6】数组的扩展——扩展运算符

    1.扩展运算符[三个点(...)将一个数组转为用逗号分隔的参数序列] 作用:用于函数调用 function add(x, y) { return x + y; } const numbers = [2 ...

  4. hdu 1394 Minimum Inversion Number (树状数组求逆序对)

    The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that ...

  5. Python基础-day02-1

    判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?-- 程序 ...

  6. Crow’s Foot Notation

    http://www2.cs.uregina.ca/~bernatja/crowsfoot.html Crow’s Foot Notation A number of data modeling te ...

  7. 阅读webpack代码笔记:antd-layout的webpack.config.prod.js

    'use strict'; const autoprefixer = require('autoprefixer');//自动补全css前缀 const path = require('path'); ...

  8. GCC编译警告选项总结

    一 前言 GCC有很多的编译选项,警告选项:指定头文件.库路径:优化选项.本文针整理一下GCC的警告选项,主要依据http://gcc.gnu.org/onlinedocs/gcc/Warning-O ...

  9. Linux Zookeeper 安装, 带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 面试必备+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 ...

  10. C# ThreadPool 线程池

    Thread与ThreadPool Thread: .NetFramework1.0  对线程对象的一个封装 Thread方法很多很强大,但是太过强大,而且没有限制 功能繁多,反而用不好--就像给4岁 ...