NLP三大特征提取器全梳理:RNN vs CNN vs Transformer
机器之心原创 编辑:陈萍 在进行 NLP 模型训练前,请先选择一个好的特征提取器。 在上一篇文章中我们介绍了自然语言处理的基础问题——文本预处理的常用步骤。本文将进阶讲述特征提取方面的相关算法。 如果用一句话总结目前 NLP 在特征提取方面的发展趋势,那就是「RNN 明日黄花,正如夕阳产业,慢慢淡出舞台;CNN 老骥伏枥,志在千里,如果继续优化,还可能会大放异彩;Transformer 可谓如日中天,在特征提取方面起着中流砥柱的作用」。至于将来,又会有什么算法代替 Transformer,成为特征提取界的新晋宠儿。我想一时半会儿可能不会那么快,毕竟算法开发可是个很漫长的过程。 现在我们就来探究一下,在 NLP 特征提取方面,算法是怎样做到一浪更比一浪强的。 RNN(循环神经网络) RNN 与 CNN(卷积神经网络)的关键区别在于,它是个序列的神经网络,即前一时刻的输入和后一时刻的输入是有关系的。 RNN 结构 下图是一个简单的循环神经网络,它由输入层、隐藏层和输出层组成。 RNN 的主要特点在于 w 带蓝色箭头的部分。输入层为 x,隐藏层为 s,输出层为 o。U 是输入层到隐藏层的权重,V 是隐藏层到输出层的权重。隐藏层的值 s 不仅取决于当前时刻的输入 x,还取决于上一时刻的输入。权重矩阵 w