吴恩达深度学习课程要点和知识记录四(序列模型)

序列模型相关问题

  • 命名实体识别: 给一个句子,标记其中属于名称的单词。
  • 语音识别: 语音信号到文字的转换
  • 音乐生成: 给定开始的几个音符,生成一段音乐
  • 情感分类: 给定一段文本,判断消极或者积极。
  • 机器翻译: 给定一个语言的文本,翻译成另外一种语言
  • 视频动作识别: 给定一段视频,识别人物动作

循环神经网络(RNN)

上述问题中,使用简单的二分类方法或者多分类方法已经比较难来解决,因此研究者们提出循环神经网络(Recurrent Neural Network, 或者RNN)。

RNN的运行机理在于,它不是将文本一次性地输入到模型中,而是每一层神经网络输入一个单词,通过这种方式,使RNN适用于任意长度的文本。

RNN模型

具体的公式:
a < t > = g ( W a [ a < t − 1 > , x < t > ] + b a ) y ^ < t > = g ( W y a < t > + b y ) a^{<t>} = g(W_a[a^{<t-1>}, x^{<t>}] + b_a) \\ \hat{y}^{<t>} = g(W_ya^{<t>} + b_y) a<t>=g(Wa[a<t1>,x<t>]+ba)y^<t>=g(Wya<t>+by)

反向传播中,基于 y ^ < t > \hat{y}^{<t>} y^<t> y < t > y^{<t>} y<t>的cross entropy,即

L < t > ( y ^ < t > , y < t > ) = − y < t > l o g y ^ < t > − ( 1 − y < t > ) l o g ( 1 − y ^ t ) l o s s = ∑ L < t > L^{<t>}(\hat{y}^{<t>, y^{<t>}}) = -y^{<t>}log\hat{y}^{<t>} - (1-y^{<t>})log(1- \hat{y}^{t}) \\ loss = \sum L^{<t>} L<t>(y^<t>,y<t>)=y<t>logy^<t>(1y<t>)log(1y^t)loss=L<t>

不同的RNN可以通过修改输入和输出,适用于不同的问题。例如命名实体识别,是单词与输出一对一的RNN模型;机器翻译问题,则是编码器和解码器模型。

GRU和LSTM

RNN存在梯度消失的风险。例如以下文本:

The cat, which already ate fish, was full.
The cats, which already ate fish, were full.

RNN在处理上述两处文本时,对单词的处理主要受周围单词的影响,而不能解决距离较远的语义依赖问题,即梯度消失的问题。相对而言,梯度爆炸的问题是好解决的,当梯度超过某个阈值,对梯度向量进行尺度缩小即可。

GRU和LSTM的使用就是为了解决上述梯度消失的问题。它们的核心思想都是要将隐藏单元(hidden unit)的输出结果能够尽可能地传递到更远的神经网络层。

RNN的每一层都会输出一维向量 h h h,相当于神经网络中隐藏层输出的 a a a,这一维向量在研究论文中通常被称为RNN的隐藏状态。GRU和LSTM都引入了门(gate)的概念。门的作用在于控制RNN上一层的隐藏状态的不同分量是否传递到下一层,通过这种方式,实现文本之间的远距离依赖。

词嵌入(Word Embedding)

  • embedding等同于encoding,词嵌入是指对单词在低维空间进行编码。
  • 词嵌入基于有监督学习方法,基于单词之间的位置关系构建标签数据,以此,构建softmax分类器或二分类器,通过梯度下降方法,对embedding和分类器参数同时进行梯度下降。

机器翻译与beam search

机器翻译通过encoder-decoder 模型完成,encoder将一种语言的文本转化为多维向量输入到decoder,decoder生成另一种语言对应的文本。

机器翻译要实现的是基于上述encoder产生的多维向量,计算一个概率值最大的句子。但是机器翻译必须逐单词输出,如果使用贪婪算法,可能得到并不是最优解。采用beam search 算法解决此问题,每次产生一个单词,保留前 n n n个最有可能的句子。

Blue score

基于正确句子中的n-gram数量,与生成句子的n-gram进行对比,计算一个比值。

注意力机制

注意力机制的本质就是对RNN每一层生成的隐藏状态,施加权重(权重总和为1),得到的结果输入到一个decoder模型中。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值