nlp复习--神经网络基础

本文介绍了神经网络的基础知识,包括技术发展、感知器的权重训练、梯度下降及其优化、反向传播算法以及常用的激活函数如Sigmoid、ReLU等。讨论了Sigmoid函数的梯度消失问题和影响模型收敛的因素。

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

1、神经网络技术发展
在这里插入图片描述
2、那么感知器怎么样能训练出权重呢?

首先,所有的权重参数都是随机的;然后根据一个标准【代价函数】,使用一些方法【梯度下降】更新权重,直到这个标准【代价函数】的值足够好;或者权重每次更新的值足够小。

3、梯度下降
梯度下降中的梯度指的是代价函数对各个参数的偏导数,偏导数的方向决定了在学习过程中参数下降的方向,学习率(通常用α表示)决定了每步变化的步长,有了导数和学习率就可以使用梯度下降算法(Gradient Descent Algorithm)更新参数了。
☞我们目标是求这个损失函数(误差函数)最小值时候对应自变量的值,也就是求曲线最低点自变量x的取值
步骤:想更新谁就对谁求导
例如均方差代价函数
在这里插入图片描述
1)对w求导:【省略系数】
在这里插入图片描述
得到的就是 w 的梯度;
2)更新w(a为学习率)(w需要增大的话梯度是为负的,-a*导数正好是正数达到增大的效果)
在这里插入图片描述
在这里插入图片描述
如果每次只走1cm,然后再停下来找方向,那么太耗时;如果沿着一个方向 奔太远,可能会错过最小点,这就是学习率(学习步长)。
4、反向传播
在这里插入图片描述
5、代价函数/损失函数

  • Sigmoid

缺点:
容易梯度消失
在初始化的时候,系数不能取太大的值

收敛速度就会慢上不少了

  • (1)
    在上图中容易看出,当中较大或较小时,导数接近0,而后向传递的数学依据是微积分求导的链式法则,当前层的导数需要之前各层导数的乘积,几个小数的相乘,结果会很接近0

    (2)
    Sigmoid导数的最大值是0.25,这意味着导数在每一层至少会被压缩为原来的1/4,通过两层后被变为1/16。不同的层次计算出来的梯度的大小不同,越靠前的层的学习速度就越慢。也就是,梯度消失的问题。

  • 如果计算出来的wx+b的值太大,那么经过sigmoid函数处理的值接近于1,而会导致导数接近于0。所以,在初始化的时候,系数不能取太大的值。

因此,对于具体的参数 wi 而言,
在这里插入图片描述
因此,参数的更新变为:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
所以,模型参数走绿色箭头能够最快收敛,但由于输入值的符号总是为正,所以模型参数可能走类似红色折线的箭头。如此一来,使用 Sigmoid 函数作为激活函数的神经网络,收敛速度就会慢上不少了。

  • Softmax
  • Tanh
  • ReLU
  • leaky relu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值