前言
关于计算机视觉的学习教程暂时告于段落,预计八月中旬以后我将会更新关于CV项目开发的学习笔记以及相关教程。现在的粉丝数已经过百了,感谢家人朋友给我的支持,以及机器学习爱好者们对我的肯定,我将会继续坚持我学习路线,分享给大家。接下来这节内容,选材来自昨天学习交流群中一位朋友,提出了有关激活函数的问题。我在收集了一下相关内容,在此整理集合对比激活函数的缺点和不足。
什么是激活函数
文章主要从激活函数概念,数学形式分析,Python代码形式展现,优缺点对比等方面进行学习。关于激活函数的定义 维基百科解释是:节点的激活函数定义了给定一个输入或一组输入的节点的输出。标准集成电路可以被视为激活函数的数字网络,根据输入可以是“ON”(1)或“OFF”(0)。此定义与逻辑回归的定义相似。
换句话说,激活函数是一种添加到神经网络中的函数,旨在帮助网络学习数据中的复杂模式。类似于人类大脑中基于神经元的模型,激活函数最终决定了要传送给下一个神经元的内容。在人工神经网络中,一个节点的激活函数定义了该节点在给定的输入或输入集合下的输出。激活函数就是确定神经网络输出的数学方程。
当神经元接收到了其他神经元或外界传来的数字信号,神经元通过权重和偏置对输入信息进行线性变换,由于线性方程很简单解决复杂问题的能力有限,因此加入激活函数对输入进行非线性变换使其能够学习和执行更复杂的任务。此时激活函数的意义尤为重要,合适的激活函数也十分重要。
激活函数种类
常见的激活函数可以分为三类:岭函数,径向函数,以及应用在卷积神经网络中的折叠激活函数。
- 岭函数:作用与输入变量的线性组合多元函数
-
线性函数:
ϕ ( v ) = a + v ′ b {\displaystyle \phi (\mathbf {v} )=a+\mathbf {v} '\mathbf {b} } ϕ(v)=a+v′b -
ReLU函数:
ϕ ( v ) = max ( 0 , a + v ′ b ) ϕ ( v ) = max ( 0 , a + v ′ b ) {\displaystyle \phi (\mathbf {v} )=\max(0,a+\mathbf {v} '\mathbf {b} )}{\displaystyle \phi (\mathbf {v} )=\max(0,a+\mathbf {v} '\mathbf {b} )} ϕ(v)=max(0,a+v′b)ϕ(v)=max(0,a+v′b) -
Heaviside函数:
ϕ ( v ) = 1 a + v ′ b > 0 ϕ ( v ) = 1 a + v ′ b > 0 {\displaystyle \phi (\mathbf {v} )=1_{a+\mathbf {v} '\mathbf {b} >0}}{\displaystyle \phi (\mathbf {v} )=1_{a+\mathbf {v} '\mathbf {b} >0}} ϕ(v)=1a+v′b>0
-