深度理解机器学习17-候选激活函数

文章探讨了机器学习中激活函数的重要性,特别是sigmoid与阶跃函数的区别。介绍了GRU(门控循环单元)的结构,包括更新门和重置门在记忆和遗忘过程中的作用。同时强调了非线性激活函数在神经网络中的必要性,因为线性函数无法充分利用多层网络的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度理解机器学习17-候选激活函数

​ 替换先前时间步长激活函数的候选激活函数,也在每个时间步长中计算。顾名思义,候选激活函数代表下一个时间步长激活函数应该采用的替代值。

​ 计算候选激活函数的表达式:请添加图片描述

​ 从数学上讲,更新门用于在先前激活函数和候选激活函数之间选择权重。因此,它负责当前时间步长激活函数的最终更新,并确定有多少先前的激活函数和候选激活函数传递到下一层。重置门用于选择或取消选择先前激活函数部分的一种方式。这就是为什么在前一个激活函数和重置门向量之间执行按元素乘法。

​ 在训练良好的网络中,重置门的向量中会有一个所有这些关系的入口。这些入口的值将被适当地“关闭”或“打开”,具体取决于哪些关系需要从以前的激活中被记住,哪些需要被忘记。

GRU变体

Gated Recurrent Unit(GRU)

请添加图片描述

sigmod函数与阶跃函数的区别

相对于阶跃函数只能返回0或1, sigmoid函数可以返回0.731 . . .、 0.880 . . .等实数(这一点和刚才的平滑性有关)。也就是说,感知机中神经元之间流动的是0或1的二元信号,而神经网络中流动的是连续的实数值信号。

当输入信号为重要信息时,阶跃函数和sigmoid函数都会输出较大的值;当输入信号为不重要的信息时,两者都输出较小的值。还有一个共同点是,不管输入信号有多小,或者有多大,输出信号的值都在0到1之间。

神经网络的激活函数必须使用非线性函数。换句话说,激活函数不能使用线性函数。为什么不能使用线性函数呢?因为使用线性函数的话,加深神经网络的层数就没有意义了。

线性函数的话,加深神经网络的层数就没有意义了。

线性函数的问题在于,不管如何加深层数,总是存在与之等效的“无隐藏层的神经网络”。为了具体地(稍微直观地)理解这一点,我们来思考下面这个简单的例子。这里我们考虑把线性函数 h(x) = cx 作为激活函数,把y(x) = h(h(h(x)))的运算对应3层神经网络 A。这个运算会进行y(x) = c × c × c × x的乘法运算,但是同样的处理可以由y(x) = ax(注意,a = c3)这一次乘法运算(即没有隐藏层的神经网络)来表示。如本例所示,使用线性函数时,无法发挥多层网络带来的优势。因此,为了发挥叠加层所带来的优势,激活函数必须使用非线性函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五百五。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值