网站首页 > 技术文章 正文
神经网络和深度学习中的激活函数在激发隐藏节点以产生更理想的输出方面起着重要作用。 激活函数的主要目的是将非线性特性引入模型。
在人工神经网络中,给定一个输入或一组输入,节点的激活函数定义该节点的输出。 可以将标准集成电路视为激活功能的控制器,根据输入的不同,激活功能可以是" ON"或" OFF"。
Sigmoid和tanh是单调、可微的激活函数,是在RELU出现以前比较流行的激活函数。然而,随着时间的推移,这些函数会遭受饱和,这导致出现梯度消失的问题。解决这一问题的另一种和最流行的激活函数是直线修正单元(ReLU)。
上面的图中用蓝线表示的是直线单元(ReLU),而绿线是ReLU的变体,称为Softplus。ReLU的其他变体包括Leaky ReLU、ELU、SiLU等,用于提高某些任务的性能。
在本文中,我们只考虑直线单元(ReLU),因为默认情况下,它仍然是执行大多数深度学习任务最常用的激活函数。它的变体通常用于特定的目的,在那里他们可能有轻微的优势在ReLU。
这个激活函数是Hahnloser等人在2000年首次引入到一个动态网络中,具有很强的生物学动机和数学证明。与2011年之前广泛使用的激活函数,如logistic sigmoid(灵感来自于概率理论和logistic回归)及其更实用的tanh(对应函数双曲正切)相比,2011年首次证明了该函数能够更好地训练更深层次的网络。
截止到2017年,整流器是深度神经网络中最受欢迎的激活函数。采用整流器的单元也称为整流线性单元(ReLU)。
RELU的最大问题是它在点0处是不可微的。而研究人员倾向于使用可微函数,例如S型和tanh。 但是在0点可微这种情况毕竟还是特殊情况,所以到目前为止ReLU还是深度学习的最佳激活功能,毕竟他需要的计算量是非常小的,计算速度很快。
ReLU激活函数在除0点外的所有点都是可微的。对于大于0的值,我们只考虑函数的最大值。可以这样写:
f(x) = max{0, z}
简单地说,也可以这样写:
if input > 0: return input else: return 0
所有负数默认为0,并考虑正数的最大值。
对于神经网络的反向传播计算,ReLU的判别相对容易。我们唯一要做的假设是在点0处的导数,也被认为是0。这通常不是一个大问题,而且在大多数情况下都能很好地工作。函数的导数就是斜率的值。负值的斜率是0.0,正值的斜率是1.0。
ReLU激活函数的主要优点是:
· 卷积层和深度学习:它们是卷积层和深度学习模型训练中最常用的激活函数。
· 计算简单:整流函数实现起来很简单,只需要一个max()函数。
· 代表性稀疏性:整流器函数的一个重要优点是它能够输出一个真正的零值。
· 线性行为:当神经网络的行为是线性或接近线性时,它更容易被优化。
然而,经过RELU单元的主要问题是所有的负值会立即变为零,这降低了模型对数据正确拟合或训练的能力。
这意味着任何给ReLU激活函数的负输入都会立即将图中的值变为零,这反过来会影响结果图,因为没有适当地映射负的值。不过,通过使用ReLU激活函数的不同变体(如Leaky ReLU和前面讨论的其他函数),可以很容易地修复这个问题。
总结
这是一个简短的介绍,以了解整流线性单元及其重要性,在深度学习技术的今天。它比所有其他激活函数更流行,这是有原因的。
- 上一篇: 局部响应归一化与批归一化的区别 批归一化层作用
- 下一篇: 特斯拉AI芯片深度解读 特斯拉车规级芯片
猜你喜欢
- 2024-09-25 应聘机器学习工程师?这是你需要知道的12个基础面试问题
- 2024-09-25 Richard Sutton 直言卷积反向传播已经落后,AI 突破要有新思路:持续反向传播
- 2024-09-25 深度学习常用概念总结(一) 人工智能中深度学习的概念
- 2024-09-25 吴恩达深度学习笔记(21)-神经网络的权重初始化为什么要随机?
- 2024-09-25 特斯拉AI芯片深度解读 特斯拉车规级芯片
- 2024-09-25 局部响应归一化与批归一化的区别 批归一化层作用
- 2024-09-25 看完立刻理解GAN!初学者也没关系 初学者的好处和坏处
- 2024-09-25 计算机视觉的核心——CNN卷积神经网络
- 2024-09-25 人工智能神经网络中的基础概念有哪些?
- 2024-09-25 步长?填充?池化?教你从读懂词语开始了解计算机视觉识别最火模型|CNN入门手册(中)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)