【机器学习】RNN循环神经网络

前面的文章提到Word2Vec是一种用于将词语映射到高维空间中的词向量表示的模型,它能够捕捉词语之间的语义和语法关系。这些词向量可以用于文本分类、推荐系统、情感分析等任务,同时也可以作为RNN循环神经网络的输入,从而提高模型对文本序列的理解和表达能力。

RNN循环神经网络是一种适用于处理序列数据的神经网络模型,它在处理自然语言任务时能够考虑到文本的上下文信息,因此特别适合于语言建模、机器翻译、文本生成等任务。在RNN模型中,可以使用Word2Vec提取的词向量作为输入,从而提高模型对词语语义信息的理解,从而更好地处理文本数据。

因此,Word2Vec模型和RNN循环神经网络可以结合使用,在自然语言处理任务中相辅相成,提高模型对文本数据的理解和表达能力。

循环神经网络 归属:

  1. 领域:机器学习
  2. 方向:自然语言处理
  3. 贡献:自动文本生成

循环神经网络实际应用

生活中因为原始数据都是序列化的,比如自然语言,语音处理,时间序列问题(股票价格)等问题,
针对这种类型的问题,需要进行序列建模。单层的神经网络无法很好地处理这类序列化问题,因此采用了循环神经网络。循环神经网络是一种适用于序列型数据建模的深度模型。根据现实需求,通常有四种循环神经网络:

  1. N to 1 RNN (适合序列分类问题)
    特点:输入为序列,输出为单独的值
    适合场景:文本分类,音频分类,视频分类,数据生成
  2. 1 to N RNN (适合单一生成多个的问题)
    特点:输入为单个值,输出为序列
    适合场景:图像生成文字,类别生成音乐或语音
  3. N to N RNN (适合文本生成问题)
    特点:输入为序列,输出为单独的值
    适合场景:生成文字(诗歌,歌词,报道,linux代码,对话)视频中的每一帧预测下一个字符的概率
  4. LSTM改进的RNN(优化处理文本生成问题)
    特点:输入为序列,输出为序列
    适合场景:生成文字过程中,解决长程传播,学习语义信息
    在这里插入图片描述
    改进的RNN循环神经网络:
    在这里插入图片描述

RNN循环神经网络的使用:

  1. 定义数据,随机选择训练的文本
  2. 使用TensorFlow机器学习框架,定义RNN的基本单元RNNCell抽象类
  3. 普通的RNN使用BasicRNNCell类,在改进RNN(LSTM)中使用BasicLSTMCell类
  4. RNN堆叠,实现循环输入,处理序列化问题,多次调用RNNCell的call方法
  5. 定义模型中的一些的参数(损失,embedding稠密向量)
  6. 执行训练
  7. 查看日志,得到训练结果 转化为可视化效果图

模型的实现:
在这里插入图片描述

  • 在每一次完整的变换中,神经网络节点进行处理
  • 单层网络的输入是x,经过变换Wx+b和激活函数f得到输出y,即y=f(Wx+b)
  • 为了处理建模序列问题,RNN引入了隐状态h(hidden state)
  • 隐状态h可以对序列形的数据提取特征,接着再转换为输出,即 h1=f(Uxt+Wht-1+b)
  • 在计算时,每一步使用的参数U、W、b都是一样的,即每个步骤的参数都是共享的,这是RNN 的重要特点
  • 隐层也会作为下一个计算的部分输入,从而循环学习
  • 最后输出 yt:Softmax(Vht+ c)
  • 经典的RNN结构就像搭积木一样,将其搭好了。

模型的结果:
我训练的数据是从网上随意寻找的关于米老师的报道,第一次训练的样本较小,当训练轮次为100、1000、10000时的效果为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二次训练的样本较小,当训练轮次为100、1000、10000时的效果为
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
除此之外,还验证了一些关于歌词,诗歌,linux源码,英文对话
【这些是网上有人训练过的,我只是执行不同轮次的训练,看模型的输出会有什么不一样,发现了一些有意思的东西】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最终的结论:
文本量越大,循环的次数越多,自动生成的文本效果越好
对比中英文的结果,可以看出输入的文本越是词法完整,语义清晰,语法无误,相关性强,机器自动生成的文本效果就越好。

评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值