RNN|看完发现RNN原来是这样,机器学习人门贴送上( 二 )


本文插图

从这个表格看出 , 我们将使用“多对一”的RNN类型 。
RNN|看完发现RNN原来是这样,机器学习人门贴送上
本文插图

每个输入x都将是一个向量 , 代表文本中的一个单词 。
而输出y则是一个包含两个数字的向量 , 一个代表正数 , 一个代表负数 , 然后应用Softmax将这些值转化为概率 , 并最终得出正负 。
预处理
首先 , 我们要先进行一些预处理——将数据集转化为可用的格式 。 因为RNN暂且还不能识别单词 , 所以 , 我们需要构建一个所有单词的词汇表 , 并给它编号 。
在词汇表中 , 有18个单词 , 那就意味着每一个单词是一个x , 那么输入就是一个18维的向量 。
训练RNN
接下来 , 就是按照原始RNN所需的3个权重 , 与2个偏差开始 。
就是我们前面见过的公式 。
RNN|看完发现RNN原来是这样,机器学习人门贴送上
本文插图

就像此前训练CNN一样 , 训练RNN , 首先需要一个损失函数 。
此次将使用交叉熵损失与Softmax联合计算:
RNN|看完发现RNN原来是这样,机器学习人门贴送上
本文插图

(其中c表示某个文本标签 , 比如 correct)
举个例子 , 如果一个肯定文本测试显示有90%的概率是肯定的 , 那么它的损失函数是:
RNN|看完发现RNN原来是这样,机器学习人门贴送上
本文插图

计算了损失函数以后 , 就要利用梯度下降的训练来减小损失 。
接下来 , 就涉及到多变量演算 , 计算思路跟之前的一样 , 只是具体计算公式有所不同 。 详情就戳下方链接 。
训练之后 , 别忘了 , 还需要进行一番测试哦~
【RNN|看完发现RNN原来是这样,机器学习人门贴送上】好了 , 今天有关RNN介绍 , 就到这里了 。


推荐阅读