循环神经网络-Question

1. 如何进行句子编码,提取句子的特征向量,有哪几种方式(CNN、LSTM、Attention),各种方式的优缺点。

CNN、LSTM、Transformer是目前流行的三大特征抽取器。

  • 长距离特征捕获能力:可以任务Transformer和LSTM在这方便能力差不多,而CNN则显著弱于前两者。(CNN提取长距离特征能力受到其卷积核感受野的限制;Transformer使用attention计算距离为1,而且使用Multi-Head越多,特征捕获能力越强。)
  • 并行计算能力:并行计算是RNN的严重缺陷,而Transformer和CNN差不多。

2. 介绍RNN、LSTM、GRU并比较。

RNN:

LSTM:
f_t=\sigma(W^f s_{t-1}+U^f x_t) \\ i_t=\sigma(W^i s_{t-1}+U^i x_t) \\ o_t=\sigma(W^o s_{t-1}+U^o x_t) \\ \tilde{c_t}=tanh(W^cs_{t-1}+U^cx_t) \\ c_t=f_t \circ c_{t-1} + i_t \circ \tilde{c}_t \\ s_t=o_t \circ tanh(c_t) \tag{2.2}

GRU:

总结:RNN存在长依赖问题(梯度消失:使用ReLU激活函数;或者梯度爆炸:使用梯度裁剪;)。LSTM使用三个门控单元(遗忘门、输入门、输出门)解决RNN存在的长依赖问题(主要是长依赖问题中的梯度消失问题。)。GRU简化了LSTM的结构,使用两个门控单元(更新门、重置门)

3. LSTM中输入、隐藏层、输出层的维度都一样吗?

输入的维度可以与隐藏层和输出不同。
https://www.cnblogs.com/wushaogui/p/9176617.html

4. LSTM中步长改变,参数改变吗?

LSTM的步长改变,对参数数量没有影响。

5. 估计一层LSTM的参数量。

对于LSTM来说,假设你有一个时间步特征维度是,经过该LSTM得到的维度是,这样就可以算出该LSTM层的神经元个数为:

from keras.layers import LSTM
from keras.models import Sequential

time_step=13
featrue=5
hidenfeatrue=10

model=Sequential()
model.add( LSTM(hidenfeatrue,input_shape=(time_step,featrue)))
model.summary()

输出是:

_________________________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================================
lstm_8 (LSTM)                (None, 10)                640       
=================================================================================
Total params: 640
Trainable params: 640
Non-trainable params: 0
_________________________________________________________________________________

6. textcnn和LSTM相比有什么不同?

textcnn是使用CNN做特征抽取的,提取方式类似于n-gram的特征,忽略了词序,所以在词序不敏感的场景效果较好。LSTM可以捕获序列信息,在情感分析这种词序很重要的场景中效果更好。

7. LSTM和GRU的区别,GRU具体简化了哪个门。

GRU(更新门、重置门)是LSTM(遗忘门、输入门、输出门)的变种,简化了LSTM的结构(记忆单元)

1. 如何做数据增强?

  • 随机drop和shuffle
    比如:“如何评价 2017 知乎看山杯机器学习比赛?”,drop后“如何 2017 看山杯机器学习”;shuffle后“2017 机器学习?如何比赛知乎评价看山杯”
  • 同义词替换
    例如,我们将句子“我非常喜欢这部电影”改为“我非常喜欢这个影片”
  • 回译
    我们用机器翻译把一段英语翻译成另一种语言,然后再翻译回英语。
  • 预训练的语言模型
  • 生成对抗网络

你可能感兴趣的:(循环神经网络-Question)