RNN

这篇博客主要探讨了自然语言处理(NLP)中Transformer模型和Attention机制的原理,包括详细的解释和源码解析,帮助读者深入理解BERT等先进NLP模型的基础。

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

NLP相关:

nlp中的Attention注意力机制+Transformer详解 https://zhuanlan.zhihu.com/p/53682800

NLP中的Attention原理和源码解析 https://zhuanlan.zhihu.com/p/43493999

 

【NLP】Transformer模型原理详解 https://zhuanlan.zhihu.com/p/44121378 https://zhuanlan.zhihu.com/p/46652512

一文读懂BERT(原理篇)https://blog.youkuaiyun.com/jiaowoshouzi/article/details/89073944

 

 

 是什么

为什么需要RNN

(RNN解决了什么问题)

如何实现
RNN

RNN是神经网络中的一种,其网络结构是一个链条,链条中的每个节点存储着一个时间步的信息。

训练过程中,输入是一个序列(比如一句话),从左到右,每个时间步,RNN依次读取序列中的每个单词,通过隐藏层的激活函数将信息保存在当前节点中。然后把信息会传到下一个节点。基于这样前后单元相连接的链条结构,RNN实现了信息传递,最后一个单元保存了整个输入序列的信息,可以处理复杂的自然语言分类问题。

 

双向RNN:将两个相反方向的隐藏层连接到相同的output上,使得output可以能够同时取得过去和未来的信息

优势:能够支持模型使用序列的所有信息,支持在任意位置进行预测,

缺点:必须遍历序列所有信息后,才能够预测

RNN 相对于传统神经网络的优势:

  • 在不同的实例中,输入和输出可以是不同的长度
  • 参数共享:能够共享从文本不同位置学习到的特征(从文本某处学到的特征可以快速推广到整个文本的其他位置)(比如RNN 可以检测到"henry" 是个人名,不管这个单词是在句子中的哪一部分)

下列网络图中,只有Wax, Waa, Wya三种参数

 

a部分,通常选择用relu作为激活函数

y部分,如果是二分类问题,使用sigmoid作为激活函数,如果是多分类问题,可以使用softmax激活函数

 

引入门的概念,有效处理梯度消失的问题

在RNN中,梯度消失意味这,前面的内容很难对后续内容产生影响,模型不能处理长度很长有很多单词的句子

比如: the cats, xxxxxxxxxxxxxx, was/were (此处如何选择was 还是were?)

门的概念的引入:

GRU:在每个cell格子中,都加上一个更新门。cell 会保留过去的信息。更新门会决定这个cell的信息是否要更新。如果是,那么就会将过去的信息替换成新信息,然后传入下一个cell, 如果不更新,那么就会将旧信息传给下一个。

可以帮助捕获到长期的联系

LSTM:含有更新门,遗忘门,输出门。

每个cell 能够保留过去的信息,也能够保留任意时间戳的信息

三个门决定了要保留哪些信息,管理着进出cell的信息流

LSTM的优势就是能够捕获到长时间的联系,同时处理梯度消失的问题

GRU

将常规的RNN单元替换为GRU单元,GRU中引入了新的变量,记忆细胞,存储着过去的信息,提供了长期的记忆能力。

 

 

处理梯度消失的问题

在每个节点中,都引入”记忆细胞“的新变量,加上一个更新门。原始记忆细胞保留过去的信息。同时有个记忆细胞的候选值,保存着当前时间步上新的输入的信息。更新门会决定是否用候选值来更新当前记忆细胞的值。如果是,那么就会将过去的信息替换成新信息,然后传入下一个cell, 如果不更新,那么就会将旧信息传给下一个。

 

LSTM

 

LSTM:含有更新门,遗忘门,输出门。

 

每个cell 能够保留过去的信息,也能够保留任意时间戳的信息

 

三个门决定了要保留哪些信息,管理着进出cell的信息流

 

LSTM的优势就是能够捕获到长时间的联系,同时处理梯度消失的问题

 

LSTM的优势就是能够捕获到长时间的联系,同时处理梯度消失的问题

可以同时保留过去信息和当前信息。通过遗忘门和更新门的大小来控制

对捕捉序列中更深层次的联系要比GRU更加有效。

背景:在读一篇文章,想要用LSTM来保留其语法结构。比如主语是单数还是复数等信息

之前的主语是单数,cell 中一直保留着“主语单数”的信息。

现在新遇到一个复数主语。

 

  作用 
遗忘门

 

Γf〈t〉 is 0: LSTM将会删除掉旧信息

1: cell 会保留信息

启动遗忘门,把记忆细胞中保留着的历史信息(主语单数的信息)遗忘掉

当前时间步的记忆细胞中的信息,由遗忘门和更新门一起确定
更新门

 

0-1 之间的值

0更新,1不更新

启动更新门,会保留当前输入的信息
输出门

 

决定使用哪个输出 
注意力机制

注意力模型会在输入的每个输入的信息块上计算注意力权重,不同的权重对每一步的输出结果有不同的注意力影响。

 

  • 计算能力的限制:当要记住很多“信息“,模型就要变得更复杂,然而目前计算能力依然是限制神经网络发展的瓶颈。
  • 优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,有效缓解模型复杂度和表达能力之间的矛盾;但是,如循环神经网络中的长距离以来问题,信息“记忆”能力并不高。

 

