大家好,欢迎来到IT知识分享网。
最近接了一些头条平台的广告,影响了各位读者大佬的心情,特此赔罪,然后做一个福利活动吧。送给大家一些实体书,然后用微信小程序抽奖吧,每个人送肯定是送不起的,而且这样抽奖公平一些,然后需要参加的人在评论区扣【1】我统计一下人数看下送多少本合适,同时大家想要什么书可以私信我,我选择一些抽奖送给大家。
神经网络的简要概述
在深入研究激活函数的细节之前,让我们快速浏览一下神经网络的概念以及它们如何工作。神经网络是一种非常强大的机器学习机制,基本上可以模仿人脑的学习方式。
大脑从外界接收刺激,对输入进行处理,然后生成输出。随着任务的复杂化,多个神经元形成一个复杂的网络,在彼此之间传递信息。
人工神经网络试图模仿类似的行为。在下面看到的网络是由相互连接的神经元组成的神经网络。每个神经元的特征在于其重量,偏见和激活功能。
输入被馈送到输入层,神经元使用权重和偏差对该输入执行线性变换。
x =(重量*输入)+偏差
在此之后,激活功能将应用在上述结果中。
最后,激活函数的输出移至下一个隐藏层,并重复相同的过程。信息的这种前向运动称为前向传播。
如果生成的输出与实际值相去甚远怎么办?使用前向传播的输出,可以计算误差。基于此误差值,将更新神经元的权重和偏差。此过程称为反向传播。
那没有激活功能可以做吗?
我们知道,使用激活函数会在正向传播过程中在每一层引入一个额外的步骤。现在的问题是–如果激活函数增加了复杂性,那么如果没有激活函数就可以做吗?
想象一下没有激活功能的神经网络。在那种情况下,每个神经元将仅使用权重和偏差对输入执行线性变换。尽管线性变换使神经网络更简单,但是该网络的功能将减弱,并且将无法从数据中学习复杂的模式。
没有激活函数的神经网络本质上只是线性回归模型。
因此,我们对神经元的输入使用了非线性变换,并且网络中的这种非线性是由激活函数引入的。
常用类型的激活功能
1.二进制步进功能
当我们具有激活函数时,我们想到的第一件事就是基于阈值的分类器,即是否应基于线性变换的值来激活神经元。
换句话说,如果激活函数的输入大于阈值,则激活神经元,否则将其禁用,即,对于下一个隐藏层不考虑其输出。
2.线性函数
我们看到了阶跃函数的问题,函数的梯度变为零。这是因为二进制步进函数中没有x的分量。除了二元函数,我们可以使用线性函数。
3.乙状结肠
我们要看的下一个激活函数是Sigmoid函数。它是使用最广泛的非线性激活函数之一。Sigmoid会转换介于0和1之间的值。
4. ReLU
ReLU函数是另一种非线性激活函数,已在深度学习领域流行。ReLU代表整流线性单位。与其他激活功能相比,使用ReLU功能的主要优势在于它不会同时激活所有神经元。
这意味着仅当线性变换的输出小于0时,神经元才会被停用。下面的图将帮助您更好地理解这一点-
f(x)=最大值(0,x)
对于负输入值,结果为零,这意味着神经元未激活。由于仅激活一定数量的神经元,因此与S型和tanh函数相比,ReLU函数的计算效率要高得多。
还有包括泄漏的ReLU、参数化ReLU、指数线性单位、Swish、Softmax等
怎么选择正确的激活功能
现在我们已经看到了很多激活函数,我们需要一些逻辑/试探法来知道在哪种情况下应该使用哪个激活函数。好与坏没有经验法则。
但是,根据问题的性质,我们可能能够做出更好的选择,以实现网络的轻松,快速融合。
- 在分类器的情况下,Sigmoid函数及其组合通常效果更好
- 由于逐渐消失的梯度问题,有时会避免出现S型和tanh函数
- ReLU功能是一般的激活功能,目前在大多数情况下都使用
- 如果我们在网络中遇到死神经元的情况,漏液的ReLU功能是最佳选择
- 始终牢记ReLU功能只能在隐藏层中使用
- 根据经验,您可以先使用ReLU功能,然后再移至其他激活功能,以防ReLU无法提供最佳效果
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/163361.html