首页 > 其他分享 >机器学习——循环神经网络

机器学习——循环神经网络

时间:2023-11-12 11:35:14浏览次数:35  
标签:困惑 机器 词元 模型 神经网络 循环 序列

隐状态

 

无隐状态的神经网络

 

有隐状态的循环神经网络

循环神经网络(recurrent neural networks,RNNs) 是具有隐状态的神经网络。  

 

基于循环神经网络的字符级语言模型 

回想一下 8.3节中的语言模型, 我们的目标是根据过去的和当前的词元预测下一个词元, 因此我们将原始序列移位一个词元作为标签。 Bengio等人首先提出使用神经网络进行语言建模 (Bengio et al., 2003)。 接下来,我们看一下如何使用循环神经网络来构建语言模型。 设小批量大小为1,批量中的文本序列为“machine”。 为了简化后续部分的训练,我们考虑使用 字符级语言模型(character-level language model), 将文本词元化为字符而不是单词。 图8.4.2演示了 如何通过基于字符级语言建模的循环神经网络, 使用当前的和先前的字符预测下一个字符。

 

../_images/rnn-train.svg

图8.4.2 基于循环神经网络的字符级语言模型:输入序列和标签序列分别为“machin”和“achine”

在实践中,我们使用的批量大小为n>1,每个词元都由一个d维向量表示。 因此,在时间步t输入Xt将是一个n*d<br class="Apple-interchange-newline" />

 

困惑度

最后,让我们讨论如何度量语言模型的质量, 这将在后续部分中用于评估基于循环神经网络的模型。 一个好的语言模型能够用高度准确的词元来预测我们接下来会看到什么。 考虑一下由不同的语言模型给出的对“It is raining …”(“…下雨了”)的续写:

 

  1. “It is raining outside”(外面下雨了);

  2. “It is raining banana tree”(香蕉树下雨了);

  3. “It is raining piouw;kcj pwepoiut”(piouw;kcj pwepoiut下雨了)。

 

就质量而言,例1显然是最合乎情理、在逻辑上最连贯的。 虽然这个模型可能没有很准确地反映出后续词的语义, 比如,“It is raining in San Francisco”(旧金山下雨了) 和“It is raining in winter”(冬天下雨了) 可能才是更完美的合理扩展, 但该模型已经能够捕捉到跟在后面的是哪类单词。 例2则要糟糕得多,因为其产生了一个无意义的续写。 尽管如此,至少该模型已经学会了如何拼写单词, 以及单词之间的某种程度的相关性。 最后,例3表明了训练不足的模型是无法正确地拟合数据的。

我们可以通过计算序列的似然概率来度量模型的质量。然而这是一个难以理解、难以比较的数字。 毕竟,较短的序列比较长的序列更有可能出现。(长序列出现的概率明显小于短序列)

困惑度的最好的理解是“下一个词元的实际选择数的调和平均数”。 我们看看一些案例。

  • 在最好的情况下,模型总是完美地估计标签词元的概率为1。 在这种情况下,模型的困惑度为1。

  • 在最坏的情况下,模型总是预测标签词元的概率为0。 在这种情况下,困惑度是正无穷大。

  • 在基线上,该模型的预测是词表的所有可用词元上的均匀分布。 在这种情况下,困惑度等于词表中唯一词元的数量。 事实上,如果我们在没有任何压缩的情况下存储序列, 这将是我们能做的最好的编码方式。 因此,这种方式提供了一个重要的上限, 而任何实际模型都必须超越这个上限。

补充理解

  1. 困惑度的概念:困惑度是衡量语言模型预测能力的指标,它反映了模型在给定上下文情况下对下一个词元进行预测时的困惑程度。困惑度越低,表示模型的预测能力越好。

  2. 困惑度的计算:困惑度可以理解为“下一个词元的实际选择数的调和平均数”,即对于每个位置的预测,实际发生的结果(词元的选择数)的调和平均数。调和平均数是一种平均数的计算方法,它对极端值更为敏感。

  3. 基线情况:在基线模型中,模型的预测是基于词表中所有可用词元的均匀分布,即假设每个词元被预测的概率相等。

  4. 困惑度的上限:基于这种均匀分布的基线模型,如果我们假设没有任何压缩的情况下存储序列,那么困惑度将等于词表中唯一词元的数量。换句话说,在最理想的情况下,模型的困惑度最小可以达到词表中唯一词元的数量。

  5. 模型的挑战:因此,基线模型提供了困惑度的上限,而实际的语言模型需要不断努力超越这个上限,以更准确地预测文本中的词元,从而减小困惑度,提高模型的预测能力。

 

