专栏首页深度学习与计算机视觉理解激活函数在神经网络模型构建中的作用

理解激活函数在神经网络模型构建中的作用

什么是激活函数

在生物学家研究大脑神经元工作机理时,发现如果一个神经元开始工作时,该神经元是一种被激活的状态,我想着大概就是为什么神经网络模型中有一个单元叫做激活函数。

那么什么是激活函数呢,我们可以从逻辑回归模型开始理解它,下图是一个Logistic回归分类器:

在上图中我们发现,Logistic回归分类器在对所有的输入做了线性相加(Net ipt function)之后,其结果经过了一个激活函数(Activation function),此时的输出:

而在Logistic回归分类器中去除误差的回传(Error)和单位阶跃函数(Unit step function)之后,其实剩下的东西就是一个神经元。 神经网络是由多个神经元在宽度和深度上链接而成的,通俗点理解,激活函数就是神经网络中每个神经元的输出后乘起来的那个函数。比如在下图中:

所有的隐层的神经元(a)和输出层的神经元(Y)后面其实都会经过一个激活函数,那么为什么输入层(x)没有呢,因为虽然在神经网络中,输入层,隐含层和输出层都用上图所示的“圆圈”表示,但是输入层不是神经元!!! 那么在神经网络中,激活函数(Activation function)一般选择什么样的函数呢:

除此之外,在深层神经网络中,比较常用的是ReLu(Rectified Linear Units)函数,这个我们会在最后一部分介绍它。

激活函数的作用

将其带入后可以得到Y与x的关系:

最终的输出:

可以看到,如果没有激活函数的话,无论我们如何训练神经网络的参数,得到都将是一个线性的模型,在二维空间下是一条线,在三维空间下是一个平面。而线性模型是有非常大的局限性的,比如下面的问题:

我们永远不可能用一个线性的模型取区分橙色和蓝色的点,而当我们加入激活函数后,用上面的网络结构是可以解决线性不可分问题的。(注意下图中的网络与上图公式推导的网络只是输入不同而已)

所以,最后总结一下:激活函数在神经网络中的功能即通过对加权的输入进行非线性组合产生非线性决策边界(non-linear decision boundary)。

深层神经网络中的激活函数

最后一个部分,在说明一下深层神经网络中的激活函数,它的作用与浅层网络是相同的—增加非线性,但是使用的是ReLu(Rectified Linear Units)函数,主要是为了解决Sigmoid函数带来的梯度消失问题(这个不是本文的重点,我们不详细说明它)。下面这张图就是ReLu函数:

可以看到它是一个分段线性函数,对于所有小于等于0的数,f(x)=0;对于所有大于0的数,f(x)=x。这个函数可以作为神经网络的激活函数关在在于,在多维空间下任何一个曲面都可以分解为多段平面,这个曲面就是最后的决策面,而深层神经网络依靠复杂的网络结果和深度取用多个平面拟合决策面,最后达到满意的效果。

