基础神经网络之RNN
几大神经网络
RNN循环神经网络
(Recurrent Neural Network)是一类专门用于处理序列数据的神经网络,在自然语言处理、语音识别、时间序列分析等领域有广泛应用。
与传统的前馈神经网络(如 CNN、MLP)不同,RNN 具有 循环连接(Recurrent Connection),能够利用过去的信息来影响当前的计算,从而适用于处理具有时间依赖关系的任务。
RNN基本结构:

- 输入层(Input Layer):输入序列数据 x1(如一句话中的每个单词)。
- 隐藏层(Hidden Layer):维护一个隐藏状态 h1,用于存储过去的信息,并与当前输入一起计算新的隐藏状态。
- 输出层(Output Layer):计算当前时间步的输出 y1。
RNN工作原理:

将输入的数据看作一个时间序列(因为要逐个输入读取必然有时间差),每一个数据点都与前一个的隐层状态共同输入当下的隐层,最后直到输出最终结果

RNN改进版本:LSTM(长短时记忆网络,Long Short-Term Memory)
LSTM(Long Short-Term Memory)是一种特殊的 RNN(循环神经网络),专门用于解决 RNN 的梯度消失问题,使其能够学习长序列中的依赖关系。
引入“记忆单元(Cell State)”引入控制参数c ,持续更新,来决定信息的重要性,以此决定保留还是遗忘。让网络有能力长期存储信息。
使用“门机制(Gate Mechanism)”即sigmoid函数,有选择地保存或忘记信息,使信息流动更加稳定。

词向量模型(Word Embeddings):
通过输入的词库,随机初始化词表,通过在词表中的位置信息来表示单词,然后再不断调整参数来更新词表。将文本单词向量化,将其分为多种维度(一般 50~300 维),维度越高越准确。通过计算向量来获得相似度等信息。
这里的词向量维度数是统一的,我们设置一个固定值(一般为300维),使所有向量长度都是这个固定值,多的忽略,少的填充。
经典词向量模型
Word2Vec(包含 CBOW 和 Skip-gram)
虽主要基于神经网络而非严格 RNN 结构,但常与 RNN 结合使用。CBOW 通过上下文预测中心词,Skip-gram 则通过中心词预测上下文,能生成稠密低维的词向量,捕捉词语语义关联。
CBOW:输入上下文,推测输出中间词

Skip-gram:输入中间词,推测输出上下文

上面两种模型计算量太大,有以下改进方法:
直接输入前后对应词,计算概率,简化为二分类任务。

但是由于词库中没有负样本(因为词库中只有(正样本)或者没有,不存在错误样本),要主动添加一些负样本(大概添加3个或者5个),然后是其标注为0,怎样被标注为1,即可开始二分类



GloVe(Global Vectors for Word Representation):
结合了全局词频统计与局部上下文信息,生成的词向量在语义相似度任务上表现优异,常作为 RNN 的输入特征提升模型性能。
GloVe(Global Vectors for Word Representation)即全局词向量表示,是 2014 年由斯坦福大学开发的开源项目,作为无监督学习算法用于生成词向量。
原理:结合矩阵分解与上下文窗口技术,通过统计语料库中词与词的共现数据构建共现矩阵,再优化词向量,让向量点积与对应词的点互信息差异最小化,将词映射到连续向量空间,向量间的角度和方向反映语义关联 。比如在 “苹果 是 水果” 这句话中,“苹果” 和 “水果” 共现,模型会学习到它们语义相近,在向量空间中距离较近。
特点:
-
语义捕捉能力强:能有效捕捉词间语义关系,在词相似性、类比推理等任务中表现良好。如 “国王 - 男人 + 女人 = 女王”,通过向量运算可得到合理结果。
-
训练效率较高:相比一些模型,训练速度较快,能处理大规模文本数据。
-
多维度可选:提供多种维度的预训练向量(如 50 维、100 维等),可根据任务需求和计算资源选择 。
应用场景:在自然语言处理(NLP)任务中应用广泛,包括命名实体识别(NER),提升识别文本中实体的性能;机器翻译,用于表示源语言和目标语言的单词,提高翻译质量;文本分类,帮助模型更好理解文本语义,提升分类准确率 。
局限性:模型结构相对复杂,理解和调整难度较大;对低频词的表示不够好,难以准确捕捉其语义;无法有效区分同形异义词,因为对相同拼写的词计算一组向量 。
更多推荐

所有评论(0)