注意力机制:

  1. 信息输入
  2. 计算注意力分布α
  3. 根据注意力分布α来计算输入信息的加权平均 c (离当前模块近的输入有比较大的呃权重,远的输入权重小)

 

Language Model

语言模型

词序列上的概率分布。对于一个长度为Ty的序列,它会给整个序列产生P(y<1>,y<2>... ,y<Ty>)}。

目标是用来区分那些读音很相近的单词和句子。

给定任意一个句子,语言模型能够估计它是特定一个句子的概率

语音转文本:

The apple and pear salad was delicious.

The apple and pair salad was delicious.

这两个句子的发音非常相似。但是语言模型会根据文本的合理性来选择第一个

用RNN来训练一个语言模型

训练数据:句子, 如: Cats average 15 hours of sleep a day.

将句子中的单词,逐个输入到RNN中,每一步都会给出一个预测值(所有单词中预测概率值最大的单词作为预测值)然后计算损失函数

 

Word Embedding

Word Embeddings 是一种词汇表征的方式,对不同单词进行了实现了特征化的表示。

优点:词与词之间的相似性很容易地表征出来,这样对于不同的单词,模型的泛化性能会好很多

特性

 

类比推理特性

通过计算两个词向量间的相似度,可以发现不同词之间的类比关系。

e_man - e_woman = e_king - e_queen

 

 

 

 

将词进行特征表征。

  1. 把单词转化成数值向量的形式,使其可以作为深度网络学习的输入
  2. 词向量表示,克服了one-hot表征中单词孤立无连接的弱点。通过特征表征,使得语义相近的单词在空间中距离也更近。可以保留词与词之间的联系。对我们的预测任务很有帮助。
  • 比如算法学到了 orange juice 这个搭配,那么预测阶段,即使算法从未见过apple, 但是orange 和 apple 的word embedding相近。算法也会预测出apple juice 搭配
  • one-hot 孤立每个词,使得模型对相关词的泛化能力不强。每个词向量之间的距离都一样,乘积均为0,所以无法获取词与词之间的相似性和关联性。

词嵌入的学习方法

 

步骤分类细节损失函数

抽取上下文和目标词配对,构建一个有监督的训练任务。

比如对于语料:a glass of orange juice

输入:a glass of orange juice( 上下文)

预测目标:juice(目标词汇)

模型细节:双层网络结构(一层全连接,一层softmax)

  • 通过将每个单词的one-hot向量与嵌入矩阵相乘,得到相应的Embedding;
  • 利用窗口控制影响预测结果的单词数量,并将窗口内单词的Embedding堆叠起来输入到神经网络中;
  • 最后通过softmax层输出整个词汇表各个单词可能的概率;选取概率最大的单词作为预测值,计算损失函数,反向传播梯度下降,更新参数(嵌入矩阵E ,以及隐藏层和softmax层的参数w [ 1 ] , b [ 1 ] , w [ 2 ] , b [ 2 ] )

 

最终目标:获取最佳的词嵌入矩阵E

Word2Vec: 多分类的问题 (字典中有多少个单词,就有多少个分类)

通过输入context, 来预测target

 

缺点: softmax 计算的时间复杂度高

随机选择句子中的一个词作为上下文,同时在上下文的一定距离内随机选择另外一个词作为目标词。

 

输入:context

输出:target

 

多元交叉熵

 

负采样 negative sampling : 二分类问题

预测两个词之间是否是上下文-目标词对,如果是词对,则学习的目标为1;否则为0

高效的原因:

不再使用词汇表大小的softmax,而是转为二分类问题,而且每次的训练样本都是1个正样本,外加k个负样本

 

针对一个context, 每次构建k个词对,其中只有一对是真正的上下文-目标词对,其label是1,其余k-1对都是将上下文和字典中任意单词组队,label为0

 

输入:(context, word)

输出:1/0

 

Glove 词向量

引入了统计两个词共线的次数Xij

损失函数

 

 

 

 

 

内容概要:文章基于4A架构(业务架构、应用架构、数据架构、技术架构),对SAP的成本中心和利润中心进行了详细对比分析。业务架构上,成本中心是成本控制的责任单元,负责成本归集与控制,而利润中心是利润创造的独立实体,负责收入、成本和利润的核算。应用架构方面,两者都依托于SAP的CO模块,但功能有所区分,如成本中心侧重于成本要素归集和预算管理,利润中心则关注内部交易核算和获利能力分析。数据架构中,成本中心与利润中心存在多对的关系,交易数据通过成本归集、分摊和利润计算流程联动。技术架构依赖SAP S/4HANA的内存计算和ABAP技术,支持实时核算与跨系统集成。总结来看,成本中心和利润中心在4A架构下相互关联,共同为企业提供精细化管理和决策支持。 适合人群:从事企业财务管理、成本控制或利润核算的专业人员,以及对SAP系统有定了解的企业信息化管理人员。 使用场景及目标:①帮助企业理解成本中心和利润中心在4A架构下的运作机制;②指导企业在实施SAP系统时合理配置成本中心和利润中心,优化业务流程;③提升企业对成本和利润的精细化管理水平,支持业务决策。 其他说明:文章不仅阐述了理论概念,还提供了具体的应用场景和技术实现方式,有助于读者全面理解并应用于实际工作中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值