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