参考: 《Machine Learning》Tom M.Mitchell 《TensorFlow 实战Google深度学习框架》 《神经网络中激活函数的作用》 《 通俗理解神经网络之激励函数(Activation Function)》

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通俗理解神经网络中激活函数作用

    推荐阅读时间8min~13min 主要内容:通俗理解激活函数,主要来自我在学习会的slides,讲解了激活函数的非线性能力和组合特征的作用 ? ? 下面我分别对...

    企鹅号小编
  • 理解神经网络的激活函数

    激活函数在神经网络中具有重要的地位,对于常用的函数如sigmoid,tanh,ReLU,不少读者都已经非常熟悉。但是你是否曾想过这几个问题:

    SIGAI学习与实践平台
  • 详解神经网络中的神经元和激活函数

    望月从良
  • 【学术】如何在神经网络中选择正确的激活函数

    在神经网络中,激活函数是必须选择的众多参数之一,以通过神经网络获得最优的成果和性能。 在这篇文章中,我将假设你已经理解了神经网络工作的基本原理,并将详细介绍涉及...

    AiTechYun
  • 理解交叉熵作为损失函数在神经网络中的作用

    交叉熵的作用 通过神经网络解决多分类问题时,最常用的一种方式就是在最后一层设置n个输出节点,无论在浅层神经网络还是在CNN中都是如此,比如,在AlexNet中最...

    chaibubble
  • 笔记+R︱信用风险建模中神经网络激活函数与感知器简述

    《公平信用报告法》制约,强调评分卡的可解释性。所以初始评分(申请评分)一般用回归,回归是解释力度最大的。

    素质
  • 资源 | 来自独秀同学的深度网络数学笔记,还不快收藏?

    如今,我们已经拥有了许多高级的、专业的神经网络程序库和框架,例如:Keras、TensorFlow 或 Pytorch。我们不需要时刻担心权值矩阵的规模,也不需...

    机器之心
  • 神经网络学习笔记 - 激活函数的作用、定义和微分证明

    绿巨人
  • 为什么神经网络需要解决多层和非线性问题

    维基百科对深度学习的精确定义为“一类通过多层非线性变换对高复杂性数据建模算法的合集”。因为深度神经网络是实现“多层非线性变换”最常用的一种方法,所以在实际中基本...

    狼啸风云
  • 第三周浅层神经网络3.1神经网络概述3.2 神经网络表示3.3计算神经网络的输出3.4 多个例子中的向量化3.5 向量化实例的解释3.6 激活函数3.7 为什么需要非线性激活函数3.8 激活函数的导

    3.1神经网络概述 ? 3.2 神经网络表示 ? 3.3计算神经网络的输出 ? ? ? 3.4 多个例子中的向量化 ? ? 3.5 向量化实例的解释 ? 3.6...

    致Great
  • 吾爱NLP(2)--解析深度学习中的激活函数

    由惑而生,所以我打算总结一下深度学习模型中常用的激活函数的一些特性,方便大家日后为模型选择合适的激活函数。   说到激活函数,就不能不提神经网络或者深度学习,...

    流川枫
  • 学习自然语言处理前,必知这7种神经网络知识

    什么是神经网络?它是如何工作的?现在有哪些神经网络?有哪几种类型的神经网络可以用于自然语言处理?下面我们会一一解答这些问题。

    商业新知
  • 5分钟了解神经网络激活函数

    机器学习是一个使用统计学和计算机科学原理来创建统计模型的研究领域,用于执行诸如预测和推理之类的主要任务。这些模型是给定系统的输入和输出之间的数学关系集。学习过程...

    deephub
  • PNAS | 理解单个神经元在深度神经网络中的作用

    本次报道论文为发表于PNAS的Understanding the role of individual units in a deep neural netwo...

    DrugAI
  • 神经网络的基础是MP模型?南大周志华组提出新型神经元模型FT

    在此论文中,来自南京大学的张绍群博士和周志华教授提出一个新型神经元模型 Flexible Transmitter (FT),该模型具备灵活的可塑性并支持复杂数据...

    机器之心
  • 学界 | 新型循环神经网络IndRNN:可构建更长更深的RNN(附GitHub实现)

    选自arXiv 作者:Shuai Li等 机器之心编译 参与:张倩、黄小天 近日,澳大利亚伍伦贡大学联合电子科技大学提出一种新型的循环神经网络 IndRNN,不...

    机器之心
  • 深度神经网络之前向传播算法

    深度神经网络(Deep Neural Networks,DNN)从字面上理解,也就是深层次的神经网络,从网络结构上看来就是有多个隐含层的神经网络。深度神经网络不...

    小一
  • Tensorflow系列专题(四):神经网络篇之前馈神经网络综述

    从本章起,我们将正式开始介绍神经网络模型,以及学习如何使用TensorFlow实现深度学习算法。人工神经网络(简称神经网络)在一定程度上受到了生物学的启发,期望...

    磐创AI
  • 徒手实现CNN:综述论文详解卷积网络的数学本质

    选自arXiv 机器之心编译 参与:黄小天、路雪、蒋思源 近日南洋理工大学研究者发布了一篇描述卷积网络数学原理的论文,该论文从数学的角度阐述整个卷积网络的运算与...

    机器之心

扫码关注云+社区

领取腾讯云代金券