总结

  • 对隐状态使用循环计算的神经网络称为循环神经网络(RNN)。

  • 循环神经网络的隐状态可以捕获直到当前时间步序列的历史信息。

  • 循环神经网络模型的参数数量不会随着时间步的增加而增加。

  • 我们可以使用循环神经网络创建字符级语言模型。

  • 我们可以使用困惑度来评价语言模型的质量。

 

 

 

标签:困惑,机器,词元,模型,神经网络,循环,序列
From: https://www.cnblogs.com/yccy/p/17826903.html

相关文章

  • 【洛谷 P2669】[NOIP2015 普及组] 金币 题解(循环)
    [NOIP2015普及组]金币题目背景NOIP2015普及组T1题目描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这......
  • R语言机器学习方法分析二手车价格影响因素
    原文链接:https://tecdat.cn/?p=34238原文出处:拓端数据部落公众号分析师:SimingYan比较多种机器学习方法优劣性,分析二手车价格影响因素,训练模型预测二手车价格。任务 / 目标根据印度二手车交易市场1996-2019年数据,进行清洗,建模,预测。数据源准备7253笔交易数据包括汽车属......
  • 使用ResponseSelector实现校园招聘FAQ机器人
      本文主要介绍使用ResponseSelector实现校园招聘FAQ机器人,回答面试流程和面试结果查询的FAQ问题。FAQ机器人功能分为业务无关的功能和业务相关的功能2类。一.data/nlu.yml文件  与普通意图相比,ResponseSelector训练数据中的意图采用group/intent格式(检索意图)。比如,普通意图......
  • 【深度学习笔记】第3章-神经网络基础
    参考书籍:邓立国等《python深度学习原理、算法与案例》清华大学出版社3.3感知机3.3.1感知机模型感知机,又称阈值逻辑单元(ThresholdLogicUnit,TLU)/线性阈值单元(LinearThresholdUnit,LTU)经典数据集:IrisDataSet(鸢尾属植物数据集)但是这个数据集有些复杂,没什么必要用,自己写......
  • 【6.0】Go语言基础之循环语句
    【一】判断语句if~elsepackagemainimport"fmt"//if~else的使用//[1]语法//语法if条件{条件符合,执行代码}//语法elseif条件{条件符合,执行代码}//语法else{条件符合,执行代码}//[2]执行代码的左侧{必须跟关键字在同一行funcmain(){ score:......
  • 深度学习模型---卷积神经网络
    深度学习深度学习模型是一种机器学习方法,它模仿人脑神经网络的结构和功能,通过多层次的神经网络进行学习和推断。深度学习模型在计算机视觉、自然语言处理、语音识别等领域取得了显著的成果。深度学习模型的基本单元是神经网络,它由大量的人工神经元组成,每个神经元都与其他神经元......
  • wechaty撸一个属于自己的微信机器人(Python版接入文心一言)
    前言说明:机器人的框架找了很久,由于很多框架都不能使用了或者封号率极高,最后选择了wewechaty,wechaty是可以使用ipad协议,主要是以node写的,因为打算机器人接入爬虫项目,所以特意用了python版本,对于python版网上教程太少且模糊且时间过于久远,所做以此文为采坑记录。前期准备:tok......
  • 用循环嵌套输出菱形
    row=eval(input('请输入菱形的行数:'))#定义输入行数while的第一步:初始化变量whilerow%2==0:#当为奇数是继续执行,偶数时错误,重新输入while的第二步:条件判断print('请重新输入菱形的行数')#while的第三步:语句块row=eval(in......
  • 安装本地化docker registry,使其他机器能够发布容器
    sudodockerpullregistry:latestdockerrun-d-p5000:5000--nameregistryregistry:latest http://localhost:5000/v2/_catalog, 检查运行成功此时在子机3号上访问:http://192.168.170.130:5000/v2/_catalog,  ......
  • Nature Plants | 从卫星监测的全大陆田间试验数据中获得主要作物性状的可解释机器学习
    目录背景信息论文背景:过去方案:论文的Motivation:实验方法主要结果代码获取澳大利亚国立大学生物研究院研究团队使用机器学习模型分析了大规模农田试验数据和卫星数据,成功预测了重要农作物特征,并揭示了作物行为的驱动因素和复杂相互作用。背景信息论文背景:预计到2050年,全球......