打字猴:1.700538692e+09
1700538692
1700538693 百面机器学习:算法工程师带你去面试 [:1700532227]
1700538694 百面机器学习:算法工程师带你去面试 01 循环神经网络和卷积神经网络
1700538695
1700538696
1700538697
1700538698 场景描述
1700538699
1700538700 用传统方法进行文本分类任务时,通常将一篇文章所对应的TF-IDF向量作为输入,其中TF-IDF向量的维度是词汇表的大小。使用前馈神经网络,如卷积神经网络对文本数据建模时,一般会如何操作?使用循环神经网络对文本这种带有序列信息的数据进行建模时,相比卷积神经网络又会有什么不同?
1700538701
1700538702 知识点
1700538703
1700538704 循环神经网络,前馈神经网络
1700538705
1700538706 问题 处理文本数据时,循环神经网络与前馈神经网络相比有什么特点?
1700538707
1700538708 难度:★☆☆☆☆
1700538709
1700538710 分析与解答
1700538711
1700538712 刚才提到,传统文本处理任务的方法中一般将TF-IDF向量作为特征输入。显而易见,这样的表示实际上丢失了输入的文本序列中每个单词的顺序。在神经网络的建模过程中,一般的前馈神经网络,如卷积神经网络,通常接受一个定长的向量作为输入。卷积神经网络对文本数据建模时,输入变长的字符串或者单词串,然后通过滑动窗口加池化的方式将原先的输入转换成一个固定长度的向量表示,这样做可以捕捉到原文本中的一些局部特征,但是两个单词之间的长距离依赖关系还是很难被学习到。
1700538713
1700538714 循环神经网络却能很好地处理文本数据变长并且有序的输入序列。它模拟了人阅读一篇文章的顺序,从前到后阅读文章中的每一个单词,将前面阅读到的有用信息编码到状态变量中去,从而拥有了一定的记忆能力,可以更好地理解之后的文本。图10.1展示了一个典型的循环神经网络结构[22]。
1700538715
1700538716
1700538717
1700538718
1700538719 图10.1 循环神经网络结构
1700538720
1700538721 由图可见,一个长度为T的序列用循环神经网络建模,展开之后可以看作是一个T层的前馈神经网络。其中,第t层的隐含状态ht编码了序列中前t个输入的信息,可以通过当前的输入xt和上一层神经网络的状态ht−1计算得到;最后一层的状态hT编码了整个序列的信息,因此可以作为整篇文档的压缩表示,以此为基础的结构可以应用于多种具体任务。例如,在hT后面直接接一个Softmax层,输出文本所属类别的预测概率y,就可以实现文本分类。ht和y的计算公式为
1700538722
1700538723 nett=Uxt+Wht−1 ,
1700538724
1700538725 (10.1)
1700538726
1700538727 ht=f(nett) ,
1700538728
1700538729 (10.2)
1700538730
1700538731 y=g(VhT) ,
1700538732
1700538733 (10.3)
1700538734
1700538735 其中f和g为激活函数,U为输入层到隐含层的权重矩阵,W为隐含层从上一时刻到下一时刻状态转移的权重矩阵。在文本分类任务中,f可以选取Tanh函数或者ReLU函数,g可以采用Softmax函数。
1700538736
1700538737 通过最小化损失误差(即输出的y与真实类别之间的距离),我们可以不断训练网络,使得得到的循环神经网络可以准确地预测文本所属的类别,达到分类目的。相比于卷积神经网络等前馈神经网络,循环神经网络由于具备对序列顺序信息的刻画能力,往往能得到更准确的结果。
1700538738
1700538739
1700538740
1700538741
[ 上一页 ]  [ :1.700538692e+09 ]  [ 下一页 ]