神经网络与深度学习课程作业-4-循环神经网络与NLP

此贴仅做课程作业使用!!!按自己的理解对上课内容进行总结

1 一些预备

1.1 序列模型

分类问题与预测问题的区别

图像分类问题:当前输入->当前输出

时间序列预测问题:当前+过去输入->当前输出

 在预测的过程中保留一些对过去的观察总结h_{t},并且同时更新预测\widehat{x_{t}}与总结h_{t},构成序列模型。

序列模型
1.2 数据预处理

(1)特征编码

特征编码是将原始数据转换成机器学习算法可以处理的特征表示形式的过程。在特征编码中,原始数据的各种属性或特征被映射到数值化的形式,以便机器学习算法能够对其进行有效的处理和分析。常见的编码方式有:

        独热编码:将分类变量转换为二进制向量的形式,其中每个可能的类别对应一个二进制位,只有属于某个类别的位被设置为1,其余位被设置为0。
        标签编码:将分类变量转换为从0到N-1的整数形式,其中N是类别的数量。这种编码适用于某些机器学习算法,如决策树和随机森林。

(2)文本处理

文本处理是对文本数据进行预处理、分析、理解和转换的过程。它是自然语言处理(NLP)的一个重要组成部分,涉及到从原始文本中提取信息、进行文本挖掘、文本分类、文本生成等各种任务。常见的处理方式有:

        按字母处理:

        按单词处理:

1.3 文本预处理

一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 我们将解析文本的常见预处理步骤。 这些步骤通常包括:

  1. 将文本作为字符串加载到内存中。
  2. 将字符串切分为词元(如单词和字符)。
  3. 建立一个字典,将拆分的词元映射到数字索引。
  4. 将文本转换为数字索引序列,方便模型操作。
1.4 词嵌入

词嵌入是一种词的类型表示,具有相似意义的词具有相似的表示,是将词汇映射到实数向量的方法总称。将词映射为向量比较直接的想法是使用独热向量:

但是这样的编码维数过高,因此可以将独热向量映射为低维向量:

原始向量:𝑣维;映射后:𝑑维,𝑑 ≪ 𝑣
映射矩阵:𝑑 × 𝑣 , 根据训练数据学习得到

2 RNN

2.1 RNN模型

RNN背后的想法是利用顺序信息。RNN被称为"循环",因为它们对序列的每个元素执行相同的任务,输出取决于先前的计算。考虑RNN的另一种方式是它们有一个“记忆”,它可以捕获到目前为止计算的信息。理论上,RNN可以利用任意长序列中的信息,但实际上它们仅限于回顾几个步骤。下面是典型的RNN网络在某一时刻展开的样子:

 2.2 RNN误差反传

每个时间步的隐状态和输出可以写为:

通过一个目标函数在所有𝑇个时间步内 评估输出𝑜𝑡 和对应的标签𝑦𝑡 之间的差异:

按照链式法则:

 ℎ𝑡 既依赖于ℎ𝑡−1 ,又依赖于𝑤ℎ , 其中ℎ𝑡−1 的计算也依赖于𝑤ℎ 。因此,用链式法则产生:

使用下面的公式移除循环计算:

我们可以在𝜏步后截断上页式中的求和计算。

3 其他循环神经网络

3.1 门控循环单元(GRN)

门控循环单元的基本思想是:不是每个观察都同等重要。引入关注机制与遗忘机制。

GRN基本结构

其中:

 

其中:

 其中:

3.2长短期记忆网络(LSTM)
LSTM模型

(1)传送带:新引入状态记忆

(2)遗忘门

(3) 输入门

𝑖𝑡 确定传送带 𝐶𝑡 的那些值被更新

新值 𝐶𝑡 加到𝐶𝑡−1 上 

 (4)计算传送带更新值

(5)输出门

(6)更新状态

3.3 深度循环神经网络
具有𝑳个隐含层的深度循环神经网络

3.4 双向循环神经网络
双向循环神经网络模型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值