转载自:https://cloud.tencent.com/developer/news/340619
神经网络算法:
- 多通道卷积神经网络(multi_channel_CNN)
- 深度卷积神经网络(deep_CNN)
- 基于字符的卷积神经网络(Char_CNN)
- 循环与卷积神经网络并用网络(LSTM_CNN)
- 树状循环神经网络(Tree-LSTM)
- Transformer(目前常用于NMT)
多通道卷积神经网络
最刚开始的分类其实就是embedding层之后直接经过线性层进行降维,将其映射到分类上
然后因为参数太多,计算太慢,所以产生了pooling池化层,取指定维度的一个参数代表整个维度,从而大大降低了计算量,而且效果还不错。
之后又有人想到没有充分的利用到句子的上下词语的关系,所以就讲图像算法的CNN运用到了NLP上,这个就相当于NLP里的n-gram(unigram,bigram,trigram...)一样,寻找相邻词语组合形成的特征。
有了上面的基础,我们引出multi_channel_CNN就容易多了。
multi_channel_CNN 多通道卷积神经网络,就是CNN中的一次性卷积要处理的多少组数据。比如图像中,如果是只有灰度值的图像就只有一个通道,如果是彩色图片的话,就会RGB三个图像(也就是三个通道)。那么NLP中怎么利用这个多通道特征呢?有人就想了NLP中不就一个句子长度 * embed维度组成的一个二维输入吗?是这样的,刚开始我们用的都是单通道的。
但是有人就提出了这样的想法:
初始化两个不同的embedding,将句子用两个embedding表示出来,这样就可以有两个通道了。
时间确实是这样的,但是我们常用的是一个是随机初始化的embedding,另一个是使用预训练embedding(w2v or GloVe ...)。