RNN循环神经网络 #108
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#108
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
RNN,全称为循环神经网络(Recurrent Neural Network),是一种专门用于处理序列数据的神经网络。它在自然语言处理(NLP)、语音识别、时间序列分析等领域有着广泛的应用。RNN的核心特点是它能够处理输入数据之间的时间依赖关系,这使得它非常适合处理时间序列数据或者任何形式的序列化数据。
工作原理
RNN的工作原理是通过在网络中引入循环来保存前一个时间步的信息,并将这些信息传递到下一个时间步。这种循环结构允许网络在处理当前输入时考虑到之前输入的历史信息。
总之,RNN可以被看作是多个相同的神经网络模块串联起来,每个模块对应一个时间步,并且每个模块的输出会作为下一个模块的输入之一。
RNN的基本组成
RNN的基本组成包括:
RNN常见结构
多输入单输出RNN结构
输入:x1, x2, x3, … xi
输出:y
应用:情感识别
举例:I feel happy watching the movie
判断:positive
单输入多输出RNN结构
输入:x
输出:y1, y2, y3, … yi
应用:序列数据生成器
举例:文章生成、音乐生成
多输入多输出RNN结构(输入输出维度相同)
输入:x1, x2, x3, … xi
输出:y1, y2, y3, … yi
应用:特定信息识别
多输入多输出RNN结构
输入:x1, x2, x3, … xi
输出:y1, y2, y3, … yi
*注意:i≠j
应用:语言翻译
举例:what is artificial intelligence?
判断:什么是人工智能?
RNN常见类型
单向RNN/普通RNN: 信息只在一个方向上流动,即从过去到未来。信息从前部序列流动到后部序列。
双向RNN (Bi-RNN) : 信息在两个方向上流动,网络可以同时考虑过去的信息和未来的信息。单向RNN是把前部序列信息传递到后部,双向RNN在做判断时不仅仅是把前部序列信息传递到后部,同时也会考虑后部序列的信息。
__
尽管RNN在处理序列数据方面非常有效,但它们也有一些局限性,比如训练过程中的梯度消失和梯度爆炸问题,以及在处理非常长的序列时效率较低。这些问题在一定程度上限制了RNN在某些复杂任务中的应用。因此,研究人员和工程师经常使用更高级的模型,如Transformer,来解决这些问题。