深度学习在自然语言处理中的算法与挑战
1. 深度学习经典算法
1.1 循环神经网络(Recurrent Neural Networks)
循环神经网络是基于“人类认知基于经验和记忆”的观点提出的。它不仅考虑前一时刻的输入,还赋予神经网络对先前内容的“记忆”功能,即序列的当前输出也与早期的输出相关。具体表现为网络会记住上一次的信息并应用于当前输出的计算。隐藏层之间的节点不再是无连接的,而是相互连接的,并且隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。
1.2 Seq2Seq模型
Seq2Seq是一种序列到序列的模型,其任务主要有两个特点:一是输入和输出的长度可变;二是输入和输出元素之间存在顺序关系,这种情况通常出现在机器翻译任务中。例如,将中文句子翻译成英文,英文句子的长度可能比中文句子短,也可能比中文句子长。
Seq2Seq模型由编码器和解码器组成。编码器将序列编码为一个固定长度的向量,该向量可以映射序列的整体特征,这里称为语义向量;解码器将编码器得到的固定长度向量恢复为相应的序列数据,通常使用与编码器相同的结构。获取语义向量的最简单方法是直接使用最后一个输入的隐藏状态作为语义向量,或者改变最后一个隐藏状态得到语义向量,也可以改变输入序列的所有隐藏状态得到语义向量。
Seq2Seq模型的主要缺点有两个方面:
- 从编码到解码的准确性在很大程度上依赖于固定长度的语义向量。从输入序列到语义向量的压缩过程中存在信息丢失的问题,在稍长的序列中,开头的输入信息很容易被后面的输入信息覆盖。
- 在解码过程中,每个时刻输出所使用的上下文向量是相同的,没有区别,即预测结果中每个单词时所使用的预
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



