5.1循环序列模型

觉得有用的话,欢迎一起讨论相互学习~Follow Me

1.1什么是序列模型

  • 在进行语音识别时,给定了一个输入音频片段X,并要求输出片段对应的文字记录Y,这个例子中的输入和输出都输序列数据。因为X是一个按时序播放的序列音频而输出Y是一系列单词。
  • 音乐生成使用的也是序列数据,在这个例子中只有输出数据Y是序列,而输入数据可以是空集也可以是个单一的整数,这个数可能指代想要生成的音乐风格也可能是你想要生成的那首曲子的前几个输入。
  • 情感分类问题中,输入是一串文字,输出是情感的评价
  • DNA序列分析问题中,输入是一段DNA序列,用来标记出DNA序列的那些片段是用于匹配蛋白质的。
  • 在机器翻译中,输入是一段文字,要求你输出另一种语言的翻译结果。
  • 在视频行为识别中,获得一段视频帧,然后要求你识别其中的行为。
  • 在命名实体识别问题中,会给定一个句子,要求识别出句子中的人名
  • 虽然都是序列模型,但是序列问题存在着差异,例如:有的是输入数据是一个序列,而输出不是序列。有的是输出数据是一个序列,而输入不是一个序列。或者输入和输出的序列长度存在差异等。


1.2序列模型数学符号定义

示例:命名实体识别 Name entity recognition system

  • 输入: Harry Potter and Hermione Granger invented a new spell

    • 能够自动识别句中的人名和地名,这常用于搜索引擎,来索引过去24小时内所有新闻报道提及的人名,用这种方法就能来恰当的进行索引。
    • 命名实体识别系统可以用来查找不同类型文本中的人名,公司名,时间,地点,国家名,货币名等等。
  • 假设设定模型的输出是一个与输入句式对应的序列,即通过0或1来表示输入的句式中的单词是否是人名或地名的一部分。例如Y: 1 1 0 1 1 0 0 0 0 。PS:这只是个简单的示例,更复杂的示例不仅能够表示输入的句式是不是一个命名实体还能表示命名实体的起始点和长度。
  • 形式化表示方法:
    • 使用\(X^{1},X^{2},X^{3}...X^{T}...X^{9}\)来表示输入数据
    • 使用\(Y^{1},Y^{2},Y^{3}...Y^{T}...Y^{9}\)来表示输出数据
    • 使用\(T_{x}\)来表示输入序列的长度,\(T_{x}=9\).
    • 使用\(T_{y}\)来表示输出序列的长度,\(T_{y}=9\).
    • 训练数据集中第i个样本的第t个输入序列使用\(X^{(I)<t>}表示\)
    • 训练数据集中第i个样本的第t个输出序列使用\(y^{(I)<t>}表示\)
    • 使用\(T_{x}^{(i)}\)来表示训练数据集中第i个样本输入序列的长度
    • 使用\(T_{y}^{(i)}\)来表示训练数据集中第i个样本输出序列的长度

      NLP(Nature Language Processing)自然语言处理数据表示方法

  • 需要将解决的是如何处理一个序列里单独的词,如何单独的表示Harry这个词。
    • 做词典,列一列你的表示方法中要用到的单词,对于一般的商用自然语言处理的应用来说,词典的大小一般在30000到50000之间,也有百万级甚至是更大的词典
    • 构建字典后,将数据集中的单词使用one-hot向量表示法表示:
      • 即数据中在字典中的位置表示为1,而其余位置标为0.

