《深度学习》:循环神经网络I

循环神经网络(RNN)在处理序列数据时展现出强大的记忆能力,尤其适用于语言模型和时间序列预测。本文介绍了RNN的基本结构、随时间反向传播(BPTT)的训练方法,并探讨了其在语言模型和槽填充问题中的应用。通过BPTT,RNN解决了传统N-Gram模型存在的局限性,能够捕获长距离的依赖关系。
摘要由CSDN通过智能技术生成

《深度学习》课程资料
第7讲 循环神经网络I
–网络记忆能力
–循环神经网络(RNN)
–随时间反向传播(BPTT)
–双向循环神经网络

1 引言

全连接神经网络和卷积神经网络都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。
比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列;当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。这时,就需要用到深度学习领域中另一类非常重要神经网络:循环神经网络(Recurrent Neural Network)。

语言模型

RNN是在自然语言处理领域中最先被用起来的,比如,RNN可以为语言模型来建模,机器翻译等。当然也用于时间序列分类预测等问题。
那么,什么是语言模型呢?

我们可以和电脑玩一个游戏,我们写出一个句子前面的一些词,然后,让电脑帮我们写下接下来的一个词。比如下面这句:

我昨天上学迟到了,老师批评了____。

我们给电脑展示了这句话前面这些词,然后,让电脑写下接下来的一个词。在这个例子中,接下来的这个词最有可能是『我』,而不太可能是『小明』,甚至是『吃饭』。

语言模型就是这样的东西:给定一个一句话前面的部分,预测接下来最有可能的一个词是什么。

语言模型是对一种语言的特征进行建模,它有很多很多用处。比如在语音转文本(STT)的应用中,声学模型输出的结果,往往是若干个可能的候选词,这时候就需要语言模型来从这些候选词中选择一个最可能的。当然,它同样也可以用在图像到文本的识别中(OCR)。

使用RNN之前,语言模型主要是采用N-Gram。N可以是一个自然数,比如2或者3。它的含义是,假设一个词出现的概率只与前面N个词相关。我们以2-Gram为例。首先,对前面的一句话进行切词:

我 昨天 上学 迟到 了 ,老师 批评 了 ____。

如果用2-Gram进行建模,那么电脑在预测的时候,只会看到前面的『了』,然后,电脑会在语料库中,搜索『了』后面最可能的一个词。不管最后电脑选的是不是『我』,我们都知道这个模型是不靠谱的,因为『了』前面说了那么一大堆实际上是没有用到的。如果是3-Gram模型呢,会搜索『批评了』后面最可能的词,感觉上比2-Gram靠谱了不少,但还是远远不够的。因为这句话最关键的信息『我』,远在9个词之前!

现在读者可能会想,可以提升继续提升N的值呀,比如4-Gram、5-Gram…。实际上,这个想法是没有实用性的。因为我们想处理任意长度的句子,N设为多少都不合适;另外,模型的大小和N的关系是指数级的,4-Gram模型就会占用海量的存储空间。

所以,该轮到RNN出场了,RNN理论上可以往前看(往后看)任意多个词。

李宏毅老师的一个例子

槽填充(Slot Filling)是现今比较常见的问题,例如在一个订票系统中,用户输入“我想本周六去北京”,需要填充槽(slot),目的地:北京,时间:2018.1.27

如何解决这个问题,考虑使用前馈神经网络(Feedforward network)。
在这里插入图片描述

比较常见的是使用1-of-N encoding方法将每一个单词表示成一个向量。

在这里插入图片描述
当然也有其他的改进版本。
在这里插入图片描述

但是问题是可能用户输入的是离开北京而不是去北京,这就要求北京是起点,而不是目的地。

显然解决此类问题要求网络是要有记忆(memory)的。

2 循环神经网络

下面开始正式介绍RNN的结构和原理及变种。

网络结构和原理

基本网络结构如下图:
在这里插入图片描述
“循环”体现在W上,在展开图中,当前时刻的输入不仅有输入数据还有上一时刻的变量。这个网络在t时刻接收到输入 [公式] 之后,隐藏层的值是 s t s_t st,输出值是 o t o_t ot。关键一点是, s t s_t st 的值不仅仅取决于 x t x_t xt ,还取决于 s t − 1 s_{t-1} st

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值