深入理解RNN

[人工智能-深度学习-47]:卷积神经网CNN+循环神经网络RNN与组合电路+时序电路的比较
[人工智能-深度学习-51]:循环神经网络 - RNN基本原理详解

组合逻辑电路

组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来或当前的状态无关。常见的与、或、非、亦或电路就是组合电路。给定的输入,一定是给定的输出,与电路的当前状态无关,即与"时间"无关。

时序逻辑电路

大多数数字电路系统,除了包含组合电路,还包括存储元件(本质区别) ,我们将这样的系统描述为时序电路。

时序逻辑电路在逻辑功能上的特点是:任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关。

RNN理解:

  • 之前的误区:
    1.本质上,输入层不用画神经元。因为他们是"固定的"(维度上),或者说他们没有什么讨论的必要性。只有hidden layer能称之为神经元,hidden layer的数量,代表了你要把上一层数据通过线性代数转成几维,这个是可以讨论的。
    所以RNN中的隐藏层,他的维度,和输入无关,输入就是你数据的特征维度。那么隐藏层你想是几个神经元无所谓的。
    2.以文本为例子,由于你想让网络学习到上下文信息这个任务,所以你每次喂给网络的只能是一个单词的词向量。比如文本:"I love you",就 是一个序列,由三个单词组成,不管单词由多少个字母组成,每个单词被编码成一个长度=2的向量。那么RNN所说的t,在这个特定的任务中,就成了上下文的顺序这个信息,其实本身时间也是为了描述当前状态下的隐藏层和前一状态是相关的。
    3.为什么要引入T维度?
    这张图已经反映了几个事情:
    1、输入输出本身和隐藏层的neuron数量n无关
    2、隐藏层Wh=n*n

当RNN只有一个神经元时,即最简单的one-to-one:youtube上的视频教学,理解是对的,当前的hidden层(别管有几个神经元)一对一的传给下一个状态。和时序逻辑电路一样的思路。

​​

而他的缺点就是:RNN网络不能并行的处理序列输入 ,一次只能处理一个序列中的一个单元(如单词),如"I love china"这个序列,RNN网络一次只能处理一个单词,无法并行的处理整句话(多个单词组成的序列)

加上T这个维度之后:我们之前是用T个时刻给他输入X,现在是用一个时刻输入[X0,X1,...XT]这样可以使WX+B这个过程并行化

但是X0------X1内部的hidden层的状态转移是由RNN自己做的,我们现在只需要保证 XT------>XT+1这个过程的hidden层转移即可。

相关推荐
桃花键神19 分钟前
AI可信论坛亮点:合合信息分享视觉内容安全技术前沿
人工智能
野蛮的大西瓜40 分钟前
开源呼叫中心中,如何将ASR与IVR菜单结合,实现动态的IVR交互
人工智能·机器人·自动化·音视频·信息与通信
CountingStars6191 小时前
目标检测常用评估指标(metrics)
人工智能·目标检测·目标跟踪
tangjunjun-owen1 小时前
第四节:GLM-4v-9b模型的tokenizer源码解读
人工智能·glm-4v-9b·多模态大模型教程
冰蓝蓝1 小时前
深度学习中的注意力机制:解锁智能模型的新视角
人工智能·深度学习
橙子小哥的代码世界1 小时前
【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图
人工智能·计算机视觉
新加坡内哥谈技术2 小时前
苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
大数据·人工智能·语言模型
fanstuck3 小时前
Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
人工智能·数据挖掘·openai
lovelin+v175030409663 小时前
安全性升级:API接口在零信任架构下的安全防护策略
大数据·数据库·人工智能·爬虫·数据分析
wydxry3 小时前
LoRA(Low-Rank Adaptation)模型微调
深度学习