Hinton Neural Networks课程笔记1c:几种激活函数Linear、Binary、ReLU、Stochastic binary neurons

本章简单介绍了一些神经元的激活函数,包括Linear、Binary、ReLU和一些概率统计方面的变种。
笔者在刷CS231n的时候也记录了相关内容,贴在这里方便比较:CS231n课程笔记5.1:神经网络历史&激活函数比较

为什么激活函数都相对简单

首先说明idealize具有很多实际意义:某件事物本身是复杂的,其内可能包含许多没有应用价值的小细节,idealize可以去繁化简,从而可以更好的把握主旨;idealize之后就方便使用数学方法计算,并且对其他类似的系统做模拟;一旦能够了解主旨之后,加入细节是一个相对简单的过程。(笔者印象中最有名的idealize的例子应该就是牛顿定律和相对论了)
综上,idealize虽然得到的结果不准确,但很有意义。神经网络就是对神经元群的idealize,具体可以表现为使用实数值模拟离散的spike活动,激活函数用一些简单函数进行模拟。

激活函数

线性函数 Linear

Linear
如上图所示,就是输入的加权和再加上bias。这个函数十分简单,但是功能也很有限。(如果神经网络中仅使用线性激活函数,那么其只能学习到线性函数,因为多个矩阵连乘还是矩阵)。

Binary Threshold Neurons

Binary
如上图所示,对于大于某个threshold的输入,输出1,否则输出0。Hinton有提到这是受到Von Neumann在设计计算机过程中的思想影响提出的激活函数。(笔者个人觉得该函数满负荷自己对神经元的直观理解的,即当足够的化学信号接收到之后,相应个神经元的细胞膜打开离子门,产生一个spike。但明显这种激活函数在绝大多数(/除了threshold点以外)区域导数为0,而唯一的变化点也没有经典导数,不适合用于现代神经网络中)。Binary Threshold Neurons有两种等价表达式如下:
binary eq

Rectified Linear Neurons/Units (ReLU)

ReLU
其公式形式如上图。ReLU是现在最常见的用于神经网络内的激活函数了,简单操作,耗时少,又具有非线性特性,并减免了梯度消失的问题。(现在也有很多ReLU的变种,2016-2017年左右刚出了一个SeLU,有时间再去刷刷这个论文)

Sigmoid

Sigmoid
这个函数也是相当的经典,在神经网络初始阶段被广泛应用,方程式是经典的逻辑斯蒂函数。这个函数全部区域可导,而且导数易求;输出在0到1之间。但是相比于tanh,其输出均为正数,所以输出的均值不为0,而这又被证实不易于神经网络学习收敛;其次对于接近于0和1的部分,其导数接近于0,所以有明显的梯度衰减问题。故而在深度神经网络内已经很少使用其作为激活函数。

随机二值神经元 Stochastic Binary Neurons

这种神经元的输出仍是只有0或1,但与Binary Threshold不同的是,它把sigmoid的输出当做概率,并根据其按照一定概率输出0或1。类似的也可以把ReLU的输出当做Poisson rate。
stochastic

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值