目录
自然语言处理(NLP)是人工智能领域中一个重要的分支,它的目的是让计算机能够理解和处理人类语言,而特征提取是让计算机理解和处理人类语言时必不可少的过程,除了数据的因素,一个特征抽取器是否适配问题领域的特点,有时候决定了它的成败,而很多模型改进的方向,其实就是改造得使得它更匹配领域问题的特性(引自张俊林老师的文章)。
下面本文从基本结构、工作原理、优缺点和适用场景具体介绍一下这三个主要的特征提取器
一 、RNN
循环神经网络或递归神经网络。顾名思义,RNN在处理序列信息时(比如一段文本)是递归进行,即下一时刻的处理依赖于上一时刻的结果。
即:不同于传统的神经网络结构,RNN隐藏层之间的节点不再无连接而是有连接的。
1.RNN单个cell的结构
可以看到当前时刻的输出 y^t 和隐藏层状态 a^t 依赖于当前时刻的输入 x^t 和上一时刻的隐藏层状态 a^t-1
2.RNN工作原理
其中一个cell对应于RNN单个细胞的结构,对于上图中的文本翻译问题,输出接收最后一层每个时刻隐藏层的状态,但是对于分类问题,输出只接受最后一层最后一个时刻的隐藏层状态。
3.RNN优缺点
-
优点:
- RNN能够有效地处理序列数据
- 由于权重共享,RNN在内存使用上比全连接网络高效
-
缺点
- 梯度消失和梯度爆炸: 在学习长序列时,RNN容易遇到梯度消失或梯度爆