当前位置:   article > 正文

【深度学习】序列模型

【深度学习】序列模型

深度学习(Deep Learning)是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层中进行学习,这些层对应于越来越有意义的表示。

1. 为什么选择序列模型?

循环神经网络(RNN)之类的模型在语音识别、自然语言处理和其他领域中引起变革。我们先来了解一些例子,理解它们是如何有效适用序列模型的。

  • 语音识别:给定一个输入音频片段 x,并要求输出对饮的文字记录 y。这个例子里输入和输出数据都是序列模型,因为 x 是一个按时播放的音频片段,而输出 y 是一系列单词。
  • 音乐生成问题:只有输出数据 y 是序列,而输入数据可以是空集,也可以是个单一的整数,这个数可能指代你想要生成的音乐风格,也可能是你想要生成的那首曲子的头几个音符。输入的 x 可以是空的,或者就是个数字,然后输出序列 y。
  • 处理情感分类:输入数据 x 是序列,你会得到类似这样的输入:“There is nothing to like in this movie.”,你认为这句评论对应几颗星?
  • DNA序列分析:你的 DNA 可以用 A、C、G、T 四个字母来表示,所以给定一段 DNA 序列,你能够标记出哪部分是匹配某种蛋白质的吗?
  • 机器翻译:在机器翻译过程中,你会得到这样的输入句:“Voulez-vou chante avecmoi?”(法语:要和我一起唱吗?),然后要求你输出另一种语言的翻译结果。
  • 视频行为识别:可能会得到一系列视频帧,然后识别其中的行为。
  • 命名实体识别:可能会给定一个句子来识别出句中的人名。

这些问题都可以被称作使用标签数据(x,y)作为训练集的监督学习。从这一系列的例子中,可以看出序列问题有很多不同类型,有一些,输入数据 x 和输出数据 y 都是序列,也可能,x 和 y 会不一样长。或者 x 和 y 有相同的数据长度。在另一些问题里,只有 x 或者 只有 y 是序列。

以上就是适用于不同情况的序列模型,下一节中我们会定义一些定义序列问题要用到的符号。

2. 数学符号

我们从定义符号开始一步步构建序列模型。

例如,要建立一个序列模型,它的输入语句是:“Harry Potter and Herminoe Granger invented a new spell.”。假如要建立一个能够自动识别句中人名位置的序列模型,那么这就是以恶搞命名实体识别问题。命名实体识别系统可以用来查找不同类型的文本中的人名、公司名、时间、地点、国家名和货币名等等。

加入你想要一个序列模型输出 y,使得输入的每个单词都对应一个输出值,同时表明输入的单词是否是人名的一部分。

这个输入数据是 9 个单词组成的序列,所以最终我们会有 9 个特征集合来表示这 9 个单词,并按序列中的位置进行索引,x^{<1>}x^{<2>}x^{<3>} . . . x^{<9>}来索引不同的位置,x^{<t>}用来索引这个序列的中间位置。

输出数据也是如此,用y^{<1>}y^{<2>}y^{<3>} . . . y^{<9>}来表示输出数据。同时我们用T_{x}来表示输入序列的长度,这个例子中输入是 9 个单词,所以T_{x}=9 。我们用T_{y}来表示输出序列的长度。特别的,在这个例子里 T_{x}=T_{y} 。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/533512
推荐阅读
相关标签
  

闽ICP备14008679号