AI 大模型实战高手课
独行
前阿里巴巴高级技术专家,国内某大型互联网公司首席技术官
1972 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 13 讲/共 33 讲
AI 大模型实战高手课
15
15
1.0x
00:00/00:00
登录|注册

10|经典算法之RNN:开发人员绕不开的循环神经网络

你好,我是独行。
上一节课的最后我们介绍了神经网络,神经网络有很多种,包括前馈神经网络(FNN)、卷积神经网络(CNN)、循环神经网络(RNN)、图神经网络(GNN)、自注意力机制模型 Transformer 等。
这节课我们就来学习其中的 RNN,它主要用来处理序列数据,为什么我们要学习 RNN 呢?实际上目前大部分大语言模型都是基于 Transformer 的,通过学习 RNN,我们可以理解神经网络如何处理序列中的依赖关系、记忆过去的信息,并在此基础上生成预测的基本概念,尤其是几个关键问题,比如梯度消失和梯度爆炸等,为我们后面进一步理解 Transformer 打下基础。

循环神经网络

循环神经网络(RNN)是一类用于处理序列数据的神经网络。不同于传统的前馈神经网络,RNN 能够处理序列长度变化的数据,如文本、语音等。RNN 的特点是在模型中引入循环,使得网络能够保持某种状态,从而在处理序列数据时表现出更好的性能。我们看一下下面的图片。
图片源于网络
左边简单描述 RNN 的原理,x 是输入层,o 是输出层,中间 s 是隐藏层,在 s 层进行一个循环,右边表示展开循环看到的逻辑,其实是和时间 t 相关的一个状态变化,也就是说神经网络在处理数据的时候,能看到前一时刻、后一时刻的状态,也就是我们常说的上下文。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

1. RNN是一种用于处理序列数据的神经网络,能够处理序列长度变化的数据,如文本、语音等,通过引入循环,使得网络能够保持某种状态,在处理序列数据时表现出更好的性能。 2. RNN的核心在于隐藏层,隐藏层的计算公式为$h_{t}=f(W_{xh}x_{t}+W_{hh}h_{t-1}+b_{h})$,通过这种方式,RNN能够记住之前的输入,并使用这些信息来影响后续的处理,具备了记忆功能。 3. RNN面临的关键挑战包括梯度消失和梯度爆炸问题,梯度消失是指在深层网络中,梯度会逐层连乘导致最终的梯度非常小,而梯度爆炸则是梯度在反向传播过程中变得非常大,以至于更新后的权重偏离了最优值,导致模型无法收敛。 4. 解决梯度消失问题的方法包括使用长短期记忆和门控循环单元调整网络结构,替换激活函数,以及进行梯度裁剪来保持梯度的稳定性。 5. 解决梯度爆炸问题的方法与解决梯度消失问题类似,包括使用长短期记忆和门控循环单元调整网络结构,替换激活函数,以及进行梯度裁剪来保持梯度的稳定性. 6. LSTM通过遗忘门、输入门和输出门的机制实现了对序列数据的长期依赖信息的有效保留,避免了梯度消失问题,适用于需要理解整个序列背景的任务。 7. RNN的实际应用场景包括文本生成,通过学习大量的文本数据,RNN能够生成具有相似风格的文本。 8. 文本生成是RNN的一个典型应用,通过学习大量的文本数据,RNN能够生成具有相似风格的文本。 9. RNN的优势在于它的记忆能力,通过隐藏层循环结构捕捉序列的长期依赖关系,特别适合用于文本生成、语音识别等领域。 10. LSTM可以一定程度上解决RNN的梯度消失和梯度爆炸问题,但目前主流的大语言模型没有使用RNN架构,这可能涉及到更高效的模型架构和训练方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 大模型实战高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 头发乱了
    独行老师,提个建议哈,示例代码可以换成pytorch吗?
    2024-06-20归属地:安徽
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部