RNN与NLP

目录

数据处理基础:

处理文本信息(text -> sequence):

simple RNN模型:


这个教程的笔记:

RNN模型与NLP应用(1/9):数据处理基础_哔哩哔哩_bilibili

数据处理基础:

不能用标量表示类别特征。

可以用one-hot编码把一些类别特征变成数值向量。

处理文本信息(text -> sequence):

1. Tokenization(string->list):把文本变成列表,一个token是一个单词或者一个字符等。

2. 统计词频(建立一个dict):把每个单词映射到一个正整数(字典的key,value,key的个数叫词汇量)。把词频按从高到低排序,然后把词频换成index,从1开始数,然后保留常用词,去掉低频词(可能是人名或拼写错误),这样可以在ont-hot编码时向量的维度变小,减小计算量。

3. sequences:进行完第二步后,每个单词映射到一个正整数,这样一个文本用一个正整数的列表表示。

4. 如果有必要,进行one-hot编码:编码后向量的维度就是第二步字典中的词汇量。

5. 将列表对齐(alignment):每段文本信息的长度不一定一样,可以采取的一种措施是取一个固定值8,当长度小于8时,用0进行填充,当长度大于8时,只选取最后8个。

6. word-embedding(词嵌入):把one-hot编码的向量用一个参数矩阵变成一个低维向量。

simple RNN模型:

RNN适用于文本、语音、时序序列等信息,按照顺序读取每一个词向量。

不如以前流行,如果训练数据足够多,效果不如transformer。在小规模上很有用。

  • Simple RNN很擅长short term dependence,而不擅长long term dependence。第100个输出的状态h_{100}与第一个输入x_{1}几乎没有关系了,这显然是不合理的。

RNN中,在状态h中积累看到过的信息,h_t可理解为RNN从整个序列中抽取到的特征向量,积累了之前看到的所有x_t的信息.

新的状态h_t是旧的状态h_{t-1}和新的输入x_t的tanh函数(双曲正切),它还依赖于矩阵A。

神经网络的模型参数是矩阵A,可能还有一个intercept参数向量b,参数矩阵A随机初始化之后再循环中不断学习更新。

参数矩阵的维度是shape(h)×(shape(h)+ shape(x))。simple RNN只有一个参数矩阵,不管这个时序有多长。

参数矩阵:A

下一个状态:h_t

上一个状态:h_{t-1}

新输入的词向量(特征):x_t

 LSTM模型:

LSTM可避免梯度消失的问题,可以有更长的记忆。

LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个 pointwise 乘法操作。

使用了一个“传送带”来获得比simple RNN更长的记忆。

包含了三个模块:

遗忘门:输出f_t

记忆门:包括sigmoid和tanh两个层,分别输出i_t\tilde{c_t}

记忆门的作用是确定什么样的新信息被存放在细胞状态(也就是前面说的单元模块)中。记忆门包括两个部分:sigmoid,决定什么值需要更新;tanh,创建一个新的候选值向量,生成候选记忆。

针对遗忘门中丢弃的属性信息,在本单元模块找到相应的新的属性信息,添加进去,以补充丢弃的属性信息。

输出门:

输出o_t:决定从传送带c_{t-1}h_t(LSTM的输出,同时输入到下一个状态)

LSTM有四个参数矩阵:W_fW_iW_cW_o、。

参数的数量:4×shape(h)×(shape(h)+ shape(x))。

参考:

Understanding LSTM Networks -- colah's blog

[译] 理解 LSTM(Long Short-Term Memory, LSTM) 网络 - wangduo - 博客园 (cnblogs.com)

The Unreasonable Effectiveness of Recurrent Neural Networks (karpathy.github.io)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值