模型发展
- NNLM(2003)
- FastText (2016),基于wordemdding(CBOW、skip-gram):
模型简单简单、快速,直接把句子对应的词向量相加求和平均作为input,用基于霍夫曼树的分层softmaxt。可以作为一个baseline版本模型
- TextCNN (2014),基于预训练word2vec模型用于句子的分类任务。
CNN通过多个不同filter 、size的卷积核做特征检测,得到多个特征映射feature map,然后再通过pooling对检测的特征进行筛选,过滤噪音,提取关键信息,用于文本的分类。
- DCNN (2014) 动态卷积网络
- GCNN (2017) 基于gate的CNN
CNN的本质是通过卷积运算和池化操作提取关键信息,比较擅长捕获原始语料的局部特征。
RNN:Recurrent,模型对每个元素执行相同的操作,当前时刻的计算依赖上一个时刻的计算结果。网络具有”记忆“功能
RNN因为是个序列模型,因此更加擅长时序信息和长距离的依赖。RNN比较符合人类语音的特性,理解文章每一个词都是基于前面已经看过读过的词。
模型举例
- LSTM
- Bi-LSTM:双向LSTM
- Seq2Seq:decoder encoder 机器翻译
- Attation Seq2Seq (引入注意力机制)
- 语言模型:对一个文本序列,根据前面的单词预测下一个单词的概率
- 机器翻译:基于源语言的词序列,输出目标语言的词序列
- 语言识别:
- 图像描述生成:需要结合CNN获取图片的特征,作为模型的一部分来生成标注图像的描述信息
CNN和RNN二者各有千秋,主要看应用场景。