[DeeplearningAI笔记]序列模型1.1-1.2序列模型及其数学符号定义的更多相关文章

  1. [DeeplearningAI笔记]ML strategy_1_3可避免误差与改善模型方法

    机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.8 为什么是人的表现 今天,机器学习算法可以与人类水平的表现性能竞争,因为它们在很多应用程序中更有生产 ...

  2. [DeeplearningAI笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhu ...

  3. [DeeplearningAI笔记]序列模型1.7-1.9RNN对新序列采样/GRU门控循环神经网络

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.7对新序列采样 基于词汇进行采样模型 在训练完一个模型之后你想要知道模型学到了什么,一种非正式的方法就是进行一次新序列采 ...

  4. Deep Learning.ai学习笔记_第五门课_序列模型

    目录 第一周 循环序列模型 第二周 自然语言处理与词嵌入 第三周 序列模型和注意力机制 第一周 循环序列模型 在进行语音识别时,给定一个输入音频片段X,并要求输出对应的文字记录Y,这个例子中输入和输出 ...

  5. Coursera Deep Learning笔记 序列模型(一)循环序列模型[RNN GRU LSTM]

    参考1 参考2 参考3 1. 为什么选择序列模型 序列模型能够应用在许多领域,例如: 语音识别 音乐发生器 情感分类 DNA序列分析 机器翻译 视频动作识别 命名实体识别 这些序列模型都可以称作使用标 ...

  6. 机器学习&数据挖掘笔记_20(PGM练习四:图模型的精确推理)

    前言: 这次实验完成的是图模型的精确推理.exact inference分为2种,求边缘概率和求MAP,分别对应sum-product和max-sum算法.这次实验涉及到的知识点很多,不仅需要熟悉图模 ...

  7. Python机器学习笔记:深入理解Keras中序贯模型和函数模型

     先从sklearn说起吧,如果学习了sklearn的话,那么学习Keras相对来说比较容易.为什么这样说呢? 我们首先比较一下sklearn的机器学习大致使用流程和Keras的大致使用流程: skl ...

  8. [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)

    觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.11向量化 向量化是消除代码中显示for循环语句的艺术,在训练大数据集时,深度学习算法才变得高效,所以代码运行的非常快十分重要.所以在深度学 ...

  9. Caffe学习笔记(一):Caffe架构及其模型解析

    Caffe学习笔记(一):Caffe架构及其模型解析 写在前面:关于caffe平台如何快速搭建以及如何在caffe上进行训练与预测,请参见前面的文章<caffe平台快速搭建:caffe+wind ...

随机推荐

  1. HttpServlet 详解(基础)

    HttpServlet详解 大家都知道Servlet,但是不一定很清楚servlet框架,这个框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在java ...

  2. Python3 解压序列

    一 普遍情况: x,y,z = 1,2,3 print("x:",x) # x:1 print("y:",y) # y:2 print("z:&quo ...

  3. React 初学

    React.createClass({}); getInitialState,this.setState({}); {}解读代码块,外层不要加引号,比如onChange={this.handleCha ...

  4. 《Linux内核与分析》第五周

    20135130王川东 一.给MenuOS增加time和time-asm命令 命令:1.强制删除:rm menu -rf 2.克隆:git clone (后跟需要克隆数据所在的位置) 3.自动编译,自 ...

  5. Jmeter 中JDBC request 详解 !

    JDBC Request: 这个sampler可以向数据库发送一个jdbc请求(sql语句),它经常需要和JDBC Connection Configuration 配置元件一起配合使用. 目录: 一 ...

  6. Node.js系列——(4)优势及场景

    背景 之前几篇系列文章简单介绍了node.js的安装配置及基本操作: Node.js系列--(1)安装配置与基本使用 Node.js系列--(2)发起get/post请求 Node.js系列--(3) ...

  7. 【bzoj4321】queue2 dp

    题目描述 n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行:  现在想知道,存在多少方案满足沙茶们如此不苛刻的条件.  ...

  8. 【bzoj4027】[HEOI2015]兔子与樱花 树形dp+贪心

    题目描述 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它 ...

  9. Android Espresso(UI自动化测试)的搭建

    Espresso是Google官方提供的Android UI自动化测试的框架. 为什么叫Espresso(浓咖啡),好像是想让Android码农们轻松的写完自动化用例后能享受着咖啡,看着自动化测试&q ...

  10. BZOJ3620 似乎在梦中见过的样子(kmp)

    不是很懂为什么数据范围要开的这么诡异,想到正解都不敢写.用类似NOI2014动物园的方法,对每个后缀求出类似next的数组即可. #include<iostream> #include&l ...