文本特征抽取利用深度学习自动发现特征的优势,学习到对最终任务有用的特征。
nlp任务特征:
1.序列输入,前后依赖
2.输入不定长
3.位置敏感
卷积 -> 池化 -> 全连接
局部感知,参数共享,并行化,速度快
卷积神经网络在图像中应用
局部特征:N-Gram
无法捕捉长距离特征
卷积神经网络在文本中应用
Dilated CNN为传统CNN的filter增加了一个dilation width,作用在输入矩阵的时候,会skip所有dilation width中间的输入数据;而filter本身的大小保持不变,这样filter获得到了更广阔的输入矩阵上的数据,看上去就像’膨胀’了一般。
长期依赖问题:RNN可以通过中间状态保存上下文信息,作为输入影响下一时序的预测。
编码:可以将可变输入编码成固定长度的向量。和CNN相比,能够保留全局最优特征。
长短期记忆是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。
RNN缺点:序列依赖 -> 并行计算能力差
人类利用有限的注意力资源从大量信息中快速筛选出高价值信息
深度学习中的注意力机制狠心目标也是从众多信息中选择出对当前任务目标更关键的信息
Encoder:对输入句子Source进行编码,将输入句子通过非线性变换转化为中间语义表示C。
Decoder:根据句子Source的中间语义表示C和之前已经生成的历史信息来生成下一时刻要生成的信息
注意力分配概率分布值的通用计算
Attention模型看做是输出Target举止中某个单词和输入Source句子每个单词的对其模型
self-Attention : Q=K=V
Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text { Attention }(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V Attention (Q,K,V)=softmax(dk QKT)V
利用注意力机制来"动态"地捕捉输入支之间的联系,从而处理变长的信息序列。
Attention Is All You Need
1.扩展模型专注于不同位置的能力
2.注意力层的多个"表示子空间"
增加位置信息,三角函数可以让不同位置的位置编码相互线性表示。
残差连接可以堆叠transformer block
深度网络提起从底层到高层的语义信息
层归一化:对一个样本,不同的神经元间做归一化,稳定梯度,加速训练
语义特征提取能力
Transformer >> CNN = RNN
长距离特征捕获能力
Transformer >> RNN >> CNN
任务综合特征抽取能力
Transformer >> CNN = RNN
并行计算能力及运行效率
Transformer = CNN >> RNN