循环序列模型-1

本文来自于网易云课堂

为什么选择序列模型

这里写图片描述

数学符号

这节课从了解数学符号开始一步步进行构建序列模型。假如你想建立一个能够自动识别句中人名位置的序列模型,那么这就是一个命名实体识别问题,常用语搜索引擎。现在给定这样一个输入x,假如你想要序列模型输出y,1代表是一个人名的一部分,0代表不是。
Tx和Ty分别表示x,y的长度。
x ( i ) < t > 表示第i个样本的t个元素
T x ( i ) 表示第i样本的长度
对于DLP,natural language processing来说,一个序列中的单词该怎么表示呢?想要表示一个句子中的单词,第一件事就是做一个词典,对于一般的商业词典30000到50000个单词的词典基本上差不多了,但是100000的也不是没有,而且有些大型互联网公司会用百万词。这里我们用10000词来做说明。one-hot是一种表示方法,即把词典中的对应元素置位1,其他为0。也就是说,每个单词都是10000维的。 如果你碰到一个不再词表的单词那么就在词表中做一个标记unknow word的伪造单词来表示。
这里写图片描述

循环神经网络模型

如何建立一个循环神经网络呢?一种方法是使用标准的神经网络,但结果表明这样做并不好。
这里写图片描述
主要有2个问题,一个是输入和输出在不同的例子中有不同的长度。即便你可以采用填充的方式使得长度一样,但是看起来也不是一种好的方式。第二个原因看起来更严重,一个像这样的单纯的神经网络并不共享从不同文本位置上学到的特征。具体来说,如果神经网络已经学到了一个人名,而如果在其他位置碰到同一个人名的话能够快速识别就很好了。并且采用这种方法的参数会无比巨大。
另一种方法是采用循环神经网络,这是什么意思呢?让我们首先建立一个循环神经网络,然用的是下一层的输出不仅取决于输入,还与上一层的激活值有关。
这里写图片描述
还有另一种表示方法,但是Andrew Ng认为这种方式不明确,所以就采用上图的分步式表示。
这里写图片描述
循环神经网络是从左到右扫描数据,同时每个时间步的参数也是共享的。循环网络的意思是在预测y3时不仅使用x3的信息,还是用x1和x2的信息。不过上面的序列的一个缺点是,它只使用了这个序列中之前的信息来做预测,但并没有使用后面的如x4,x5的信息做预测。
这里写图片描述
循环神经网络经常使用的激活函数是tanh有时也用relu。下面将公式进行简化,简化后的好处在于不必使用两个参数waa和wax,只需要使用一个参数wa即可。这样就可以简化我们的参数。
这里写图片描述

通过时间的反向传播

这节我们了解反向传播是如何在CNN中进行的。
这里写图片描述

不同类型的RNN

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u010132497/article/details/80109602